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

06. VERSÕES

12.1.32 ou superiores

08. 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-rowid-wm-inventario-endereco  AS CHAR 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 = "rowid-wm-inventario-endereco":        

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

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

    FOR EACH wm-inventario-endereco 
       WHERE ROWID(wm-inventario-endereco) = TO-ROWID(c-rowid-wm-inventario-endereco):
        
        FIND FIRST wm-box OF wm-inventario-endereco NO-LOCK 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 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 DO:
                        ASSIGN tt-epc.val-parameter = "NOK". //ignora esse endereço para o inventário
                    END.
                END.
            END.
        END.
    END.
END.