Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Datasul

Segmento:

Logística

Módulo:MWM
Função:WM2005
País:Brasil
Ticket:11377470
Requisito/Story/Issue (informe o requisito relacionado) :

FSWSES-2807


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 BeforeCriacaoBox sinaliza necessidade de lógica específica.

06. VERSÕES

12.1.32 ou superiores

08. EXEMPLO

Exemplo
{include/i-prgvrs.i WM2005RP-UPC 2.00.00.001 } /*** 010001 ***/
{include/i-epc200.i wm2005rp} /** 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   LIKE wm-box.cod-estabel     NO-UNDO.
DEFINE VARIABLE c-cod-local     LIKE wm-box.cod-local       NO-UNDO.
DEFINE VARIABLE de-id-box       LIKE wm-box.id-box          NO-UNDO.

IF p-ind-event = "BeforeCriacaoBox" 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". 

    FOR FIRST wm-box
        WHERE wm-box.cod-estabel  = c-cod-estabel
          AND wm-box.cod-local    = c-cod-local
          AND wm-box.id-box       = de-id-box:

        //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 NO-ERROR.

        IF AVAIL wm-endereco-bloq-esp THEN DO:
            IF wm-endereco-bloq-esp.situacao = "1" THEN DO: //endereço bloqueado
                IF CAN-FIND (FIRST wm-motivo-esp NO-LOCK 
                             WHERE wm-motivo-esp.cod-motivo  = wm-endereco-bloq-esp.cod-motivo
                               AND wm-motivo-esp.trans-saldo = YES) THEN 
                    ASSIGN tt-epc.val-parameter = "NOK". //ignora esse endereço para o inventário
            END.
        END.
    END.
END.