CE PLUS - Nota 013337

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Recebimento

Data/Hora da Publicação: 18/10/2013 00:00:00

Data/Hora Última Alteração: 21/10/2013 15:13:36

Descrição da Nota: DUMP NO RECEBIMENTO - RAISE_EXCEPTION - MESSAGE_STORE

Sintoma

A FUNÇÃO MESSAGE_STORE ESTÁ SEM EXCEPTIONS.

 

 

Solução

INSERIR EXCEPTIONS EM TODOS OS CALL'S FUNCTION'S MESSAGE_STORE

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

UNIFICAÇÃO DAS MENSAGENS DE RECEBIMENTO

Informações Complementares

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

Nota Número 13337 Data: 18/10/2013 Hora: 16:44:57

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

 

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

Nota Número              : 13337

Categoria                : Erro de Programa

Prioridade               : Baixa

Versão PW.CE             : 9.0

Pacote                   : 00006

Agrupamento              : 00166

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

Referência às notas relacionadas:

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

 

12793  - 00001 - 9.0    - 00003  - UNIFICAÇÃO DAS MENSAGENS DE RECEBIMENTO

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

DUMP NO RECEBIMENTO - RAISE_EXCEPTION - MESSAGE_STORE

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

Palavras Chave:

/PWS/SAPMZYCI017 - A FUNÇÃO MESSAGE_STORE ESTÁ SEM EXCEPTIONS

 

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

Objetos da nota:

REPS /PWS/MZYCI017F03

REPS /PWS/MZYCI017F02

REPS /PWS/MZYCI017F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F03

 

...

  CALL FUNCTION 'MESSAGES_INITIALIZE'.

  IF NOT  v_belnr_mr1m IS INITIAL.

    wa_nf-belnr_mr1m = v_belnr_mr1m.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = text-001

              msgv2 = wa_nf-belnr_mr1m

              txtnr = '010'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    wa_nf-statusp_mr1m = 'C'.

    wa_nf-dt_mr1m      = sy-datlo.

    v_mr1m_ok = 'S'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

...

 

...

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = itab_return-type

                msgv1 = v_mensagem+0(50)

                msgv2 = v_mensagem+50(50)

                msgv3 = v_mensagem+100(50)

                msgv4 = v_mensagem+150(50)

                txtnr = '061'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

                                    tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    IF NOT itab_zycit032-belnr EQ '0000000000'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'I'

                msgv1 = text-007

                msgv2 = itab_zycit032-belnr

                txtnr = '010'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      wa_nf-statusp_mb01 = 'C'.

      wa_nf-mblnr_mb01   = itab_zycit032-belnr.

      wa_nf-dt_mb01      = sy-datlo.

      v_mb01_ok = 'S'.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

    ENDIF.

  ELSE.

    LOOP AT itab_zycit032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = itab_zycit032-tpmsg

                msgv1 = itab_zycit032-msg+0(50)

                msgv2 = itab_zycit032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

FORM trata_mr1m.

  IF NOT wa_nf_aux-belnr_mr1m IS INITIAL AND

    e_mr1m_ok EQ 'S'.

    wa_nf-belnr_mr1m   = wa_nf_aux-belnr_mr1m  .

    wa_nf-statusp_mr1m = wa_nf_aux-statusp_mr1m.

    wa_nf-dt_mr1m      = wa_nf_aux-dt_mr1m     .

    v_mr1m_ok          = e_mr1m_ok             .

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = text-001

              msgv2 = wa_nf-belnr_mr1m

              txtnr = '010'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

      ENDIF.

    ELSE.

...

 

...

    wa_nf-statusp_mb01 = wa_nf_aux-statusp_mb01.

    wa_nf-dt_mb01      = wa_nf_aux-dt_mb01     .

    v_mb01_ok          = e_mb01_ok             .

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = text-007

              msgv2 = wa_nf-mblnr_mb01

              txtnr = '010'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

      ENDIF.

    ELSE.

...

 

...

    ELSEIF e_subrc EQ '4'.

      PERFORM atualiza_dados_migo.

    ELSE.

      LOOP AT itab_zycit034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycit034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

    CLEAR v_merc.

    SET PARAMETER ID '/PWS/ZYCIP005' FIELD v_merc.

  ENDIF.

ENDFORM.

FORM trata_f_51.

  IF NOT wa_nf_aux-belnr_f_51 IS INITIAL AND

    e_f_51_ok EQ 'S'.

    wa_nf-belnr_f_51   = wa_nf_aux-belnr_f_51   .

    wa_nf-statusp_f_51 = wa_nf_aux-statusp_f_51 .

    wa_nf-dt_f_51      = wa_nf_aux-dt_f_51      .

    v_f_51_ok          = e_f_51_ok              .

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_f_51

              txtnr = '057'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

      ENDIF.

    ELSE.

...

 

...

    ELSEIF e_subrc EQ '4'.

      PERFORM atualiza_dados_f51.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

