Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 21/07/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:16:50
Descrição da Nota: ESTORNO DE NOTA FISCAL NO CE QUANDO DOCUMENTO JÁ ESTORNADO NO SAP
Sintoma
Quando é realizado o estorno no SAP por fora do PW.CE o programa de nota não permite eliminar o
registro do sistema PW.CE.
Solução
Ajustado os programas de nota fiscal para verificar se a nota já não foi estornada antes de executar
o batch input, caso a nota já esteja estornada exibe mensagem e considera como estorno realizado com
sucesso.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06996 Data: 21/07/2008 Hora: 15:05:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06996
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00058
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
05325 - 00001 - 7.0 - 00003 - NECESSÁRIA UMA EXIT AO ESTORNAR A NOTA FISCAL
----------------------------------------------------------------------------------------------------
ESTORNO DE NOTA FISCAL NO CE QUANDO DOCUMENTO JÁ ESTORNADO NO SAP
----------------------------------------------------------------------------------------------------
Palavras Chave:
ESTORNO - NOTA - FISCAL - CE - SAP - GLOBAL - REMESSA - COMPLEMENTAR
/PWS/SAPMZYCI016 - /PWS/SAPMZYCI029 - NFE - NF-E
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI029F01
REPT /PWS/SAPMZYCI016
REPT /PWS/SAPMZYCI029
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
READ TABLE itab_zyglt100 WITH KEY
zexit = 'DNF015' BINARY SEARCH.
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.
* >> Início da inclusão: FORM FILL_DATA_J1B3
CLEAR: j_1bnfdoc.
READ TABLE it_zycee005 INDEX 1.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-docnum.
IF NOT j_1bnfdoc-cancel IS INITIAL.
MESSAGE i015 WITH text-103 it_zycee005-docnum text-104
text-105.
ELSE.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B3'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = it_zycee005
t_campos = it_zycet004
t_zycet005 = it_zycet005
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM FILL_DATA_J1B3
ENDIF.
* << Fim da inclusão
ENDIF.
IF sy-subrc = 0 OR e_subrc EQ '4'.
LOOP AT itab_zycit042.
READ TABLE it_zycet005 WITH KEY tcode = text-030
tabela = text-014
cpochv = /pws/zycie041-nfglobal
tpmsg = 'S'.
* >> Início da exclusão: FORM FILL_DATA_J1B3
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATA_J1B3
IF sy-subrc EQ 0 OR
NOT j_1bnfdoc-cancel IS INITIAL.
* << Fim da inclusão
IF ( v_modalidade NE '99' ) OR
( v_modalidade = '99' AND v_apaga NE 'X' )
AND ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' ).
DELETE FROM /pws/zycit041
WHERE nrseq = /pws/zycie041-nrseq
AND nfglobal = /pws/zycie041-nfglobal
AND docnum = v_valor.
DELETE FROM /pws/zycit042
WHERE nrseq = itab_zycit042-nrseq
AND nfglobal = itab_zycit042-nfglobal
...
...
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
v_tiponf = 'NFR'.
IF e_subrc EQ 0.
* >> Início da inclusão: FORM FILL_DATA_J1B3_R
CLEAR: j_1bnfdoc.
READ TABLE it_zycee005 INDEX 1.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-docnum.
IF NOT j_1bnfdoc-cancel IS INITIAL.
MESSAGE i015 WITH text-103 it_zycee005-docnum text-104
text-105.
ELSE.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B3'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = it_zycee005
t_campos = it_zycet004
t_zycet005 = it_zycet005
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM FILL_DATA_J1B3_R
ENDIF.
* << Fim da inclusão
ENDIF.
IF sy-subrc = 0 OR e_subrc EQ '4'.
LOOP AT itab_zycit044.
READ TABLE it_zycet005 WITH KEY tcode = text-030
tabela = text-025
cpochv = /pws/zycie043-nfremessa
tpmsg = 'S'.
* >> Início da exclusão: FORM FILL_DATA_J1B3_R
IF sy-subrc EQ 0 OR
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATA_J1B3_R
IF sy-subrc EQ 0 OR NOT j_1bnfdoc-cancel IS INITIAL OR
* << Fim da inclusão
( ( v_modalidade = '99' OR t001-land1 EQ 'AR'
OR t001-land1 EQ 'CL' ) AND /pws/zycie043-belnr_mr1m IS INITIAL ).
/pws/zycie043-cancel = 'X'.
UPDATE /pws/zycit043 SET cancel = /pws/zycie043-cancel
WHERE nrseq = /pws/zycie043-nrseq
AND nfglobal = /pws/zycie043-nfglobal
AND nfremessa = /pws/zycie043-nfremessa
AND docnum = v_valor.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI029F01
...
FORM fill_data_j1b3_c.
PERFORM clear_date_batch.
it_zycee005-tcode = text-019.
it_zycee005-tabela = text-004.
it_zycee005-cpochv = /pws/zycie264-nrseqc.
it_zycee005-nrseq = /pws/zycie264-nrseqc.
it_zycee005-docnum = v_valor.
APPEND it_zycee005.
* >> Início da inclusão: FORM FILL_DATA_J1B3_C
CLEAR: j_1bnfdoc.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-docnum.
IF NOT j_1bnfdoc-cancel IS INITIAL.
MESSAGE i015 WITH text-038 it_zycee005-docnum text-039
text-040.
ELSE.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B3'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = it_zycee005
t_campos = it_zycet004
t_zycet005 = it_zycet005
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM FILL_DATA_J1B3_C
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
LOOP AT itab_zycit265_c WHERE docnum = v_valor.
READ TABLE it_zycet005 WITH KEY tcode = text-019
tabela = text-004
cpochv = /pws/zycie264-nrseqc
tpmsg = 'S'.
* >> Início da exclusão: FORM FILL_DATA_J1B3_C
IF sy-subrc EQ 0.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATA_J1B3_C
IF sy-subrc EQ 0 OR
NOT j_1bnfdoc-cancel IS INITIAL.
* << Fim da inclusão
UPDATE /pws/zycit265 SET docnum = ' '
WHERE nrseq = itab_zycit265_c-nrseq
AND nrseqc = itab_zycit265_c-nrseqc
AND nrseqnf = itab_zycit265_c-nrseqnf
AND ebeln = itab_zycit265_c-ebeln
AND ebelp = itab_zycit265_c-ebelp
AND tpnf = itab_zycit265_c-tpnf
AND docnum = v_valor.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI016
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 103
Texto: (11 caracteres)
"Nota Fiscal"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 103
Texto: (13 caracteres)
"A nota fiscal"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 104
Texto: (42 caracteres)
"has been reversed in SAP, the program will"
Comprimento máximo: 72
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 104
Texto: (48 caracteres)
" já foi estornada no SAP, o programa realizará o"
Comprimento máximo: 72
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 105
Texto: (21 caracteres)
"reverse only in PW.CE"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 105
Texto: (23 caracteres)
"estorno apenas no PW.CE"
Comprimento máximo: 30
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCI029
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 038
Texto: (11 caracteres)
"Nota Fiscal"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 038
Texto: (13 caracteres)
"A nota fiscal"
Comprimento máximo: 15
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 039
Texto: (42 caracteres)
"has been reversed in SAP, the program will"
Comprimento máximo: 72
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 039
Texto: (48 caracteres)
" já foi estornada no SAP, o programa realizará o"
Comprimento máximo: 72
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: EN
Símbolo: 040
Texto: (21 caracteres)
"reverse only in PW.CE"
Comprimento máximo: 30
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 040
Texto: (23 caracteres)
"estorno apenas no PW.CE"
Comprimento máximo: 30