Descrição
Este ponto epc Envia Código da Transação e Informações do Documento de Entrada criado pelo SIGAGFE.
Ponto de Entrada - afterEfetivaDoc
Descrição: | Envia Código da Transação e Informações do Documento de entrada. | ||||||||||||||||||||
Localização: | Depois da efetivação do documento de frete no recebimento Datasul. | ||||||||||||||||||||
Eventos: | afterEfetivaDoc | ||||||||||||||||||||
Programa Fonte: | cdp/cdf433.i22 | ||||||||||||||||||||
Função: | CD0433 - Monitor de Integração SIGAGFE X Datasul CD0433RP - Integração RPW SIGAGFE X Datasul CDF433 - Integração batch SIGAGFE X Datasul | ||||||||||||||||||||
Parâmetro: |
| ||||||||||||||||||||
Retorno: | Não se aplica. |
Exemplo:
{include/i-epc200.i}
DEFINE INPUT PARAMETER p-ind-event AS CHARACTER NO-UNDO.
DEFINE INPUT-OUTPUT PARAMETER TABLE FOR tt-epc.
DEFINE VARIABLE cChave AS CHARACTER NO-UNDO.
DEFINE VARIABLE cTranAction AS CHARACTER NO-UNDO.
DEFINE VARIABLE iPosition AS INTEGER NO-UNDO.
DEFINE VARIABLE c-nat-operacao AS CHARACTER NO-UNDO.
IF p-ind-event = "afterEfetivaDoc" THEN DO:
FIND FIRST tt-epc NO-LOCK
WHERE tt-epc.cod-event = "afterEfetivaDoc":U
AND tt-epc.cod-parameter = "afterEfetivaDoc":U NO-ERROR.
IF NOT AVAIL tt-epc THEN
RETURN "NOK":U.
ASSIGN cChave = ENTRY(2,tt-epc.val-parameter,";")
cTranAction = ENTRY(1,tt-epc.val-parameter,";")
c-nat-operacao = ENTRY(3,tt-epc.val-parameter,";").
IF cTranAction <> "DEL" THEN DO:
DO iPosition = 2 TO NUM-ENTRIES(cChave,"#"):
/***** Documentos de Carga do Documento de Frete - GW4 *****/
IF STRING(ENTRY(1,ENTRY(iPosition,cChave,"#"),"|")) = "GW4":U THEN DO:
IF NOT CAN-FIND (FIRST esp-receb
WHERE esp-receb.cod-emitente = INT(TRIM(STRING(ENTRY(04,cChave,"|"))))
AND esp-receb.serie = TRIM(STRING(ENTRY(05,cChave,"|")))
AND esp-receb.nro-docto = TRIM(STRING(ENTRY(06,cChave,"|")))
AND esp-receb.serie-nf = TRIM(ENTRY(2,ENTRY(iPosition,cChave,"#"),"|"))
AND esp-receb.nr-nota-fis = TRIM(ENTRY(3,ENTRY(iPosition,cChave,"#"),"|"))
AND esp-receb.nat-operacao = c-nat-operacao) THEN DO:
CREATE esp-receb.
ASSIGN esp-receb.cod-estabel = TRIM(STRING(ENTRY(02,cChave,"|"))) /* GW3_FILIAL */
esp-receb.cod-emitente = INT(TRIM(STRING(ENTRY(04,cChave,"|")))) /* GW3_EMISDF */
esp-receb.serie = TRIM(STRING(ENTRY(05,cChave,"|"))) /* GW3_SERDF */
esp-receb.nro-docto = TRIM(STRING(ENTRY(06,cChave,"|"))) /* GW3_NRDF */
esp-receb.nr-nota-fis = TRIM(ENTRY(2,ENTRY(iPosition,cChave,"#"),"|")) /* GW4_NRDC */
esp-receb.serie-nf = TRIM(ENTRY(3,ENTRY(iPosition,cChave,"#"),"|")) /*GW4_SERDC*/
esp-receb.nat-operacao = c-nat-operacao
.
END.
END.
END.
END.
END.
RETURN "OK":U.