CE PLUS - Nota 010848

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 20/12/2010 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:24:10

Descrição da Nota: FATURA DE MERCADORIA NÃO SALVOU OS ITENS.

Sintoma

Ao tentar receber um processo exibe mensagem informando que existe fatura não contabilizada, porém

ao acessar a lista de fatura todas estão contabilizadas.

 

 

Solução

Ajustado programa para apresentar as mensagens após gravar os itens da fatura.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ABERTURA DE EXIT ANTES DA CHAMADA DA BAPI DA MIRO (FAT003)

FATURA EM REAIS NÃO VÃO PARA O CÂMBIO.

FATURA COMERCIAL NÃO É GERADA

FATURA DE MERCADORIA IMPLEMENTAR TRATAMENTO PARA CALCULO DA DATA BASE

Informações Complementares

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

Nota Número 10848 Data: 20/12/2010 Hora: 10:18:04

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

 

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

Nota Número              : 10848

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00006

Agrupamento              : 00051

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

Referência às notas relacionadas:

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

 

02689  - 00001 - 6.0    - 00025  - FATURA COMERCIAL NÃO É GERADA

05303  - 00002 - 7.0    - 00004  - ABERTURA DE EXIT ANTES DA CHAMADA DA BAPI DA MIRO (FAT003)

08265  - 00003 - 7.0    - 00009  - FATURA DE MERCADORIA IMPLEMENTAR TRATAMENTO PARA CALCULO DA DATA

10514  - 00004 - 8.0    - 00004  - FATURA EM REAIS NÃO VÃO PARA O CÂMBIO.

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

FATURA DE MERCADORIA NÃO SALVOU OS ITENS.

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

Palavras Chave:

FATURA - MERCADORIA - MENSAGEM - SAIR - SISTEMA

/PWS/SAPMZYCI003

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

      ENDIF.

      IF sy-subrc = 0 OR e_subrc = '4'.

        IF v_parcela = 'X'.

          READ TABLE itab_zycbt032 WITH KEY tcode  = v_trans

                                           tabela = '/PWS/ZYCIT132'

                                         cpochv = /pws/zycie006-nrseq

                                           tpmsg  = 'S'.

          IF sy-subrc EQ 0.

            /pws/zycie006-statusp = 'C'.

            itab_zycit132-status = 'C'.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

            IF /pws/zycie006-tpfatura = '01' AND

               sy-tcode EQ '/PWS/ZYCI003_C'.

              CLEAR: itab_mensagens, itab_msg.

              itab_msg-msgid = '/PWS/ZYCIM'.

              itab_msg-msgnr = '057'.

              itab_msg-msgv1 = itab_zycbt032-belnr.

              CALL FUNCTION 'MESSAGE_PREPARE'

                   EXPORTING

                        language               = sy-langu

                        msg_id                 = itab_msg-msgid

                        msg_no                 = itab_msg-msgnr

                        msg_var1               = itab_msg-msgv1

                   IMPORTING

                        msg_text               = itab_mensagens-mensagem

                   EXCEPTIONS

                        function_not_completed = 1

                        message_not_found      = 2

                        OTHERS                 = 3.

              APPEND itab_mensagens.

            ELSE.

* << Fim da inclusão

            MESSAGE i057 WITH itab_zycbt032-belnr.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

            ENDIF.

* << Fim da inclusão

            itab_zycit132-belnr_p  = itab_zycbt032-belnr.

            itab_zycit132-dt_belnrp = sy-datum.

            itab_zycit132-hr_belnrp = sy-uzeit.

            PERFORM altera_data_base

              USING v_parcela

                    /pws/zycie006-bukrs

...

 

...

                    itab_zycbt032-belnr

                    itab_zycbe033-zterm.

            SELECT SINGLE ztag1 FROM t052 INTO itab_t052s-ztag1

              WHERE zterm = itab_zycit132-zterm.

            itab_zycit132-dtvencto =

                  itab_zycit132-dtbase + itab_t052s-ztag1.

            MODIFY itab_zycit132.

          ELSE.

            erro_bi = 'X'.

            LOOP AT itab_zycbt032.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

              IF /pws/zycie006-tpfatura = '01' AND

                 sy-tcode EQ '/PWS/ZYCI003_C'.

                itab_mensagens-mensagem = itab_zycbt032-msg.

                APPEND itab_mensagens.

              ELSE.

