Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 18/08/2009 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:20:39
Descrição da Nota: NECESSÁRIO PONTO DE EXIT AO CRIAR NF DE CONTINGÊNCIA
Sintoma
não será atendido no produto
Solução
abertura de exit
exit NFC006 no programa /PWS/SAPMZYCI029 e DNF019 no programa /PWS/SAPMZYCI016
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08846 Data: 18/08/2009 Hora: 10:20:14
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08846
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00010
Agrupamento : 00110
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08787 - 00001 - 7.0 - 00010 - CRIADA MELHORIA DE NF DE CONTINGÊNCIA.
08820 - 00002 - 7.0 - 00010 - ESTÁ RECLAMANDO DE RECEBIMENTO QUANDO NÃO HÁ NF CRIADA.
----------------------------------------------------------------------------------------------------
NECESSÁRIO PONTO DE EXIT AO CRIAR NF DE CONTINGÊNCIA
----------------------------------------------------------------------------------------------------
Palavras Chave:
PONTO DE EXIT - ZYGLT100 - CONTINGENCIA - NFE - NF ELETRONICA
NF-E
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI029F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM nf_contingencia USING v_valor.
DATA: wa_zycie041 TYPE /pws/zycie041,
wa_zycie042 TYPE /pws/zycie042,
wa_zycie043 TYPE /pws/zycie043.
* >> Início da inclusão: FORM NF_CONTINGENCIA
e_subrc = 0.
REFRESH itab_zyglt100.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI016'
'DNF019'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'DNF019' BINARY SEARCH.
* << Fim da inclusão
IF NOT v_conting IS INITIAL.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ v_valor.
SELECT SINGLE * FROM j_1bnfdoc
INTO wa_j1bnfdoc
WHERE docnum EQ v_conting
AND cancel EQ space .
IF sy-subrc EQ 0.
IF v_campo EQ '/PWS/ZYCIE042-DOCNUM'.
* >> Início da inclusão: FORM NF_CONTINGENCIA
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND .
ENDIF.
IF e_subrc EQ 0.
* << Fim da inclusão
PERFORM consiste_msg.
MOVE : /pws/zycie041 TO wa_zycie041.
DELETE FROM /pws/zycit041
WHERE nrseq = /pws/zycie041-nrseq
AND nfglobal = /pws/zycie041-nfglobal
AND docnum = v_valor.
MOVE v_conting TO wa_zycie041-docnum.
LOOP AT itab_zycit042 WHERE docnum EQ v_valor.
IF itab_zycit042-docnum_cont IS INITIAL.
MOVE: itab_zycit042-docnum TO itab_zycit042-docnum_cont,
...
...
DELETE FROM /pws/zycit036
WHERE nrseq = itab_zycit036-nrseq
AND ebeln = itab_zycit036-ebeln
AND ebelp = itab_zycit036-ebelp
AND nrseqori = itab_zycit036-nrseqori
AND origem = 'NF'.
itab_zycit036-nrseqori = v_conting.
MODIFY itab_zycit036.
ENDLOOP.
MODIFY /pws/zycit036 FROM TABLE itab_zycit036[].
* >> Início da inclusão: FORM NF_CONTINGENCIA
ENDIF.
* << Fim da inclusão
ELSEIF v_campo EQ '/PWS/ZYCIE044-DOCNUM'.
PERFORM consiste_msg.
* >> Início da inclusão: FORM NF_CONTINGENCIA
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND .
ENDIF.
IF e_subrc EQ 0.
* << Fim da inclusão
MOVE : /pws/zycie043 TO wa_zycie043.
...
...
WHERE nrseqnf = itab_zycit044-nrseqnf
AND nrseq = itab_zycit044-nrseq
AND nfglobal = itab_zycit044-nfglobal
AND nfremessa = itab_zycit044-nfremessa
AND ebeln = itab_zycit044-ebeln
AND ebelp = itab_zycit044-ebelp.
ENDLOOP.
MODIFY :
/pws/zycit043 FROM wa_zycie043 ,
/pws/zycit044 FROM TABLE itab_zycit044[] .
* >> Início da inclusão: FORM NF_CONTINGENCIA
ENDIF.
* << Fim da inclusão
ENDIF.
COMMIT WORK.
ELSE.
MESSAGE i015 WITH text-112.
ENDIF.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029F01
...
FORM nf_contingencia USING v_valor.
TABLES /pws/zyglt217.
DATA wa_j1bnfdoc TYPE j_1bnfdoc.
DATA: wa_zycie265 TYPE /pws/zycie265.
* >> Início da inclusão: FORM NF_CONTINGENCIA
e_subrc = 0.
REFRESH itab_zyglt100.
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI029'
'NFC006'.
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY
zexit = 'NFC006' biNARY SEARCH.
* << Fim da inclusão
IF NOT v_conting IS INITIAL.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ v_valor.
SELECT SINGLE * FROM j_1bnfdoc
INTO wa_j1bnfdoc
WHERE docnum EQ v_conting.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM NF_CONTINGENCIA
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND .
ENDIF.
IF e_subrc EQ 0.
* << Fim da inclusão
LOOP AT itab_zycit265_c WHERE docnum EQ v_valor
AND docnum_cont NE space.
ENDLOOP.
IF sy-subrc EQ 0.
v_message = 'X' .
EXIT.
ENDIF.
IF v_conting LE v_valor .
SELECT SINGLE * FROM /pws/zyglt217
WHERE arbgb EQ '/PWS/ZYCIM'
...
...
DELETE FROM /pws/zycit265
WHERE nrseqnf = itab_zycit265_C-nrseqnf
AND nrseqc = itab_zycit265_c-nrseqc
AND nrseq = itab_zycit265_C-nrseq
AND ebeln = itab_zycit265_C-ebeln
AND ebelp = itab_zycit265_C-ebelp.
MODIFY itab_zycit265_c.
ENDLOOP.
MODIFY /pws/zycit265 FROM TABLE itab_zycit265_c[] .
COMMIT WORK.
* >> Início da inclusão: FORM NF_CONTINGENCIA
ENDIF.
* << Fim da inclusão
ELSE.
MESSAGE i015 WITH text-044.
ENDIF.
ENDIF.
ENDFORM.