Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 29/09/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:18:23
Descrição da Nota: ATUALIZAÇÃO DE NUMERO DE NOTA PARA NF-E
Sintoma
Ao criar a nota fiscal eletronica interna o numero da nota fiscal não é atualizado na nota de
importação.
Solução
Ajustado programa para verificar o tipo de nota fiscal e utilizar o campo correto para atualização
do numero da nota fiscal.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07366 Data: 29/09/2008 Hora: 09:35:57
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07366
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00066
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02595 - 00003 - 6.0 - 00025 - AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOS
02988 - 00001 - 6.0 - 00026 - AO CRIAR E COLOCAR NÚMERO E SAIR DA NF, NFNUM FICA COM 9999.
07164 - 00002 - 7.0 - 00006 - CORREÇÃO DO BATCH INPUT PARA NOTA FISCAL ELETRÔNICA
----------------------------------------------------------------------------------------------------
ATUALIZAÇÃO DE NUMERO DE NOTA PARA NF-E
----------------------------------------------------------------------------------------------------
Palavras Chave:
ATUALIZA - NUMERO - NOTA - FISCAL - ELETRONICA
/PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI016I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F01
...
FORM carrega_zycie042_c.
* >> Início da inclusão: FORM CARREGA_ZYCIE042_C
DATA: t_fields(20) TYPE c VALUE 'J_1BNFDOC-NFENUM',
t_fields2(20) TYPE c VALUE 'J_1BNFDOC-NFE'.
FIELD-SYMBOLS: <nfenum> TYPE ANY,
<nfe> TYPE ANY.
* << Fim da inclusão
...
...
MOVE-CORRESPONDING itab_zycit042_c TO /pws/zycie042a.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum = itab_zycit042_c-docnum_c.
IF sy-subrc EQ 0.
itab_zycit042_c-nfnum_c = j_1bnfdoc-nfnum.
* >> Início da inclusão: FORM CARREGA_ZYCIE042_C
ASSIGN: (t_fields) TO <nfenum>,
(t_fields2) TO <nfe>.
IF sy-subrc EQ 0.
IF NOT <nfenum> IS INITIAL AND
NOT <nfe> IS INITIAL.
itab_zycit042_c-nfnum_c = <nfenum>.
ENDIF.
ENDIF.
* << Fim da inclusão
itab_zycit042_c-series_c = j_1bnfdoc-series.
ENDIF.
MOVE: itab_zycit042_c-nfnum_c TO /pws/zycie042a-nfnum_c,
itab_zycit042_c-series_c TO /pws/zycie042a-series_c,
itab_zycit042_c-subser_c TO /pws/zycie042a-subser_c.
CLEAR: itab_matuse_aux.
REFRESH: itab_matuse_aux.
IF NOT itab_zycit042_c[] IS INITIAL.
SELECT ebeln ebelp matnr FROM ekpo
INTO TABLE itab_matuse_aux
...
...
FORM atualiza_dados_nota.
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA
DATA: t_fields(20) TYPE c VALUE 'J_1BNFDOC-NFENUM',
t_fields2(20) TYPE c VALUE 'J_1BNFDOC-NFE'.
FIELD-SYMBOLS: <nfenum> TYPE ANY,
<nfe> TYPE ANY.
* << Fim da inclusão
...
...
IF sy-subrc EQ 0.
IF it_zycee005-belnr NE '0000000000'.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-belnr.
IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'
OR it_zycet005-belnr = '8888888888'.
/pws/zycie041-docnum = it_zycee005-belnr.
IF it_zycet005-belnr = '9999999999'.
/pws/zycie041-docnum = it_zycet005-belnr.
ENDIF.
IF it_zycet005-belnr = '8888888888'.
/pws/zycie041-docnum = it_zycet005-belnr.
ENDIF.
itab_zycit042-nfnum = /pws/zycie041-nfnum = j_1bnfdoc-nfnum.
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA
ASSIGN: (t_fields) TO <nfenum>,
(t_fields2) TO <nfe>.
IF sy-subrc EQ 0.
IF NOT <nfenum> IS INITIAL AND
NOT <nfe> IS INITIAL.
itab_zycit042-nfnum = /pws/zycie041-nfnum = <nfenum>.
ENDIF.
ENDIF.
* << Fim da inclusão
itab_zycit042-series = /pws/zycie041-series = j_1bnfdoc-series.
itab_zycit042-subser = /pws/zycie041-subser = j_1bnfdoc-subser.
/pws/zycie041-cancel = ' '.
CLEAR: /pws/zycie041-belnr_mr1m,
/pws/zycie041-mblnr_mb01,
/pws/zycie041-belnr_f_51,
/pws/zycie041-belnr_f_02,
/pws/zycie041-statusp_mr1m,
/pws/zycie041-statusp_mb01,
/pws/zycie041-statusp_f_51,
...
...
docnum = '9999999999' OR
docnum = '8888888888' )
AND mark = 'X'
AND processado = 'X'.
READ TABLE itab_matuse_aux WITH KEY ebeln = itab_zycit042-ebeln
ebelp = itab_zycit042-ebelp.
IF sy-subrc = 0.
MOVE itab_matuse_aux-matnr TO
itab_zycit042-matnr.
ENDIF.
* >> Início da exclusão: FORM ATUALIZA_DADOS_NOTA
MOVE: j_1bnfdoc-nfnum TO itab_zycit042-nfnum,
j_1bnfdoc-series TO itab_zycit042-series.
* << Fim da exclusão
MODIFY /pws/zycit042 FROM itab_zycit042.
UPDATE /pws/zycit003 SET tpnf = itab_zycit042-tpnf
WHERE nrseq = itab_zycit042-nrseq
AND ebeln = itab_zycit042-ebeln
AND ebelp = itab_zycit042-ebelp.
IF v_modalidade = '99' OR
( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).
UPDATE /pws/zycit043 SET docnumnfg =
/pws/zycie041-docnum
WHERE nrseq = /pws/zycie041-nrseq AND
...
...
FORM atualiza_dados_nota_r.
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA_R
DATA: t_fields(20) TYPE c VALUE 'J_1BNFDOC-NFENUM',
t_fields2(20) TYPE c VALUE 'J_1BNFDOC-NFE'.
FIELD-SYMBOLS: <nfenum> TYPE ANY,
<nfe> TYPE ANY.
* << Fim da inclusão
...
...
IF sy-subrc EQ 0.
IF it_zycee005-belnr NE '0000000000'.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum EQ it_zycee005-belnr.
IF sy-subrc EQ 0 OR it_zycet005-belnr = '9999999999'
OR it_zycet005-belnr = '8888888888'.
/pws/zycie043-docnum = it_zycee005-belnr.
IF it_zycet005-belnr = '9999999999'.
/pws/zycie043-docnum = it_zycet005-belnr.
ENDIF.
IF it_zycet005-belnr = '8888888888'.
/pws/zycie043-docnum = it_zycet005-belnr.
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA_R
ENDIF.
itab_zycit044-nfnum = j_1bnfdoc-nfnum.
itab_zycit044-series = j_1bnfdoc-series.
itab_zycit044-subser = j_1bnfdoc-subser.
ASSIGN: (t_fields) TO <nfenum>,
(t_fields2) TO <nfe>.
IF sy-subrc EQ 0.
IF NOT <nfenum> IS INITIAL AND
NOT <nfe> IS INITIAL.
itab_zycit044-nfnum = <nfenum>.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA_R
ENDIF.
* << Fim da inclusão
/pws/zycie043-nfnum = itab_zycit044-nfnum.
/pws/zycie043-series = itab_zycit044-series.
/pws/zycie043-subser = itab_zycit044-subser.
itab_zycit044-docnum = it_zycee005-belnr.
IF it_zycet005-belnr = '9999999999'.
itab_zycit044-docnum = it_zycet005-belnr.
...
...
/pws/zycie043-belnr_f_51,
/pws/zycie043-belnr_f_02, /pws/zycie043-statusp_mr1m,
/pws/zycie043-statusp_mb01, /pws/zycie043-statusp_f_51,
/pws/zycie043-statusp_f_02, /pws/zycie043-dt_mr1m,
/pws/zycie043-dt_mb01, /pws/zycie043-dt_f_51,
/pws/zycie043-dt_f_02,
/pws/zycie043-belnrf02seg, /pws/zycie043-dt_f02seg,
/pws/zycie043-belnrf02fre, /pws/zycie043-dt_f02fre.
MODIFY /pws/zycit043 FROM /pws/zycie043.
MODIFY itab_zycit044 TRANSPORTING docnum
* >> Início da inclusão: FORM ATUALIZA_DADOS_NOTA_R
nfnum series subser
* << Fim da inclusão
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
AND tpnf = itab_zycit044-tpnf.
MODIFY /pws/zycit044 FROM TABLE itab_zycit044.
v_sucesso = 'OK'.
COMMIT WORK.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016I01
...
MODULE atualiza_itab_zycit042_c INPUT.
* >> Início da inclusão: MODULE ATUALIZA_ITAB_ZYCIT042_C
DATA: t_nfenum(20) TYPE c VALUE 'J_1BNFDOC-NFENUM',
t_nfe(20) TYPE c VALUE 'J_1BNFDOC-NFE'.
FIELD-SYMBOLS: <nfenum1> TYPE ANY,
<nfe1> TYPE ANY.
* << Fim da inclusão
LOOP AT itab_zycit042_c.
SELECT SINGLE * FROM j_1bnfdoc
WHERE docnum = itab_zycit042_c-docnum_c.
IF sy-subrc EQ 0.
itab_zycit042_c-nfnum_c = j_1bnfdoc-nfnum.
* >> Início da inclusão: MODULE ATUALIZA_ITAB_ZYCIT042_C
ASSIGN: (t_nfenum) TO <nfenum1>,
(t_nfe) TO <nfe1>.
IF sy-subrc EQ 0.
IF NOT <nfenum1> IS INITIAL AND
NOT <nfe1> IS INITIAL.
itab_zycit042_c-nfnum_c = <nfenum1>.
ENDIF.
ENDIF.
* << Fim da inclusão
itab_zycit042_c-series_c = j_1bnfdoc-series.
ENDIF.
MODIFY itab_zycit042_c INDEX sy-tabix.
ENDLOOP.
ENDMODULE.
...