* << Fim da inclusão

              MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                                itab_zycbt032-msg+50(50).

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

              ENDIF.

* << Fim da inclusão

            ENDLOOP.

          ENDIF.

        ELSE.

          READ TABLE itab_zycbt032 WITH KEY tcode  = v_trans

                                           tabela = '/PWS/ZYCIT006'

                                         cpochv = /pws/zycie006-nrseq

                                           tpmsg  = 'S'.

          IF sy-subrc EQ 0.

            /pws/zycie006-statusp = 'C'.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

            IF /pws/zycie006-tpfatura = '01' AND

               sy-tcode EQ '/PWS/ZYCI003_C'.

              CLEAR: itab_mensagens, itab_msg.

              itab_msg-msgid = '/PWS/ZYCIM'.

              itab_msg-msgnr = '057'.

              itab_msg-msgv1 = itab_zycbt032-belnr.

              CALL FUNCTION 'MESSAGE_PREPARE'

                   EXPORTING

                        language               = sy-langu

                        msg_id                 = itab_msg-msgid

                        msg_no                 = itab_msg-msgnr

                        msg_var1               = itab_msg-msgv1

                   IMPORTING

                        msg_text               = itab_mensagens-mensagem

                   EXCEPTIONS

                        function_not_completed = 1

                        message_not_found      = 2

                        OTHERS                 = 3.

              APPEND itab_mensagens.

            ELSE.

* << Fim da inclusão

            MESSAGE i057 WITH itab_zycbt032-belnr.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

            ENDIF.

* << Fim da inclusão

            /pws/zycie006-belnr_p   = itab_zycbt032-belnr.

            /pws/zycie006-dt_belnrp = sy-datum.

            /pws/zycie006-hr_belnrp = sy-uzeit.

            PERFORM altera_data_base

              USING v_parcela

                    /pws/zycie006-bukrs

                    itab_zycbe033-budat

                    itab_zycbt032-belnr

                    itab_zycbe033-zterm.

            MODIFY /pws/zycit006 FROM /pws/zycie006.

          ELSE.

            erro_bi = 'X'.

            LOOP AT itab_zycbt032.

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

              IF /pws/zycie006-tpfatura = '01' AND

                 sy-tcode EQ '/PWS/ZYCI003_C'.

                itab_mensagens-mensagem = itab_zycbt032-msg.

                APPEND itab_mensagens.

              ELSE.

* << Fim da inclusão

              MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                                itab_zycbt032-msg+50(50).

* >> Início da inclusão: FORM FILL_DATE_F-43_F-02

              ENDIF.

* << Fim da inclusão

            ENDLOOP.

          ENDIF.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt034.

...

 

...

        INSERT /pws/zycbt119.

      ENDWHILE.

      MOVE /pws/zycbt119-nrseq TO itab_zycit132-nrseq_pgfat.

      IF /pws/zycie006-nrseq_pgfat IS INITIAL.

        MOVE /pws/zycbt119-nrseq TO /pws/zycie006-nrseq_pgfat.

      ENDIF.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

      APPEND /pws/zycie006 TO itab_zycit006.

      IF ( /pws/zycie006-frpagto EQ 'N'

      OR /pws/zycie006-frpagto EQ 'P' AND NOT v_di IS INITIAL ).

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

        IF /pws/zycie006-tpfatura = '01' AND

           sy-tcode EQ '/PWS/ZYCI003_C'.

          CLEAR: itab_mensagens, itab_msg.

          itab_msg-msgid = '/PWS/ZYCIM'.

          itab_msg-msgnr = '061'.

          itab_msg-msgv1 = text-008.

          itab_msg-msgv2 = /pws/zycbt119-nrfat.

          itab_msg-msgv3 = text-009.

          itab_msg-msgv4 = /pws/zycbt119-nrseq.

          CALL FUNCTION 'MESSAGE_PREPARE'

               EXPORTING

                    language               = sy-langu

                    msg_id                 = itab_msg-msgid

                    msg_no                 = itab_msg-msgnr

                    msg_var1               = itab_msg-msgv1

                    msg_var2               = itab_msg-msgv2

                    msg_var3               = itab_msg-msgv3

                    msg_var4               = itab_msg-msgv4

               IMPORTING

                    msg_text               = itab_mensagens-mensagem

               EXCEPTIONS

                    function_not_completed = 1

                    message_not_found      = 2

                    OTHERS                 = 3.

          APPEND itab_mensagens.

        ELSE.