FORM atualiza_dados_f51.

  READ TABLE itab_zycbt032 WITH KEY tcode  = v_trans

                                    tabela = v_ntabela

                                    cpochv = wa_nf-nrseq

                                    tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = itab_zycbt032-belnr

              txtnr = '057'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    wa_nf-statusp_f_51 = 'C'.

    wa_nf-belnr_f_51 = itab_zycbt032-belnr.

    wa_nf-dt_f_51    = sy-datlo.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

...

 

...

    v_f_51_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

      IF v_tipo EQ 'S'.

        v_answer = 'X'.

        EXIT.

      ENDIF.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = text-111

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDIF.

  ELSEIF p_ver = 'MSEG'.

    IF v_tipo EQ 'S'.

      EXIT.

    ENDIF.

    SELECT SINGLE * FROM /pws/zyglt217

         WHERE arbgb EQ '/PWS/ZYCIM'

         AND   msgnr EQ '152'.

    IF sy-subrc EQ 0.

      IF /pws/zyglt217-msgtp ='E'.

        CLEAR: okcode.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = /pws/zyglt217-msgtp

                  msgv1 = text-111

                  txtnr = '152'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        EXIT.

      ENDIF.

    ENDIF.

    IF v_tipo EQ 'S'.

      EXIT.

    ENDIF.

    PERFORM popup_message USING text-026 text-025.

  ELSE.

    IF /pws/zycie001-bukrs IS INITIAL.

...

 

...

      IF v_tipo EQ 'S'.

        v_answer = 'X'.

        EXIT.

      ENDIF.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = text-111

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

          ENDIF.

        ENDIF.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycet005-tpmsg

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ELSEIF e_subrc EQ '4'.

    READ TABLE itab_zycet005 WITH KEY tcode  = 'J1B2'

                                      tabela = 'WA_GLOBAL'

                                      cpochv = wa_global-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

...

 

...

        ENDIF.

      ENDIF.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ELSE.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycet005-tpmsg

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

            ENDIF.

          ENDIF.

          LOOP AT itab_zycet005.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                      msgty = 'I'

                      msgv1 = itab_zycet005-msg+0(50)

                      msgv2 = itab_zycet005-msg+50(50)

                      txtnr = '015'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

        ELSE.

          LOOP AT itab_zycet005.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                      msgty = itab_zycet005-tpmsg

                      msgv1 = itab_zycet005-msg+0(50)

                      msgv2 = itab_zycet005-msg+50(50)

                      txtnr = '015'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

        ENDIF.

      ENDIF.

    ELSEIF e_subrc EQ '4'.

      READ TABLE itab_zycet005 WITH KEY tcode  = 'J1B2'

                                        tabela = 'WA_NF'

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

...

 

...

          ENDIF.

        ENDIF.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycet005-tpmsg

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F02

 

...

    IF sy-subrc = 0.

      PERFORM trata_retorno_fbra.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        CLEAR: wa_nf-statusp_f_51 , wa_nf-belnr_f_51, wa_nf-dt_f_51.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

    IF itab_zycbt034[] IS INITIAL.

      PERFORM trata_retorno_fbra.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        CLEAR: wa_nf-statusp_f_51 , wa_nf-belnr_f_51, wa_nf-dt_f_51.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

          ENDIF.

        ENDIF.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycet005-tpmsg

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ELSEIF e_subrc EQ '4'.

    READ TABLE itab_zycet005 WITH KEY tcode  = 'J1B2'

                                      tabela = 'WA_NF'

                                      cpochv = wa_nf-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

...

 

...

        ENDIF.

      ENDIF.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ELSE.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycet005-tpmsg

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

    ENDIF.

    MESSAGE s015 WITH text-018.

  ENDIF.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL AND

     NOT itab_contas[] IS INITIAL.

    v_f02 = 'IMP'.

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI017'

                                'RCB007'.

    e_subrc = 0.

    CLEAR itab_zyglt100 .

...

 

...

                                        tabela = v_ntabela

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        wa_nf-statusp_f_02     = 'C'.

        wa_global-statusp_f_02 = 'C'.

        wa_nf-belnr_f_02     = itab_zycbt032-belnr.

        wa_global-belnr_f_02 = itab_zycbt032-belnr.

        wa_nf-dt_f_02        = sy-datlo.

        wa_global-dt_f_02    = sy-datlo.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

...

 

...

        COMMIT WORK.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                msgv1 = itab_zycbt034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

    IF sy-subrc = 0.

      PERFORM trata_retorno_fb08.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

    IF itab_zycbt034[] IS INITIAL.

      PERFORM trata_retorno_fb08.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

          ENDIF.

        ENDIF.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ELSE.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycet005-tpmsg

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ELSEIF e_subrc EQ '4'.

    READ TABLE itab_zycet005 WITH KEY tcode  = 'J1B2'

                                      tabela = 'WA_GLOBAL'

                                      cpochv = wa_global-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

...

 

