CE PLUS - Nota 007366

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AO CRIAR NF NÃO ATUALIZA TABELAS DO CE E DUPLICA VALORES DE IMPOSTOS

CORREÇÃO DO BATCH INPUT PARA NOTA FISCAL ELETRÔNICA

AO CRIAR E COLOCAR NÚMERO E SAIR DA NF, NFNUM FICA COM 9999.

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.

...