Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Datasul

Segmento:

Logística

Módulo:MWM - Warehouse Management System
Função:WMPRX379
País:Brasil
Ticket:11727206
Requisito/Story/Issue (informe o requisito relacionado) :

FSWSES-2277


02. DESCRIÇÃO

Ponto UPC para realizar validação específica

03. LOCALIZAÇÃO

Na procedure efetuaEstorno.

04. PARÂMETROS

1) Tabela temporário dos reportes de produção (rep-prod).

2) Tabela temporário com os erros (RowErrors).

05. RETORNO

Caso ocorra algum erro no específico, o processo será finalizado.

06. VERSÕES

12.1.31 ou superiores

08. EXEMPLO

Exemplo
/****************************************************************************************************************
** Cliente.....: Borrachas Vipal
** Programa....: wmprx379-upc.p
****************************************************************************************************************/
{include/i-epc200.i1} /*Defini»’o da temp-table tt-epc*/

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

DEFINE VARIABLE htt1                    AS HANDLE NO-UNDO.
DEFINE VARIABLE htt2                    AS HANDLE NO-UNDO.

DEFINE NEW GLOBAL SHARED VARIABLE l-g-cliente-vipal AS LOGICAL NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-wm0372a-upc     AS HANDLE NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-ttwm-docto-itens-ped-etiqueta  AS WIDGET-HANDLE  NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-ttWm-docto                     AS WIDGET-HANDLE  NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-ttWm-docto-itens               AS WIDGET-HANDLE  NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE l-especifico     AS LOGICAL  NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-tt-rep-prod    AS WIDGET-HANDLE  NO-UNDO.
DEFINE NEW GLOBAL SHARED VARIABLE h-tt-erro        AS WIDGET-HANDLE  NO-UNDO.

DEFINE VARIABLE h-i-sequen  AS WIDGET-HANDLE      NO-UNDO.
DEFINE VARIABLE h-cd-erro   AS WIDGET-HANDLE      NO-UNDO.
DEFINE VARIABLE h-mensagem  AS WIDGET-HANDLE      NO-UNDO.
                            
DEFINE VARIABLE hQTTErro      AS HANDLE NO-UNDO.
DEFINE VARIABLE hBTTErro      AS HANDLE NO-UNDO.
DEFINE VARIABLE hQTTRepProd   AS HANDLE NO-UNDO.
DEFINE VARIABLE hBTTRepProd   AS HANDLE NO-UNDO.
DEFINE VARIABLE l-encontrou AS LOGICAL     NO-UNDO.

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

   FIND FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "handle-tt-rep-prod" NO-ERROR.
   IF AVAIL tt-epc THEN DO:

       ASSIGN h-tt-rep-prod = WIDGET-HANDLE(tt-epc.val-parameter).
	   ASSIGN htt1 = h-tt-rep-prod:DEFAULT-BUFFER-HANDLE.
        
       CREATE BUFFER hBTTRepProd FOR TABLE htt1 BUFFER-NAME "tt-rep-prod".
       CREATE QUERY hQTTRepProd.
       hQTTRepProd:SET-BUFFERS(hBTTRepProd).
       IF VALID-HANDLE(hQTTRepProd) THEN
           ASSIGN hQTTRepProd:FORWARD-ONLY = YES.
       hQTTRepProd:QUERY-PREPARE("FOR EACH tt-rep-prod").
       hQTTRepProd:QUERY-OPEN.
       hQTTRepProd:GET-FIRST.

       DO WHILE NOT(hQTTRepProd:QUERY-OFF-END):

           ASSIGN l-encontrou = YES.

           hQTTRepProd:GET-NEXT.
       END.
       hQTTRepProd:QUERY-CLOSE.

       IF NOT l-encontrou THEN DO:

           FIND FIRST tt-epc
                WHERE tt-epc.cod-event     = p-ind-event
                  AND tt-epc.cod-parameter = "handle-tt-erro" NO-ERROR.
           IF AVAIL tt-epc THEN DO:
        
               ASSIGN h-tt-erro = WIDGET-HANDLE(tt-epc.val-parameter).
        	   ASSIGN htt2 = h-tt-erro:DEFAULT-BUFFER-HANDLE.
               
               CREATE BUFFER hBTTErro FOR TABLE htt2 BUFFER-NAME "tt-erro".
               CREATE QUERY hQTTErro.
               hQTTErro:SET-BUFFERS(hBTTErro).
               IF VALID-HANDLE(hQTTErro) THEN
                   ASSIGN hQTTErro:FORWARD-ONLY = YES.
               hQTTErro:QUERY-PREPARE("FOR EACH tt-erro").
               hQTTErro:QUERY-OPEN.
               hQTTErro:GET-FIRST.

              hBTTErro:BUFFER-CREATE().

              ASSIGN h-i-sequen  = hBTTErro:BUFFER-FIELD("i-sequen")
                     h-cd-erro   = hBTTErro:BUFFER-FIELD("cd-erro")
                     h-mensagem  = hBTTErro:BUFFER-FIELD("mensagem").
                                       
              ASSIGN h-i-sequen:BUFFER-VALUE  = 1
                     h-cd-erro:buffer-value   = 17006
                     h-mensagem:buffer-value  = "NÆo foi localizado Reporte para realizar o estorno.".

           END.
        END.
    END.

END.

RETURN "OK":U.