...

        ENDIF.

      ENDIF.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ELSE.

      LOOP AT itab_zycet005.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycet005-tpmsg

                  msgv1 = itab_zycet005-msg+0(50)

                  msgv2 = itab_zycet005-msg+50(50)

                  txtnr = '015'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

            IF e_f_02 EQ 'S'.

              IF wa_nf-belnr_f_02 IS INITIAL.

                wa_nf-belnr_f_02 = wa_nf_aux-belnr_f_02 .

                wa_global-belnr_f_02 = wa_nf_aux-belnr_f_02.

                CALL FUNCTION 'MESSAGE_STORE'

                     EXPORTING

                          arbgb = '/PWS/ZYCIM'

                          msgty = 'I'

                          msgv1 = wa_nf-belnr_f_02

                          txtnr = '057'

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

                          zeile = '01'.

* << Fim da exclusão

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

                          zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

                IF sy-subrc <> 0.

                ENDIF.

* << Fim da inclusão

                v_messag = 'X'.

                IF v_existe_nfr NE 'S'.

                  MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

                  MODIFY /pws/zycit041 FROM /pws/zycie041.

                  IF sy-subrc EQ 0.

                    MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

                    PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                          ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

                  ENDIF.

                ELSE.

...

 

...

ENDFORM.

FORM reverse_documento_contab_fbra.

  e_estorno = 'FBRACT'.

  IF e_ifbra EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_f_51

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_51 ,

           wa_nf-belnr_f_51   ,

           wa_nf-dt_f_51      .

    itab_zycit050-estorno = 'X'.

    v_fbra_ok = 'S'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fbra_contab.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      IF itab_zycbt034[] IS INITIAL.

        PERFORM trata_retorno_fbra_contab.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM reverse_documento_fatura_mr8m.

  e_estorno = 'MR8MFA'.

  DATA: v_nrseqdid  LIKE /pws/zycit085-nrseqdi.

  IF e_mr8m_ok EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_mr1m

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mr1m,

           wa_nf-belnr_mr1m  ,

           wa_nf-dt_mr1m     .

    CLEAR v_mr1m_ok         .

    itab_zycit050-estorno = 'X'.

    v_mr8m_ok = e_mr8m_ok .

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

...

 

...

                                              wa_nf-belnr_mr1m

                                              wa_nf-dt_mr1m

                                   CHANGING v_answer.

          IF v_answer EQ 'X'.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                      msgty = 'W'

                      msgv1 = wa_nf-belnr_mr1m

                      txtnr = '071'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

            EXIT.

          ENDIF.

          PERFORM fill_date_f_51_docs_miro.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = v_belnr_ant

                    txtnr = '030'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          v_belnr_ant = wa_nf-belnr_mr1m.

          CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.

          itab_zycit050-estorno = 'X'.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

            MODIFY /pws/zycit041 FROM /pws/zycie041.

            IF sy-subrc EQ 0.

              MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

              PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

...

 

...

          CLEAR v_mr1m_ok.

        ELSE.

          LOOP AT itab_zycit032.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                     msgty = itab_zycit032-tpmsg

                      msgv1 = itab_zycit032-msg+0(50)

                      msgv2 = itab_zycit032-msg+50(50)

                      txtnr = '015'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

          PERFORM verifica_estorno_r3 USING 'RBKP'

                                            wa_nf-belnr_mr1m

                                            wa_nf-dt_mr1m

                                   CHANGING v_answer.

          IF v_answer = 'J'.

            v_belnr_ant = wa_nf-belnr_mr1m.

            CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.

            itab_zycit050-estorno = 'X'.

...

 

...

                                            wa_nf-belnr_mr1m

                                            wa_nf-dt_mr1m

                                 CHANGING v_answer.

        IF v_answer EQ 'X'.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'W'

                    msgv1 = wa_nf-belnr_mr1m

                    txtnr = '071'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          EXIT.

        ENDIF.

        PERFORM fill_date_f_51_docs_miro.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = v_belnr_ant

                  txtnr = '030'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        v_belnr_ant = wa_nf-belnr_mr1m.

        CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.

        itab_zycit050-estorno = 'X'.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

            PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

...

 

...

        CLEAR v_mr1m_ok.

      ELSE.

        LOOP AT itab_zycit032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycit032-tpmsg

                    msgv1 = itab_zycit032-msg+0(50)

                    msgv2 = itab_zycit032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'RBKP'

                                            wa_nf-belnr_mr1m

                                            wa_nf-dt_mr1m

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          v_belnr_ant = wa_nf-belnr_mr1m.

          CLEAR: wa_nf-statusp_mr1m, wa_nf-belnr_mr1m, wa_nf-dt_mr1m.

          itab_zycit050-estorno = 'X'.

...

 

...

ENDFORM.

FORM reverse_documento_fisico_fbra.

  e_estorno = 'FBRAFI'.

  IF e_mbst_ok EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-mblnr_mb01

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mb01,

           wa_nf-mblnr_mb01  ,

           wa_nf-dt_mb01     .

    v_mbst_ok = e_mbst_ok.

    CLEAR v_mb01_ok.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fbra_fisico.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'MSEG'

                                          wa_nf-mblnr_mb01

                                          wa_nf-dt_mb01

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

      IF itab_zycbt034[] IS INITIAL.

        PERFORM trata_retorno_fbra_fisico.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'MSEG'

                                          wa_nf-mblnr_mb01

                                          wa_nf-dt_mb01

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

