CE PLUS - Nota 009599

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal Remessa

Data/Hora da Publicação: 18/12/2009 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:23:04

Descrição da Nota: AO CRIAR NF REMESSA DE CARVÃO, NÃO GRAVA DOCNUM.

Sintoma

Ao criar nf remessa de carvão, não grava docnum.

 

 

Solução

Fazer a gravação de docnum normal para nf remessa de carvão.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

AO CRIAR NOTA FISCAL REMESSA AR OU CL PROCESSO ANA TENTAVA CRIAR J1B1N

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 09599 Data: 18/12/2009 Hora: 16:45:42

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 09599

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00002

Agrupamento              : 00001

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

09508  - 00001 - 8.0    - 00002  - AO CRIAR NOTA FISCAL REMESSA AR OU CL PROCESSO ANA TENTAVA CRIAR

----------------------------------------------------------------------------------------------------

AO CRIAR NF REMESSA DE CARVÃO, NÃO GRAVA DOCNUM.

----------------------------------------------------------------------------------------------------

Palavras Chave:

NF REMESSA - DOCNUM - PROCESSO DE CARVÃO.

 

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI017F01

REPS /PWS/MZYCI016F01

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

....

 

  PERFORM mensagens_nf_r.

 

  LOOP AT it_zycet004.

    MESSAGE i019 WITH it_zycet004-descricao.

  ENDLOOP.

 

  IF it_zycet004 IS INITIAL.

 

    PERFORM verifica_exit USING 'D'

                        '/PWS/SAPMZYCI016'

                        'DNF004'.

 

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY

          zexit = 'DNF004'  BINARY SEARCH.

    IF sy-subrc EQ 0.

      "Verifica se a Exit está ativa.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

        "Para verificar o tipo da NF e diferenciar seus

        "tratamentos

        v_tiponf = 'NFR'.

        EXPORT: v_modo_bi TO MEMORY ID 'MODOBI'  ,

                it_zycet004[] TO MEMORY ID 'CET004',

                it_zycet005[] TO MEMORY ID 'CET005',

                it_zycee006[] TO MEMORY ID 'CEE006'.

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

                (itab_zyglt100-programa) TABLES itab_zycit042_d

 

                                  itab_zycit044

                                  it_zycee005

                                  it_zycee007

                           USING  v_tiponf

                                  /pws/zycie043

                           CHANGING e_subrc

         IF FOUND.

         IMPORT :  it_zycet004[] FROM MEMORY ID 'CET004_04',

                   it_zycet005[] FROM MEMORY ID 'CET005_05',

                   it_zycee006[] FROM MEMORY ID 'CEE006_06'.

       ENDIF.

 

     ENDIF.

 

 

     IF e_subrc = '0'.