* << Fim da inclusão

        MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat

                          text-009 /pws/zycbt119-nrseq.

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

        ENDIF.

* << Fim da inclusão

      ELSE.

        /pws/zycbt119-status = 'E'.

        MODIFY /pws/zycbt119.

      ENDIF.

    ELSE.

...

 

...

      WHILE sy-subrc NE 0.

        PERFORM busca_sequencial.

        INSERT /pws/zycbt119.

      ENDWHILE.

      MOVE /pws/zycbt119-nrseq TO /pws/zycie006-nrseq_pgfat.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

      APPEND /pws/zycie006 TO itab_zycit006.

      IF ( /pws/zycie006-frpagto EQ 'N' OR

           /pws/zycie006-frpagto EQ 'P'

           AND NOT v_di IS INITIAL ).

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

        IF /pws/zycie006-tpfatura = '01' AND

           sy-tcode EQ '/PWS/ZYCI003_C'.

          CLEAR: itab_mensagens, itab_msg.

          itab_msg-msgid = '/PWS/ZYCIM'.

          itab_msg-msgnr = '061'.

          itab_msg-msgv1 = text-008.

          itab_msg-msgv2 = /pws/zycbt119-nrfat.

          itab_msg-msgv3 = text-009.

          itab_msg-msgv4 = /pws/zycbt119-nrseq.

          CALL FUNCTION 'MESSAGE_PREPARE'

               EXPORTING

                    language               = sy-langu

                    msg_id                 = itab_msg-msgid

                    msg_no                 = itab_msg-msgnr

                    msg_var1               = itab_msg-msgv1

                    msg_var2               = itab_msg-msgv2

                    msg_var3               = itab_msg-msgv3

                    msg_var4               = itab_msg-msgv4

               IMPORTING

                    msg_text               = itab_mensagens-mensagem

               EXCEPTIONS

                    function_not_completed = 1

                    message_not_found      = 2

                    OTHERS                 = 3.

          APPEND itab_mensagens.

        ELSE.

* << Fim da inclusão

        MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat

                          text-009 /pws/zycbt119-nrseq.

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

        ENDIF.

* << Fim da inclusão

      ELSE.

        IF NOT /pws/zycie006-nrseq_pgfat IS INITIAL.

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

          IF /pws/zycie006-tpfatura = '01' AND

             sy-tcode EQ '/PWS/ZYCI003_C'.

            CLEAR: itab_mensagens, itab_msg.

            itab_msg-msgid = '/PWS/ZYCIM'.

            itab_msg-msgnr = '061'.

            itab_msg-msgv1 = text-008.

            itab_msg-msgv2 = /pws/zycbt119-nrfat.

            itab_msg-msgv3 = text-009.

            itab_msg-msgv4 = /pws/zycbt119-nrseq.

            CALL FUNCTION 'MESSAGE_PREPARE'

                 EXPORTING

                      language               = sy-langu

                      msg_id                 = itab_msg-msgid

                      msg_no                 = itab_msg-msgnr

                      msg_var1               = itab_msg-msgv1

                      msg_var2               = itab_msg-msgv2

                      msg_var3               = itab_msg-msgv3

                      msg_var4               = itab_msg-msgv4

                 IMPORTING

                      msg_text               = itab_mensagens-mensagem

                 EXCEPTIONS

                      function_not_completed = 1

                      message_not_found      = 2

                      OTHERS                 = 3.

            APPEND itab_mensagens.

          ELSE.