FORM reverse_documento_impos_fb08.

  CHECK wa_nf-cont_imp_nf NE 'X'.

  e_estorno = 'IMPOS'.

  IF e_if02 EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_f_02

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_02, wa_nf-belnr_f_02, wa_nf-dt_f_02,

           wa_global-statusp_f_02, wa_global-belnr_f_02,

           wa_global-dt_f_02.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fb08_imposto.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnr_f_02

                                          wa_nf-dt_f_02

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

    ELSE.

      IF itab_zycbt034[] IS INITIAL.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnr_f_02

                                          wa_nf-dt_f_02

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

    MESSAGE s015 WITH text-058.

    EXIT.

  ENDIF.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  IF itab_zycbt034[]   IS INITIAL AND

     NOT itab_contas[] IS INITIAL.

    v_f02 = 'SEG'.

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI017'

                                'RCB007'.

    e_subrc = 0.

    CLEAR itab_zyglt100 .

...

 

...

                                        tabela = v_ntabela

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        wa_nf-belnrf02seg     = itab_zycbt032-belnr.

        wa_nf-dt_f02seg       = sy-datlo.

        wa_global-belnrf02seg = itab_zycbt032-belnr.

        wa_global-dt_f02seg   = sy-datlo.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                msgv1 = itab_zycbt034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

  DATA: lt_zycit041 TYPE /pws/zycit041 OCCURS 0 WITH HEADER LINE.

  CLEAR v_belnr_ant.

  e_estorno = 'SEGURO'.

  IF e_if02seg EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnrf02seg

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fb08_seguro.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnrf02seg

                                          wa_nf-dt_f02seg

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

      IF itab_zycbt034[] IS INITIAL.

        PERFORM trata_retorno_fb08_seguro.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnrf02seg

                                          wa_nf-dt_f02seg

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

FORM reverse_cocumento_contab_fb08.

  CLEAR v_belnr_ant.

  e_estorno = 'FB08CT'.

  IF e_ifb08 EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_f_51

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_51,

           wa_nf-belnr_f_51  ,

           wa_nf-dt_f_51     .

    itab_zycit050-estorno = 'X'.

    v_fb08_ok = 'S'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fb08_contab.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnr_f_51

                                          wa_nf-dt_f_51

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_f_51,

                 wa_nf-belnr_f_51  ,

                 wa_nf-dt_f_51     .

...

 

...

      IF itab_zycbt034[] IS INITIAL.

        PERFORM trata_retorno_fb08_contab.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnr_f_51

                                          wa_nf-dt_f_51

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-statusp_f_51,

                 wa_nf-belnr_f_51  ,

                 wa_nf-dt_f_51     .

...

 

...

  IF itab_contas[] IS INITIAL.

    MESSAGE s015 WITH text-059.

  ENDIF.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  IF itab_zycbt034[]   IS INITIAL AND

     NOT itab_contas[] IS INITIAL.

    v_f02 = 'FRE'.

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI017'

                                'RCB007'.

    e_subrc = 0.

    CLEAR itab_zyglt100 .

...

 

...

                                        tabela = v_ntabela

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        wa_nf-belnrf02fre     = itab_zycbt032-belnr.

        wa_nf-dt_f02fre       = sy-datlo.

        wa_global-belnrf02fre = itab_zycbt032-belnr.

        wa_global-dt_f02fre   = sy-datlo.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                msgv1 = itab_zycbt034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

  DATA: lt_zycit041 TYPE /pws/zycit041 OCCURS 0 WITH HEADER LINE.

  e_estorno = 'FRETE'.

  CLEAR v_belnr_ant.

  IF e_if02fre EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnrf02fre

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

      IF sy-subrc = 0.

        PERFORM trata_retorno_fb08_frete.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnrf02fre

                                          wa_nf-dt_f02fre

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

      IF itab_zycbt034[] IS INITIAL.

        PERFORM trata_retorno_fb08_frete.

      ELSE.

        LOOP AT itab_zycbt034.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                    msgv1 = itab_zycbt034-descricao

                    txtnr = '016'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM verifica_estorno_r3 USING 'F-02'

                                          wa_nf-belnrf02fre

                                          wa_nf-dt_f02fre

                                 CHANGING v_answer.

        IF v_answer = 'J'.

          CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

                                   'DOCNUM2'

                                    text-040.

    APPEND itab_zycee005.

    LOOP AT itab_zycbt034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                msgv1 = itab_zycbt034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    IF itab_zycbt034[] IS INITIAL.

      CALL FUNCTION '/PWS/ZYCE_TRANSACAO_J1B3'

           TABLES

                t_dados         = itab_zycee005

                t_campo         = itab_zycet004

                t_zycet005      = itab_zycet005

           EXCEPTIONS

                campo_em_branco = 1

...

 