* >> Início da exclusão: FORM EXECUTAR_EVENTO

      IF v_modalidade = '99' OR

       ( t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' ).

 

        IF v_modalidade = '99'.

          it_zycet005-tcode  = text-065.

          it_zycet005-tabela = text-025.

          it_zycet005-cpochv = /pws/zycie043-nfremessa.

          it_zycet005-tpmsg  = 'S'.

          it_zycet005-belnr  = '9999999999'.

          APPEND it_zycet005.

        ELSEIF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

          it_zycet005-tcode  = text-065.

          it_zycet005-tabela = text-025.

          it_zycet005-cpochv = /pws/zycie043-nfremessa.

          it_zycet005-tpmsg  = 'S'.

          it_zycet005-belnr  = '8888888888'.

          APPEND it_zycet005.

          ENDIF.

        LOOP AT itab_zycit044.

          PERFORM atualiza_dados_nota_r.

 

        ENDLOOP.

      ELSEIF v_modalidade NE '99' AND

      ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' )..

* >> Fim da exclusão

      REFRESH itab_zyglt100.

      PERFORM verifica_exit USING 'D'

                          '/PWS/SAPMZYCI016'

                          'DNF011'.

      e_subrc = 0.

 

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY

            zexit = 'DNF011' BINARY SEARCH.

      IF sy-subrc EQ 0.

        "Verifica se a Exit está ativa.

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

          "Para verificar o tipo da NF e diferenciar seus

          "tratamentos

          v_tiponf = 'NFR'.

          e_subrc = '0'.

          PERFORM (itab_zyglt100-formulario) IN PROGRAM

             (itab_zyglt100-programa) IF FOUND.

        ENDIF.

 

       ENDIF.

* >> Início da exclusão: FORM EXECUTAR_EVENTO

       ENDIF.

* >> Fim da exclusão

 

      IF e_subrc = '0' AND ( t001-land1 NE 'AR' AND t001-land1 NE 'CL' ).

 

         CALL FUNCTION '/PWS/ZYCI_TRANSACAO_J1B1N'

              EXPORTING

                   v_modo          = v_modo_bi

              TABLES

                   t_dados         = it_zycee005

                   t_itens         = it_zycee007

                   t_campos        = it_zycet004

                   t_zycet005      = it_zycet005

                   t_message       = it_zycee006

              EXCEPTIONS

                   campo_em_branco = 1

                   OTHERS          = 2.

 

         LOOP AT itab_zycit044.

           PERFORM atualiza_dados_nota_r.

         ENDLOOP.

       ELSE.

         LOOP AT itab_zycit044.

           PERFORM atualiza_dados_nota_r.

         ENDLOOP.

 

...

 

...

 

 

  READ TABLE it_zycet005 WITH KEY  tcode  = text-065

                                   tabela = text-025

                                   cpochv =

                                   /pws/zycie043-nfremessa

                                   tpmsg  = 'S'.

 

  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.

* >> Início da exclusão: FORM ATUALIZA_DADOS_NOTA_R

        IF it_zycet005-belnr = '9999999999'.

          /pws/zycie043-docnum      = it_zycet005-belnr.

        ENDIF.

 

        IF it_zycet005-belnr = '8888888888'.

          /pws/zycie043-docnum      = it_zycet005-belnr.

        ENDIF.

 

* >> Fim exclusão

 

        itab_zycit044-nfnum  = j_1bnfdoc-nfnum.

        itab_zycit044-series = j_1bnfdoc-series.

        itab_zycit044-subser = j_1bnfdoc-subser.

        CALL FUNCTION '/PWS/ZYCI_BUSCA_NFNUM'

             EXPORTING

                  docnum = j_1bnfdoc-docnum

             IMPORTING

                  nfnum  = itab_zycit044-nfnum.

 

        /pws/zycie043-nfnum       = itab_zycit044-nfnum.

        /pws/zycie043-series      = itab_zycit044-series.

        /pws/zycie043-subser      = itab_zycit044-subser.

 

 

        itab_zycit044-docnum = it_zycee005-belnr.

* >> Início da exclusão: FORM ATUALIZA_DADOS_NOTA_R

        IF it_zycet005-belnr = '9999999999'.

          itab_zycit044-docnum = it_zycet005-belnr.

        ENDIF.

* >> Fim da exclusão

 

        IF it_zycet005-belnr = '8888888888'.

          itab_zycit044-docnum = it_zycet005-belnr.

        ENDIF.

 

        CLEAR /pws/zycie043-cancel.

        CLEAR: /pws/zycie043-belnr_mr1m, /pws/zycie043-mblnr_mb01,

                                         /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

                              nfnum series subser

          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.

      ENDIF.

    ENDIF.

...

 

 

 

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

 

 

...

        MESSAGE w013 WITH text-105 text-106.

      ENDIF.

    WHEN 'ESTOR'.

      IF /pws/zycie041 IS INITIAL.

        SELECT SINGLE * FROM /pws/zycit041 INTO /pws/zycie041

          WHERE nrseq = /pws/zycie043-nrseq AND

                cancel = space.

      ENDIF.

      PERFORM verifica_conta.

      IF v_bloq NE 'N'.

* >> Início da exclusão: FORM EXECUTAR_EVENTO

        IF /pws/zycie001-modalidade = '99'

        AND wa_nf-docnum EQ '9999999999'.

* << Fim da exclusão

* >> Início da inclusão: FORM EXECUTAR_EVENTO

        IF /pws/zycie001-modalidade = '99' .

          IF  wa_nf-docnum EQ '9999999999'.

* << Fim da inclusão

          PERFORM estorna_imposto.

          IF e_subrc NE '0'.

            EXIT.

* >> Início da inclusão: FORM EXECUTAR_EVENTO

            ENDIF.

          ELSE.

            SELECT SINGLE * FROM /pws/zycit043 INTO /pws/zycie043

                    WHERE nrseq     = wa_nf-nrseq

                    AND   nfglobal  = wa_nf-nfglobal

                    AND   nfremessa = wa_nf-nfremessa

                    AND   cancel = space.

            IF sy-subrc EQ 0.

              PERFORM estorna_imposto.

              IF e_subrc NE '0'.

                EXIT.

              ENDIF.

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ELSEIF /pws/zycie001-modalidade NE '99'.

          PERFORM estorna_imposto.

          IF e_subrc NE '0'.

            EXIT.

          ENDIF.

        ENDIF.

      ENDIF.

      LOOP AT itab_zycit042.

        MOVE-CORRESPONDING itab_zycit042 TO itab_zycit042_est.

...