| Produto: | |
|---|
| Linha de Produto: | |
|---|
| Segmento: | |
|---|
| Módulo: | MWM - Warehouse Management System |
|---|
| Função: | wm9044 - Liberação Requisição estoque |
|---|
| País: | Brasil |
|---|
| Ticket: | 13926274 |
|---|
| Requisito/Story/Issue (informe o requisito relacionado) : | DLOGWMSDTS-6830 |
|---|
Ponto UPC para permitir determinar o endereço (id-box) em que o item será alocado.
Na criação do saldo alocado para o endereço.
| Nome | Tipo | Descrição |
|---|
localiza-id-box | char | Campos chave da tabela wms-box-sdo-alocad separados por "|" |
| handle-tt-wm-box | handle | Handle da temp-table tt-wm-box |
Este Ponto de Entrada não possui retornos.
12.1.32 ou superiores
{include/i-epc200.i} /*Defini‡Æo tt-EPC*/
def input param p-ind-event as char no-undo.
def input-output param table for tt-epc.
DEFINE VARIABLE r-rowid AS ROWID NO-UNDO.
DEFINE VARIABLE c-cod-estabel AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-local AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-cliente AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-item AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-refer AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-cod-lote AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-chave-docto AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-id-box AS CHARACTER NO-UNDO.
DEFINE VARIABLE h-ttwm-BOX AS HANDLE NO-UNDO.
DEFINE VARIABLE hQTTWmbox AS HANDLE NO-UNDO.
DEFINE VARIABLE hBTTWmBox AS HANDLE NO-UNDO.
DEFINE VARIABLE htt2 AS HANDLE NO-UNDO.
DEFINE VARIABLE h-id-box as WIDGET-HANDLE NO-UNDO.
DEFINE VARIABLE i-cont AS INTEGER NO-UNDO.
define temp-table ttwmbox no-undo
field id-box like wm-box.id-box
index tt_id is primary unique id-box.
IF p-ind-event = "localiza-id-box" THEN DO:
for each ttwmbox exclusive-lock:
delete ttwmbox.
end.
FIND FIRST tt-epc
WHERE tt-epc.cod-event = "localiza-id-box"
AND tt-epc.cod-parameter = "localiza-id-box" NO-LOCK NO-ERROR.
IF AVAIL tt-epc THEN do:
assign c-cod-estabel = entry(1,tt-epc.val-parameter,"|")
c-cod-local = entry(2,tt-epc.val-parameter,"|")
c-cod-cliente = entry(3,tt-epc.val-parameter,"|")
c-cod-item = entry(4,tt-epc.val-parameter,"|")
c-cod-refer = entry(5,tt-epc.val-parameter,"|")
c-cod-lote = entry(6,tt-epc.val-parameter,"|")
c-chave-docto = tt-epc.val-parameter.
End.
FIND FIRST tt-epc
WHERE tt-epc.cod-event = p-ind-event
AND tt-epc.cod-parameter = "handle-tt-wm-box" NO-ERROR.
IF AVAIL tt-epc THEN DO:
ASSIGN h-ttwm-BOX = WIDGET-HANDLE(tt-epc.val-parameter).
ASSIGN htt2 = h-ttwm-BOX:DEFAULT-BUFFER-HANDLE.
CREATE BUFFER hBTTWmBox FOR TABLE htt2 BUFFER-NAME "tt-wm-box".
CREATE QUERY hQTTWmBOX.
hQTTWmBOX:SET-BUFFERS(hBTTWmBox).
IF VALID-HANDLE(hQTTWmBOX) THEN
ASSIGN hQTTWmBOX:FORWARD-ONLY = YES.
hQTTWmBOX:QUERY-PREPARE("FOR EACH tt-wm-box").
hQTTWmBOX:QUERY-OPEN.
hQTTWmBOX:GET-FIRST.
DO WHILE NOT(hQTTWmBOX:QUERY-OFF-END):
hQTTWmBOX:GET-NEXT.
END.
hQTTWmBOX:QUERY-CLOSE.
for each tab-generica no-lock
where tab-generica.utilizacao = "esft001-idbox"
and tab-generica.char-1 = c-chave-docto:
DO i-cont = 1 TO NUM-ENTRIES(tab-generica.char-2, "|"):
if int(ENTRY(i-cont,tab-generica.char-2,"|")) = 0 then
next.
find first ttwmbox no-lock
where ttwmbox.id-box = int(ENTRY(i-cont,tab-generica.char-2,"|")) no-error.
if not avail ttwmbox then do:
create ttwmbox.
assign ttwmbox.id-box = int(ENTRY(i-cont,tab-generica.char-2,"|")).
end.
END.
end.
for each ttwmbox no-lock:
hBTTWmBox:BUFFER-CREATE().
ASSIGN h-id-box = hBTTWmBox:BUFFER-FIELD("id-box").
ASSIGN h-id-box:BUFFER-VALUE = ttwmbox.id-box.
end.
end.
END.
return "OK":U.