CE PLUS - Nota 006996

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

NECESSÁRIA UMA EXIT AO ESTORNAR A NOTA FISCAL

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