Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagecpp
titleExemplo
linenumberstrue
collapsetrue
{include/i-prgvrs.i BOSC118-UPC 2.00.00.001 } /*** 010001 ***/
{include/i-epc200.i bosc118} /** Defini»’o tt-EPC **/

DEFINE INPUT PARAM p-ind-event AS CHARACTER NO-UNDO.
DEFINE INPUT-OUTPUT PARAM TABLE FOR tt-epc.

DEFINE VARIABLE c-rowid-wm-inventario-endereco  AS CHAR NO-UNDO.  

define variable c-cod-estabel       as char     no-undo.
define variable c-cod-local         as char     no-undo.
define variable de-id-box           as decimal  no-undo. 

IF p-ind-event = "BeforeValidaEnderecoInventario" THEN DO:      

	FOR FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "cod-estabel":        

        ASSIGN c-cod-estabel = tt-epc.val-parameter.
    END.

    FOR FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "rowid-wm-inventario-enderecocod-local":        

        ASSIGN c-rowid-wm-inventario-enderecocod-local = tt-epc.val-parameter.
    END. 

    FOR FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "id-box":        

        ASSIGN de-id-box = dec(tt-epc.val-parameter).
    END.       

	CREATE tt-epc.
    ASSIGN tt-epc.cod-event     = p-ind-event
           tt-epc.cod-parameter = "retorno". 

    FORFFIND EACHFIRST wm-inventariobox NO-enderecoLOCK 
         WHERE ROWID(wm-inventario-endereco)box.cod-estabel  = TO-ROWID(c-rowid-wm-inventario-endereco):
cod-estabel                                                                    
         FIND  FIRSTAND wm-box OF.cod-local    = c-cod-local
           AND wm-inventario-endereco NO-LOCKbox.id-box       = de-id-box NO-ERROR.

        IF AVAIL wm-box THEN DO:
               	//caso o endereço esteja bloqueado na tabela específica e com a flag de transferir saldo marcada -> desconsidera este endereço no inventário
            FIND LAST wm-endereco-bloq-esp NO-LOCK
                	WHERE wm-endereco-bloq-esp.cod-estabel  = wm-box.cod-estabel
                  AND wm-endereco-bloq-esp.cod-local    = wm-box.cod-local
                  AND wm-endereco-bloq-esp.id-box       = wm-box.id-box 
                  AND wm-endereco-bloq-esp.situacao     = "1" NO-ERROR.
        
            	IF AVAIL wm-endereco-bloq-esp THEN DO:
                	IF CAN-FIND (FIRST wm-motivo-esp NO-LOCK 
                             WHERE wm-motivo-esp.cod-motivo  = wm-endereco-bloq-esp.cod-motivo-bloq
                               AND wm-motivo-esp.trans-saldo = YES) THEN DO:
                    	ASSIGN tt-epc.val-parameter = "NOK". //ignora esse endereço para o inventário
                END.
            END.
        END.
    END.
END.