* << Fim da inclusão

          MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat

                            text-009 /pws/zycbt119-nrseq.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

        /pws/zycbt119-status = 'E'.

        MODIFY /pws/zycbt119.

      ENDIF.

    ELSE.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

      /pws/zycit263-qtd_iten    = itab_zycit003-toinv.

      /pws/zycit263-meins       = itab_zycit003-meins.

      /pws/zycit263-vlreal      = itab_zycit003-vlreal.

      /pws/zycit263-vlfre_fat   = itab_zycit003-vlfre_fat.

      /pws/zycit263-vlseg_fat   = itab_zycit003-vlseg_fat.

      /pws/zycit263-waers_real  = itab_zycit003-waers_real.

      /pws/zycit263-ntgew       = itab_zycit003-ntgew.

      /pws/zycit263-gewei       = itab_zycit003-gewei.

      MODIFY /pws/zycit263.

    ENDLOOP.

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

    LOOP AT itab_mensagens.

      MESSAGE i061 WITH itab_mensagens-mensagem(50)

                        itab_mensagens-mensagem+50(50)

                        itab_mensagens-mensagem+100(50)

                        itab_mensagens-mensagem+150(50).

    ENDLOOP.

    REFRESH itab_mensagens.

* << Fim da inclusão

  ENDIF.

ENDFORM.

...

 

...

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF e_subrc EQ 0.

    PERFORM miro_dinamica.

    IF NOT  v_belnr_mr1m IS INITIAL.

      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

           EXPORTING

                wait = 'X'.

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

      IF /pws/zycie006-tpfatura = '01' AND

         sy-tcode EQ '/PWS/ZYCI003_C'.

        CLEAR: itab_mensagens, itab_msg.

        itab_msg-msgid = '/PWS/ZYCIM'.

        itab_msg-msgnr = '010'.

        itab_msg-msgv1 = v_belnr_mr1m.

        CALL FUNCTION 'MESSAGE_PREPARE'

             EXPORTING

                  language               = sy-langu

                  msg_id                 = itab_msg-msgid

                  msg_no                 = itab_msg-msgnr

                  msg_var1               = itab_msg-msgv1

             IMPORTING

                  msg_text               = itab_mensagens-mensagem

             EXCEPTIONS

                  function_not_completed = 1

                  message_not_found      = 2

                  OTHERS                 = 3.

        APPEND itab_mensagens.

      ELSE.

* << Fim da inclusão

      MESSAGE i010 WITH v_belnr_mr1m.

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

      ENDIF.

* << Fim da inclusão

      CLEAR: v_awkey.

      CONCATENATE v_belnr_mr1m v_gjahr INTO v_awkey.

      SELECT SINGLE belnr FROM bkpf INTO v_doc_miro

               WHERE   awtyp EQ 'RMRP'

                 AND   awkey EQ v_awkey.

      IF v_parcela = 'X'.

...

 

...

        /pws/zycie006-hr_belnrp  = sy-uzeit.

      ENDIF.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

    ELSE.

      LOOP AT itab_return.

        CONCATENATE  itab_return-id itab_return-number

                     itab_return-message INTO v_mensagem

                    SEPARATED BY space.

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

        IF /pws/zycie006-tpfatura = '01' AND

           sy-tcode EQ '/PWS/ZYCI003_C'.

          itab_mensagens-mensagem = v_mensagem.

          APPEND itab_mensagens.

        ELSE.

* << Fim da inclusão

        MESSAGE i061 WITH v_mensagem+0(50)

                          v_mensagem+50(50)

                          v_mensagem+100(50)

                          v_mensagem+150(50).

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

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

    ENDIF.

  ELSEIF e_subrc EQ 8.

    EXIT.

  ELSE.

    LOOP AT itab_return.

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

      IF /pws/zycie006-tpfatura = '01' AND

         sy-tcode EQ '/PWS/ZYCI003_C'.

        itab_mensagens-mensagem = v_mensagem.

        APPEND itab_mensagens.

      ELSE.

* << Fim da inclusão

      CONCATENATE  itab_return-id itab_return-number

                   itab_return-message INTO v_mensagem

                  SEPARATED BY space.

      MESSAGE i061 WITH v_mensagem+0(50)

                        v_mensagem+50(50)

                        v_mensagem+100(50)

                        v_mensagem+150(50).

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

      ENDIF.

* << Fim da inclusão

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

* >> Início da inclusão:

data: begin of itab_mensagens occurs 0,

    mensagem(200) type c,

      end of itab_mensagens.

* << Fim da inclusão

DATA: END OF COMMON PART.