...

          ENDIF.

        ENDIF.

        LOOP AT itab_zycet005.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycet005-msg+0(50)

                    msgv2 = itab_zycet005-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

    ENDIF.

    MODIFY itab_zycbt035.

  ENDLOOP.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  e_subrc = 0.

  PERFORM verifica_exit USING 'D'

                       '/PWS/SAPMZYCI017'

                       'RCB001'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY zexit = 'RCB001'.

  IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

    PERFORM (itab_zyglt100-formulario) IN PROGRAM

...

 

...

                                          tabela = '/PWS/ZYCIT044'

                                         cpochv = /pws/zycit085-nrseqdi

                                          tpmsg  = 'S'.

        IF sy-subrc = 0.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = itab_zycbt032-belnr

                    txtnr = '059'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          v_rec_ia_1 = v_rec_ia_1 + 1.

          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

               EXPORTING

                    input  = itab_matuse_aux2-hkont

               IMPORTING

                    output = itab_matuse_aux2-hkont.

          LOOP AT itab_matuse_aux WHERE hkont = itab_matuse_aux2-hkont.

            IF itab_matuse_aux-j_1bmatuse = 0.

              /pws/zycit085-belnr_0 = itab_zycbt032-belnr.

...

 

...

          DELETE itab_bsis_aux WHERE hkont = itab_matuse_aux2-hkont.

        ELSE.

          LOOP AT itab_zycbt032.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                      msgv1 = itab_zycbt032-msg+0(50)

                      msgv2 = itab_zycbt032-msg+50(50)

                      txtnr = '104'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

        ENDIF.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '104'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                        tabela = '/PWS/ZYCIT044'

                                        cpochv = /pws/zycit085-nrseqdi

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '059'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        v_rec_ia_1 = v_rec_ia_1 + 1.

        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

             EXPORTING

                  input  = itab_matuse_aux2-hkont

             IMPORTING

                  output = itab_matuse_aux2-hkont.

        LOOP AT itab_matuse_aux WHERE hkont = itab_matuse_aux2-hkont.

          IF itab_matuse_aux-j_1bmatuse = 0.

            /pws/zycit085-belnr_0 = itab_zycbt032-belnr.

...

 

...

        DELETE itab_bsis_aux WHERE hkont = itab_matuse_aux2-hkont.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '104'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

                                        tabela = '/PWS/ZYCIT044'

                                        cpochv = /pws/zycie001-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc = 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '059'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDIF.

    ENDIF.

  ELSE.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'F-51'

                                      tabela = '/PWS/ZYCIT044'

                                      cpochv = /pws/zycie001-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc = 0.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'I'

                msgv1 = itab_zycbt032-belnr

                txtnr = '059'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDIF.

  ENDIF.

  CLEAR e_estorno.

ENDFORM.

...

 

...

    IF sy-subrc = 0.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'I'

                msgv1 = text-066

                msgv2 = itab_zycbt032-belnr

                msgv3 = text-067

                msgv4 = /pws/zycie041-bukrs

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      CLEAR: v_belnrf05.

      LOOP AT itab_matuse_aux WHERE hkont = itab_matuse_aux2-hkont.

        IF itab_matuse_aux-j_1bmatuse = 0.

          /pws/zycit085-belnr_0_f05 = itab_zycbt032-belnr.

          v_belnrf05 = /pws/zycit085-belnr_0_f05.

        ELSEIF itab_matuse_aux-j_1bmatuse = 1.

          /pws/zycit085-belnr_1_f05 = itab_zycbt032-belnr.

          v_belnrf05 = /pws/zycit085-belnr_1_f05.

        ELSEIF itab_matuse_aux-j_1bmatuse = 2.

...

 

...

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt032.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                  msgv1 = itab_zycbt032-msg+0(50)

                  msgv2 = itab_zycbt032-msg+50(50)

                  txtnr = '104'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '104'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

  IF itab_contas[] IS INITIAL.

    MESSAGE s015 WITH text-018.

  ENDIF.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL AND

     NOT itab_contas[] IS INITIAL.

    CALL FUNCTION '/PWS/ZYCI_TRANSACAO_F_02C'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycbe033

              t_campo         = itab_zycbt034

...

 

...

                                        tabela = v_ntabela

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = itab_zycbt032-belnr

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        wa_nf-statusp_f_02     = 'C'.

        wa_global-statusp_f_02 = 'C'.

        wa_nf-belnr_f_02     = itab_zycbt032-belnr.

        wa_global-belnr_f_02 = itab_zycbt032-belnr.

        wa_nf-dt_f_02        = sy-datlo.

        wa_global-dt_f_02    = sy-datlo.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

...

 

