Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Datasul

Segmento:

Logística

Módulo:SCBO
Função:BOSC118
País:Brasil
Ticket:10992834
Requisito/Story/Issue (informe o requisito relacionado) :

FSWSES-1586


02. DESCRIÇÃO

Ponto UPC para identificar necessidade de execução de regra específica para cliente Compactor.

03. LOCALIZAÇÃO

Não se aplica.

04. PARÂMETROS

Não se aplica.

05. RETORNO

Ponto de evento BeforeValidaEnderecoInventario com valor retorno = "NOK" sinaliza necessidade de lógica específica.

06. VERSÕES

12.1.34 ou superiores

08. EXEMPLO

Exemplo
{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-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 = "cod-local":        

        ASSIGN c-cod-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". 

    FFIND FIRST wm-box NO-LOCK 
         WHERE wm-box.cod-estabel  = c-cod-estabel                                                                    
           AND wm-box.cod-local    = c-cod-local
           AND wm-box.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.