01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Datasul

Segmento:

Logística

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

FSWSES-2277


02. DESCRIÇÃO

Ponto UPC na criação da tabela temporária com os itens do documento (wm-docto-itens).

03. LOCALIZAÇÃO

Não se aplica.

04. PARÂMETROS

1) A tabela temporária com os itens do documento (wm-docto-itens).

2) A tabela temporária de documentos WMS (wm-docto).

3) Rowid da tabela etiqueta (wm-etiqueta).

4) Rowid da tabela de itens do pedido (wm-docto-itens-ped)

5) Quantidade do item

6) Quantidade do peso


05. RETORNO

Ponto do evento criacao-ttwm-docto-itens indica se o processo foi realizado de forma específica.

06. VERSÕES

12.1.31 ou superiores

08. EXEMPLO

/****************************************************************************************************************
**  Cliente.....: Borrachas Vipal
**  Programa....: wm9000-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 h-ttwm-docto-itens    AS HANDLE NO-UNDO.
DEFINE VARIABLE hQTTWmDocto           AS HANDLE NO-UNDO.
DEFINE VARIABLE hBTTWmDocto           AS HANDLE NO-UNDO.
DEFINE VARIABLE de-qde-item           AS DECIMAL   NO-UNDO.
DEFINE VARIABLE de-qde-peso           AS DECIMAL   NO-UNDO.
DEFINE VARIABLE r-wm-etiqueta         AS ROWID     NO-UNDO.
DEFINE VARIABLE r-wm-docto-itens-ped  AS ROWID     NO-UNDO.
DEFINE VARIABLE l-encontrou           AS LOGICAL   NO-UNDO.
DEFINE VARIABLE c-cod-estabel         AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-local           AS CHARACTER NO-UNDO.
DEFINE VARIABLE de-id-docto           AS DECIMAL   NO-UNDO.
DEFINE VARIABLE h-idDocto       AS WIDGET-HANDLE      NO-UNDO.  
DEFINE VARIABLE h-codEstabel    AS WIDGET-HANDLE      NO-UNDO.
DEFINE VARIABLE h-codLocal      AS WIDGET-HANDLE      NO-UNDO.

IF p-ind-event = "criacao-ttwm-docto-itens" THEN DO:

   FIND FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "rowid-wm-etiqueta" NO-ERROR.
   IF AVAIL tt-epc THEN DO:
       ASSIGN r-wm-etiqueta = to-rowid(tt-epc.val-parameter).
   END.

   FIND FIRST wm-etiqueta NO-LOCK
        WHERE ROWID(wm-etiqueta) = r-wm-etiqueta NO-ERROR.
   IF NOT AVAIL wm-etiqueta THEN
       RETURN "NOK":U.

   FIND FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "rowid-wm-docto-itens-ped" NO-ERROR.
   IF AVAIL tt-epc THEN DO:
       ASSIGN r-wm-docto-itens-ped = to-rowid(tt-epc.val-parameter).
   END.

   FIND FIRST wm-docto-itens-ped NO-LOCK
        WHERE ROWID(wm-docto-itens-ped) = r-wm-docto-itens-ped NO-ERROR.
   IF NOT AVAIL wm-docto-itens-ped THEN
       RETURN "NOK":U.

   FIND FIRST tt-epc
        WHERE tt-epc.cod-event     = p-ind-event
          AND tt-epc.cod-parameter = "valores-tt-wm-etiqueta" NO-ERROR.
   IF AVAIL tt-epc THEN DO:
       ASSIGN de-qde-item = DECIMAL(ENTRY(1,tt-epc.val-parameter,"|"))
              de-qde-peso = DECIMAL(ENTRY(1,tt-epc.val-parameter,"|")).
   END.

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

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

       l-encontrou = NO.

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

           ASSIGN h-idDocto       = hBTTWmDocto:BUFFER-FIELD("id-docto")
                  h-codEstabel    = hBTTWmDocto:BUFFER-FIELD("cod-estabel")
                  h-codLocal      = hBTTWmDocto:BUFFER-FIELD("cod-local").

           ASSIGN c-cod-estabel = h-codEstabel:BUFFER-VALUE       
                  c-cod-local   = h-codLocal:BUFFER-VALUE    
                  de-id-docto   = h-idDocto:BUFFER-VALUE.      

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

   END.
END.

RETURN "OK":U.