...

        COMMIT WORK.

      ELSE.

        LOOP AT itab_zycbt032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                    msgv1 = itab_zycbt032-msg+0(50)

                    msgv2 = itab_zycbt032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ELSE.

    LOOP AT itab_zycbt034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                msgv1 = itab_zycbt034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

  IF sy-subrc EQ 0.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_51 , wa_nf-belnr_f_51, wa_nf-dt_f_51.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

    v_fbra_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM popup_message USING text-026 text-025.

    IF v_answer = 'J'.

      CLEAR: wa_nf-statusp_f_51 , wa_nf-belnr_f_51, wa_nf-dt_f_51.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

                                    tabela = 'WA_NF'

                                    cpochv = wa_nf-nrseq

                                    tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

    COMMIT WORK.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM popup_message USING text-026 text-025.

    IF v_answer = 'J'.

      CLEAR: wa_nf-statusp_f_02 , wa_nf-belnr_f_02, wa_nf-dt_f_02.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

        MODIFY /pws/zycit041 FROM /pws/zycie041.

        IF sy-subrc EQ 0.

          MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

                                    tabela = 'WA_NF'

                                    cpochv = wa_nf-nrseq

                                    tpmsg  = 'S'.

  IF sy-subrc EQ 0.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    v_fbra_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

ENDFORM.

...

 

...

    IF v_answer EQ 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = wa_nf-mblnr_mb01

                txtnr = '071'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      EXIT.

    ENDIF.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

      ENDIF.

...

 

...

    v_mbst_ok = 'S'.

  ELSE.

    LOOP AT itab_zycit032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycit032-tpmsg

                msgv1 = itab_zycit032-msg+0(50)

                msgv2 = itab_zycit032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM clear_date_batch.

    PERFORM verifica_estorno_r3 USING 'MSEG'

                                      wa_nf-mblnr_mb01

                                      wa_nf-dt_mb01

                             CHANGING v_answer.

    IF v_answer = 'J'.

      CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

      IF v_existe_nfr NE 'S'.

...

 

...

                                      wa_nf-belnr_f_02

                                      wa_nf-dt_f_02

                             CHANGING v_answer.

    IF v_answer EQ 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = wa_nf-belnr_f_02

                txtnr = '071'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      EXIT.

    ENDIF.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_02, wa_nf-belnr_f_02, wa_nf-dt_f_02,

           wa_global-statusp_f_02, wa_global-belnr_f_02,

           wa_global-dt_f_02.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

    COMMIT WORK.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM verifica_estorno_r3 USING 'F-02'

                                      wa_nf-belnr_f_02

                                      wa_nf-dt_f_02

                             CHANGING v_answer.

    IF v_answer = 'J'.

      CLEAR: wa_nf-statusp_f_02, wa_nf-belnr_f_02, wa_nf-dt_f_02.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

                                      wa_nf-belnrf02seg

                                      wa_nf-dt_f02seg

                             CHANGING v_answer.

    IF v_answer EQ 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = wa_nf-belnrf02seg

                txtnr = '071'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      EXIT.

    ENDIF.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

    COMMIT WORK.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM verifica_estorno_r3 USING 'F-02'

                                      wa_nf-belnrf02seg

                                      wa_nf-dt_f02seg

                             CHANGING v_answer.

    IF v_answer = 'J'.

      CLEAR: wa_nf-belnrf02seg, wa_nf-dt_f02seg.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

...

                                      wa_nf-belnr_f_51

                                      wa_nf-dt_f_51

                             CHANGING v_answer.

    IF v_answer EQ 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = wa_nf-belnr_f_51

                txtnr = '071'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      EXIT.

    ENDIF.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_f_51,

           wa_nf-belnr_f_51  ,

           wa_nf-dt_f_51     .

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

...

 

...

    v_fb08_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM verifica_estorno_r3 USING 'F-02'

                                      wa_nf-belnr_f_51

                                      wa_nf-dt_f_51

                             CHANGING v_answer.

    IF v_answer = 'J'.

      CLEAR: wa_nf-statusp_f_51,

             wa_nf-belnr_f_51  ,

             wa_nf-dt_f_51     .

...

 

...

                                      wa_nf-belnrf02fre

                                      wa_nf-dt_f02fre

                             CHANGING v_answer.

    IF v_answer EQ 'X'.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                msgty = 'W'

                msgv1 = wa_nf-belnrf02fre

                txtnr = '071'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

      EXIT.

    ENDIF.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = v_belnr_ant

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.

    itab_zycit050-estorno = 'X'.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

        MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

        PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

              ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

    COMMIT WORK.

  ELSE.

    LOOP AT itab_zycbt032.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                  msgty = itab_zycbt032-tpmsg

                msgv1 = itab_zycbt032-msg+0(50)

                msgv2 = itab_zycbt032-msg+50(50)

                txtnr = '015'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

    PERFORM verifica_estorno_r3 USING 'F-02'

                                      wa_nf-belnrf02fre

                                      wa_nf-dt_f02fre

                             CHANGING v_answer.

    IF v_answer = 'J'.

      CLEAR: wa_nf-belnrf02fre, wa_nf-dt_f02fre.

      IF v_existe_nfr NE 'S'.

        MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI017F01

 

...

  IF sy-subrc = 0 OR e_subrc = 4.

    PERFORM atualiza_dados_migo.

  ELSE.

    LOOP AT itab_zycit034.

      CALL FUNCTION 'MESSAGE_STORE'

           EXPORTING

                arbgb = '/PWS/ZYCIM'

                 msgty = 'E'

                msgv1 = itab_zycit034-descricao

                txtnr = '016'

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

                zeile = '01'.

* << Fim da exclusão

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

                zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

      IF sy-subrc <> 0.

      ENDIF.

* << Fim da inclusão

      v_messag = 'X'.

    ENDLOOP.

  ENDIF.

  CLEAR v_merc.

  SET PARAMETER ID '/PWS/ZYCIP005' FIELD v_merc.

ENDFORM.

...

 

...

        wa_nf-statusp_f_02      = wa_nf_aux-statusp_f_02 .

        wa_global-statusp_f_02  = wa_nf_aux-statusp_f_02 .

        wa_nf-dt_f_02           = wa_nf_aux-dt_f_02.

        wa_global-dt_f_02       = wa_nf_aux-dt_f_02.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = wa_nf-belnr_f_02

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

            PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                  ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

          ENDIF.

        ELSE.

...

 

...

          wa_nf-belnrf02seg     = wa_nf_aux-belnrf02seg.

          wa_nf-dt_f02seg       = wa_nf_aux-dt_f02seg  .

          wa_global-belnrf02seg = wa_nf_aux-belnrf02seg.

          wa_global-dt_f02seg   = wa_nf_aux-dt_f02seg  .

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = wa_nf-belnrf02seg

                    txtnr = '057'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

            MODIFY /pws/zycit041 FROM /pws/zycie041.

            IF sy-subrc EQ 0.

              MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

              PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                    ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

            ENDIF.

          ELSE.

...

 

...

          wa_nf-belnrf02fre     = wa_nf_aux-belnrf02fre.

          wa_nf-dt_f02fre       = wa_nf_aux-dt_f02fre  .

          wa_global-belnrf02fre = wa_nf_aux-belnrf02fre.

          wa_global-dt_f02fre   = wa_nf_aux-dt_f02fre  .

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = wa_nf-belnrf02fre

                    txtnr = '057'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

            MODIFY /pws/zycit041 FROM /pws/zycie041.

            IF sy-subrc EQ 0.

              MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

              PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                    ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

            ENDIF.

          ELSE.

...

 

...

        wa_nf-statusp_f_02      = wa_nf_aux-statusp_f_02 .

        wa_global-statusp_f_02  = wa_nf_aux-statusp_f_02 .

        wa_nf-dt_f_02           = wa_nf_aux-dt_f_02.

        wa_global-dt_f_02       = wa_nf_aux-dt_f_02.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = wa_nf-belnr_f_02

                  txtnr = '057'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

            PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                  ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

          ENDIF.

        ELSE.

...

 

...

FORM reverse_document_mr8m.

  e_estorno = 'MR8M'.

  CLEAR v_belnr_ant.

  IF e_mr8m_ok EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-belnr_mr1m

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mr1m,

           wa_nf-belnr_mr1m  ,

           wa_nf-dt_mr1m     .

    CLEAR v_mr1m_ok         .

    itab_zycit050-estorno = 'X'.

    v_mr8m_ok = e_mr8m_ok .

    PERFORM clear_date_batch.

  ELSE.

    IF wa_nf-belnr_mr1m  EQ '0000000000' AND

...

 

...

                                          cpochv = wa_nf-nrseq

                                          tpmsg  = 'S'.

        IF sy-subrc EQ 0.

          PERFORM fill_date_f_51_docs_miro.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = v_belnr_ant

                    txtnr = '030'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          itab_zycit050-estorno = 'X'.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

            MODIFY /pws/zycit041 FROM /pws/zycie041.

            IF sy-subrc EQ 0.

              MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

              PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                    ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

            ENDIF.

...

 

...

          COMMIT WORK.

        ELSE.

          LOOP AT itab_zycit032.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                      msgty = itab_zycit032-tpmsg

                      msgv1 = itab_zycit032-msg+0(50)

                      msgv2 = itab_zycit032-msg+50(50)

                      txtnr = '015'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

          PERFORM clear_date_batch.

        ENDIF.

      ENDIF.

    ELSE.

      READ TABLE itab_zycit032 WITH KEY tcode  = 'MR8M'

                                  tabela = 'WA_NF'

                                  cpochv = wa_nf-nrseq

                                  tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        PERFORM fill_date_f_51_docs_miro.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = v_belnr_ant

                  txtnr = '030'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        itab_zycit050-estorno = 'X'.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

            PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                  ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

          ENDIF.

...

 

...

        COMMIT WORK.

      ELSE.

        LOOP AT itab_zycit032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycit032-tpmsg

                    msgv1 = itab_zycit032-msg+0(50)

                    msgv2 = itab_zycit032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM clear_date_batch.

      ENDIF.

    ENDIF.

    CLEAR e_estorno.

  ENDIF.

ENDFORM.

...

 

...

FORM reverse_document_mbst.

  e_estorno = 'MBST'.

  CLEAR v_belnr_ant.

  IF e_mbst_ok EQ 'S'.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'I'

              msgv1 = wa_nf-mblnr_mb01

              txtnr = '030'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

    CLEAR: wa_nf-statusp_mb01,

           wa_nf-mblnr_mb01  ,

           wa_nf-dt_mb01     .

    itab_zycit050-estorno = 'X'.

    v_mbst_ok = e_mbst_ok.

    IF v_existe_nfr NE 'S'.

      MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

      MODIFY /pws/zycit041 FROM /pws/zycie041.

      IF sy-subrc EQ 0.

...

 

...

                                          tabela = 'WA_NF'

                                          cpochv = wa_nf-nrseq

                                          tpmsg  = 'S'.

        IF sy-subrc EQ 0.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = 'I'

                    msgv1 = v_belnr_ant

                    txtnr = '030'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

          CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

          itab_zycit050-estorno = 'X'.

          IF v_existe_nfr NE 'S'.

            MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

            MODIFY /pws/zycit041 FROM /pws/zycie041.

            IF sy-subrc EQ 0.

              MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

              PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                    ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

          CLEAR v_mb01_ok.

        ELSE.

          LOOP AT itab_zycit032.

            CALL FUNCTION 'MESSAGE_STORE'

                 EXPORTING

                      arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycit032-tpmsg

                      msgv1 = itab_zycit032-msg+0(50)

                      msgv2 = itab_zycit032-msg+50(50)

                      txtnr = '015'

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

                      zeile = '01'.

* << Fim da exclusão

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

                      zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

            IF sy-subrc <> 0.

            ENDIF.

* << Fim da inclusão

            v_messag = 'X'.

          ENDLOOP.

          PERFORM clear_date_batch.

        ENDIF.

      ENDIF.

    ELSE.

      READ TABLE itab_zycit032 WITH KEY tcode  = 'MBST'

                                        tabela = 'WA_NF'

                                        cpochv = wa_nf-nrseq

                                        tpmsg  = 'S'.

      IF sy-subrc EQ 0.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

                  msgty = 'I'

                  msgv1 = v_belnr_ant

                  txtnr = '030'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

        CLEAR: wa_nf-statusp_mb01, wa_nf-mblnr_mb01, wa_nf-dt_mb01.

        itab_zycit050-estorno = 'X'.

        IF v_existe_nfr NE 'S'.

          MOVE-CORRESPONDING wa_nf TO /pws/zycie041.

          MODIFY /pws/zycit041 FROM /pws/zycie041.

          IF sy-subrc EQ 0.

            MOVE-CORRESPONDING /pws/zycie041 TO /pws/zycit041.

            PERFORM carrega_log USING '/PWS/ZYCIT041' 'U'

                  ' '  '/PWS/SAPMZYCI016' /pws/zycit041-nrseq.

...

 

...

        CLEAR v_mb01_ok.

      ELSE.

        LOOP AT itab_zycit032.

          CALL FUNCTION 'MESSAGE_STORE'

               EXPORTING

                    arbgb = '/PWS/ZYCIM'

                    msgty = itab_zycit032-tpmsg

                    msgv1 = itab_zycit032-msg+0(50)

                    msgv2 = itab_zycit032-msg+50(50)

                    txtnr = '015'

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

                    zeile = '01'.

* << Fim da exclusão

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

                    zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

          IF sy-subrc <> 0.

          ENDIF.

* << Fim da inclusão

          v_messag = 'X'.

        ENDLOOP.

        PERFORM clear_date_batch.

      ENDIF.

    ENDIF.

    CLEAR e_estorno.

  ENDIF.

ENDFORM.

...

 

...

  PERFORM preenche_t_doc.

  LOOP AT itab_zycbt034.

    CALL FUNCTION 'MESSAGE_STORE'

         EXPORTING

              arbgb = '/PWS/ZYCIM'

              msgty = 'E'

              msgv1 = itab_zycbt034-descricao

              txtnr = '016'

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

              zeile = '01'.

* << Fim da exclusão

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

              zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

    IF sy-subrc <> 0.

    ENDIF.

* << Fim da inclusão

    v_messag = 'X'.

  ENDLOOP.

  IF itab_zycbt034[] IS INITIAL.

    CLEAR v_subrc.

    IF v_subrc NE 'X'.

      PERFORM verifica_exit USING 'D'

                                  '/PWS/SAPMZYCI017'

                                  'RCB007'.

      CLEAR itab_zyglt100 .

      READ TABLE itab_zyglt100 WITH KEY zexit = 'RCB007'  BINARY SEARCH.

...

 

...

       OR e_subrc NE '0'.

      PERFORM atualiza_dados_f51.

    ELSE.

      LOOP AT itab_zycbt034.

        CALL FUNCTION 'MESSAGE_STORE'

             EXPORTING

                  arbgb = '/PWS/ZYCIM'

              msgty = 'E'

                  msgv1 = itab_zycbt034-descricao

                  txtnr = '016'

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

                  zeile = '01'.

* << Fim da exclusão

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

                  zeile = '01'

           EXCEPTIONS

                message_type_not_valid        = 1

                not_active                    = 2

                OTHERS                        = 3.

        IF sy-subrc <> 0.

        ENDIF.

* << Fim da inclusão

        v_messag = 'X'.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

...