CE PLUS - Nota 006155

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Mercadoria

Data/Hora da Publicação: 12/03/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:11:17

Descrição da Nota: TRATAMENTO PARA DOCUMENTOS ESTORNADOS POR FORA DO PWCE

Sintoma

Desenvolvido tratamento para documentos da fatura que foram estornados por fora da Fatura.

 

 

Solução

Desenvolvido tratamento para documentos da fatura que foram estornados por fora da Fatura.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DEV.ADIC. VERIFICA FATURAS DUPLICADAS

EXIT FAT008 DO PROGRAMA /PWS/SAPMZYCI003

ESTORNO FATURA ELIMINADA POR FORA

Informações Complementares

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

Nota Número 06155 Data: 12/03/2008 Hora: 11:22:37

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

 

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

Nota Número              : 06155

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00038

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

Referência às notas relacionadas:

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

 

01216  - 00001 - 6.0    - 00023  - DEV.ADIC. VERIFICA FATURAS DUPLICADAS

02864  - 00002 - 6.0    - 00026  - ESTORNO FATURA ELIMINADA POR FORA

05622  - 00003 - 7.0    - 00004  - EXIT FAT008 DO PROGRAMA /PWS/SAPMZYCI003

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

TRATAMENTO PARA DOCUMENTOS ESTORNADOS POR FORA DO PWCE

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

Palavras Chave:

TRATAMENTO - DOCUMENTOS - ESTORNO - SAP - FORA - PWCE

/PWS/SAPMZYCI003

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

Objetos da nota:

REPS /PWS/MZYCI003F01

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003X01

REPT /PWS/SAPMZYCI003

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F01

 

...

 

        IF /pws/zycie006-tpfatura = '02'.

          LOOP AT itab_zycit003.

            DELETE FROM /pws/zycit036

                   WHERE codigo = 'FRETEI'

                     AND nrseq  = itab_zycit003-nrseq

                     AND ebeln  = itab_zycit003-ebeln

                     AND ebelp  = itab_zycit003-ebelp

                     AND codmod = 'D'

                     AND origem = 'FAT'

                     AND nrseqori = /pws/zycie006-nrseq.

 

          ENDLOOP.

        ELSEIF /pws/zycie006-tpfatura = '03'.

 

          LOOP AT itab_zycit003.

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

          IF v_erro ne 'X'.

* >> Fim da inclusão: FORM ELIMINAR_FATURA

            DELETE FROM /pws/zycit036

                   WHERE codigo = 'SEGURO'

                     AND nrseq  = itab_zycit003-nrseq

                     AND ebeln  = itab_zycit003-ebeln

                     AND ebelp  = itab_zycit003-ebelp

                     AND codmod = 'D'

                     AND origem = 'FAT'

                     AND nrseqori = /pws/zycie006-nrseq.

 

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

             ENDIF.

* >> FIM da inclusão: FORM ELIMINAR_FATURA

          ENDLOOP.

        ENDIF.

      ENDIF.

      UPDATE /pws/zycbt108 SET status   = 'E'

                      WHERE bukrs    = /pws/zycie006-bukrs

                        AND belnr    = /pws/zycie006-nrseq

                        AND gjahr    = /pws/zycie006-dtincl+0(4).

      UPDATE /pws/zycbt119 SET status   = 'E'

                    WHERE nrseq   = /pws/zycie006-nrseq_pgfat.

      IF NOT /pws/zycie006-nrseqre IS INITIAL.

        DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.

      ENDIF.

    ENDIF.

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

 

FORM reverse_document_mbst.

  DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.

  DATA: BEGIN OF itab_itens_nf OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit044.

  DATA: END   OF itab_itens_nf.

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

  e_estorno = 'MBST'.

* << Fim da inclusão

  CLEAR v_belnr_ant.

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT008'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT008' BINARY SEARCH.

  IF sy-subrc EQ 0.

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

    e_estorno = 'MBST'.

* << Fim da inclusão

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

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

      e_estorno = 'MBST'.

* << Fim da exclusão

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF e_subrc EQ '0'.

    itab_zycie033-tcode  = 'MBST'.

...

 

...

        /pws/zycie006-mblnr_mb01, /pws/zycie006-dt_mb01.

        PERFORM clear_date_batch.

        v_mbst_ok = 'S'.

        CLEAR v_mb01_ok.

      ELSE.

        LOOP AT itab_zycit032.

          MESSAGE i015 WITH itab_zycit032-msg+0(50)

                            itab_zycit032-msg+50(50).

        ENDLOOP.

        PERFORM clear_date_batch.

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

        PERFORM verifica_estorno_r3 CHANGING v_mbst_ok

                                             v_answer.

* << Fim da inclusão

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

        PERFORM popup_message USING text-026 text-025.

        IF v_answer = 'J'.

         v_mbst_ok = 'S'.

        ENDIF.

* << Fim da exclusão

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM reverse_document_mr8m.

  DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.

  CLEAR v_belnr_ant.

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

  e_estorno = 'MR8M'.

* << Fim da inclusão

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT008'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT008' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

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

      e_estorno = 'MR8M'.

* << Fim da exclusão

      PERFORM (itab_zyglt100-formulario) IN PROGRAM

          (itab_zyglt100-programa) IF FOUND.

    ENDIF.

  ENDIF.

  IF e_subrc EQ '0'.

    PERFORM get_parameters_mrm1_receb.

    itab_zycie033-tcode  = 'MR8M'.

    itab_zycie033-tabela = '/PWS/ZYCIT006'.

    itab_zycie033-cpochv = /pws/zycie006-nrseq.

    itab_zycie033-bukrs  = /pws/zycie006-bukrs.

...

 

...

    APPEND itab_zycie033.

    e_subrc = '0' .

    PERFORM verifica_exit USING 'D'

                                '/PWS/SAPMZYCI003'

                                'FAT009'.

    CLEAR itab_zyglt100 .

    READ TABLE itab_zyglt100 WITH KEY

                     zexit = 'FAT009' BINARY SEARCH.

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

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

        e_estorno = 'REC_MR8M' .

* << Fim da exclusão

        PERFORM (itab_zyglt100-formulario) IN PROGRAM

            (itab_zyglt100-programa) IF FOUND.

      ENDIF.

    ENDIF.

    CALL FUNCTION '/PWS/ZYCI_TRANSACAO_MR8M'

         EXPORTING

              v_modo          = v_modo_bi

         TABLES

              t_dados         = itab_zycie033

              t_campo         = itab_zycit034

...

 

...

        PERFORM clear_date_batch.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        v_mr8m_ok = 'S'.

        CLEAR v_mr1m_ok.

      ELSE.

        LOOP AT itab_zycit032.

          MESSAGE i015 WITH itab_zycit032-msg+0(50)

                            itab_zycit032-msg+50(50).

        ENDLOOP.

        PERFORM clear_date_batch.

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

        PERFORM verifica_estorno_r3 CHANGING v_mr8m_ok

                                             v_answer.

* << Fim da inclusão

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

        PERFORM popup_message USING text-026 text-025.

        IF v_answer = 'J'.

         v_mr8m_ok = 'S'.

* << Fim da exclusão

        ENDIF.

      ENDIF.

    ENDIF.

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

  ENDIF.

* << Fim da exclusão

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

  CLEAR e_estorno.

* << Fim da inclusão

ENDFORM.

...

 

...

 

FORM reverse_documento_contab_fbra.

  DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.

  CLEAR v_belnr_ant.

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

  e_estorno = 'FBRA'.

* << Fim da inclusão

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT008'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT008' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      e_estorno = 'FBRA'.

...

 

...

                t_zycbt032      = itab_zycbt032

           EXCEPTIONS

                campo_em_branco = 1

                OTHERS          = 2.

      IF sy-subrc = 0.

        PERFORM atualiza_fbra_rec.

      ELSE.

        LOOP AT itab_zycbt034.

          MESSAGE i016 WITH itab_zycbt034-descricao.

        ENDLOOP.

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

        PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

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

        PERFORM verifica_estorno_r3 CHANGING v_fbra_ok

                                             v_answer.

* << Fim da inclusão

        IF v_answer = 'J'.

          PERFORM historico_recebimento USING /pws/zycie006-belnr_f_51

                                              'F-51'.

          CLEAR: /pws/zycie006-statusp_f_51,

                 /pws/zycie006-belnr_f_51  ,

                 /pws/zycie006-dt_f_51     .

          v_fbra_ok = 'S'.

        ENDIF.

      ENDIF.

    ELSEIF e_subrc EQ '4'.

      PERFORM atualiza_fbra_rec.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

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

      PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

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

      PERFORM verifica_estorno_r3 CHANGING v_fbra_ok

                                           v_answer.

* << Fim da inclusão

      IF v_answer = 'J'.

        PERFORM historico_recebimento USING /pws/zycie006-belnr_f_51

                                            'F-51'.

        CLEAR: /pws/zycie006-statusp_f_51,

               /pws/zycie006-belnr_f_51  ,

               /pws/zycie006-dt_f_51     .

        v_fbra_ok = 'S'.

      ENDIF.

    ENDIF.

  ENDIF.

...

 

...

                t_itens_nf      = itab_itens_nf

           EXCEPTIONS

                campo_em_branco = 1

                OTHERS          = 2.

      IF sy-subrc = 0.

        PERFORM atualiza_mbst_rec.

      ELSE.

        LOOP AT itab_zycbt034.

          MESSAGE i016 WITH itab_zycbt034-descricao.

        ENDLOOP.

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

        PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

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

        PERFORM verifica_estorno_r3 CHANGING v_mbst_ok

                                             v_answer.

* << Fim da inclusão

        IF v_answer = 'J'.

          PERFORM historico_recebimento USING /pws/zycie006-mblnr_mb01

                                              'MIGO'.

          CLEAR: /pws/zycie006-statusp_mb01, /pws/zycie006-mblnr_mb01,

                 /pws/zycie006-dt_mb01.

          v_mbst_ok = 'S'.

        ENDIF.

      ENDIF.

    ELSEIF e_subrc EQ '4'.

      PERFORM atualiza_mbst_rec.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

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

      PERFORM verifica_estorno_r3 CHANGING v_mbst_ok

                                           v_answer.

* << Fim da inclusão

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

      PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

      IF v_answer = 'J'.

        PERFORM historico_recebimento USING /pws/zycie006-mblnr_mb01

                                            'MIGO'.

        CLEAR: /pws/zycie006-statusp_mb01, /pws/zycie006-mblnr_mb01,

               /pws/zycie006-dt_mb01.

        v_mbst_ok = 'S'.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

  IF v_parcela = 'X'.

    SELECT SINGLE *

      FROM bkpf

      WHERE belnr EQ /pws/zycie006-belnr_p

        AND gjahr EQ /pws/zycie006-dtincl+0(4)

        AND bukrs EQ /pws/zycie006-bukrs.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT132'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

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

    IF sy-subrc EQ 0 OR NOT bkpf-stblg IS INITIAL.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 AND  NOT bkpf-stblg IS INITIAL.

* << Fim da inclusão

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        v_rev = 'X'.

        PERFORM clear_date_batch.

        IF v_estorno IS INITIAL.

          IF itab_zycit132-mark NE 'X' AND itab_zycit132-status NE 'X'.

            PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

            PERFORM fill_date_f-43_f-02.

...

 

...

        itab_zycit132-status = 'X'.

        itab_zycit132-eliminado = 'X'.

        MODIFY itab_zycit132.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt032.

        MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                          itab_zycbt032-msg+50(50).

      ENDLOOP.

      PERFORM clear_date_batch.

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

      PERFORM verifica_estorno_r3 CHANGING v_erro

                                           v_answer.

      IF v_erro = 'S'.

* << Fim da inclusão

      v_erro = 'X'.

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

      ENDIF.

      IF v_answer = 'J'.

        CLEAR: /pws/zycie006-belnr_p, /pws/zycie006-statusp.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        COMMIT WORK.

        PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

        PERFORM fill_date_f-43_f-02.

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ELSE.

    SELECT SINGLE *

      FROM bkpf

      WHERE belnr EQ /pws/zycie006-belnr_p

        AND gjahr EQ /pws/zycie006-dtincl+0(4)

        AND bukrs EQ /pws/zycie006-bukrs.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FB08'

                                      tabela = '/PWS/ZYCIT006'

                                      cpochv = /pws/zycie006-nrseq

                                      tpmsg  = 'S'.

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

    IF sy-subrc EQ 0 OR NOT bkpf-stblg IS INITIAL.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.

* << Fim da inclusão

      MESSAGE i030 WITH v_belnr_ant.

      IF okcode NE 'DELE'.

        CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.

        MODIFY /pws/zycit006 FROM /pws/zycie006.

        PERFORM clear_date_batch.

        IF v_estorno IS INITIAL.

          PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

          PERFORM fill_date_f-43_f-02.

        ENDIF.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt032.

        MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                          itab_zycbt032-msg+50(50).

      ENDLOOP.

      PERFORM clear_date_batch.

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

      PERFORM verifica_estorno_r3 CHANGING v_erro

                                           v_answer.

      IF v_erro = 'S'.

* << Fim da inclusão

      v_erro = 'X'.

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

      ENDIF.

      IF v_answer = 'J'.

        IF okcode NE 'DELE'.

          CLEAR: /pws/zycie006-belnr_p, /pws/zycie006-statusp.

          MODIFY /pws/zycit006 FROM /pws/zycie006.

          COMMIT WORK.

          PERFORM dele_custo USING /pws/zycit031-inco1_ci space.

          PERFORM fill_date_f-43_f-02.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      /pws/zycie006 = wa_zycie006_ini.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

    PERFORM historico_recebimento USING /pws/zycie006-belnr_f_51

                                        'F-51'.

    CLEAR: /pws/zycie006-statusp_f_51 , /pws/zycie006-belnr_f_51,

           /pws/zycie006-dt_f_51.

    v_fbra_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                                          itab_zycbt032-msg+50(50).

    ENDLOOP.

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

    PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

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

    PERFORM verifica_estorno_r3 CHANGING v_fbra_ok

                                         v_answer.

* << Fim da inclusão

    IF v_answer = 'J'.

      PERFORM historico_recebimento USING /pws/zycie006-belnr_f_51

                                          'F-51'.

      CLEAR: /pws/zycie006-statusp_f_51,

             /pws/zycie006-belnr_f_51  ,

             /pws/zycie006-dt_f_51     .

      v_fbra_ok = 'S'.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

    MESSAGE i030 WITH v_belnr_ant.

    CLEAR: /pws/zycie006-statusp_f_51,

           /pws/zycie006-belnr_f_51  ,

           /pws/zycie006-dt_f_51     .

    v_fb08_ok = 'S'.

  ELSE.

    LOOP AT itab_zycbt032.

      MESSAGE i015 WITH itab_zycbt032-msg+0(50)

                                          itab_zycbt032-msg+50(50).

    ENDLOOP.

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

    IF v_answer = 'J' AND v_fbra_ok = 'S'.

      CLEAR: /pws/zycie006-statusp_f_51,

             /pws/zycie006-belnr_f_51  ,

             /pws/zycie006-dt_f_51     .

      v_fb08_ok = 'S'.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

    ENDIF.

* << Fim da inclusão

    PERFORM clear_date_batch.

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

    MODIFY /pws/zycit006 FROM /pws/zycie006.

* << Fim da exclusão

  ENDIF.

ENDFORM.

...

 

...

                                        'MIGO'.

    CLEAR: /pws/zycie006-statusp_mb01, /pws/zycie006-mblnr_mb01,

           /pws/zycie006-dt_mb01.

    v_mbst_ok = 'S'.

  ELSE.

    LOOP AT itab_zycit032.

      MESSAGE i015 WITH itab_zycit032-msg+0(50)

                        itab_zycit032-msg+50(50).

    ENDLOOP.

    PERFORM clear_date_batch.

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

    PERFORM verifica_estorno_r3 CHANGING v_mbst_ok

                                         v_answer.

* << Fim da inclusão

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

    PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

    IF v_answer = 'J'.

      PERFORM historico_recebimento USING /pws/zycie006-mblnr_mb01

                                          'MIGO'.

      CLEAR: /pws/zycie006-statusp_mb01, /pws/zycie006-mblnr_mb01,

             /pws/zycie006-dt_mb01.

      v_mbst_ok = 'S'.

    ENDIF.

  ENDIF.

ENDFORM.

 

...

 

...

    CLEAR: /pws/zycie006-statusp_mr1m, /pws/zycie006-belnr_mr1m,

           /pws/zycie006-dt_mr1m.

    MODIFY /pws/zycit006 FROM /pws/zycie006.

    v_mr8m_ok = 'S'.

    CLEAR v_mr1m_ok.

  ELSE.

    LOOP AT itab_zycit032.

      MESSAGE i015 WITH itab_zycit032-msg+0(50)

                        itab_zycit032-msg+50(50).

    ENDLOOP.

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

    PERFORM verifica_estorno_r3 CHANGING v_mr8m_ok

                                         v_answer.

* << Fim da inclusão

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

    PERFORM popup_message USING text-026 text-025.

* << Fim da exclusão

    IF v_answer = 'J'.

      PERFORM historico_recebimento USING /pws/zycie006-belnr_mr1m

                                          'MIRO'.

      CLEAR: /pws/zycie006-statusp_mr1m, /pws/zycie006-belnr_mr1m,

             /pws/zycie006-dt_mr1m.

      MODIFY /pws/zycit006 FROM /pws/zycie006.

      v_mr8m_ok = 'S'.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

 

 

* >> Início da inclusão:

FORM verifica_estorno_r3 CHANGING p_var

                                  v_answer.

  IF e_estorno = 'MR8M'.

    SELECT SINGLE * FROM rbkp

              WHERE belnr EQ /pws/zycie006-belnr_mr1m

              AND   gjahr EQ /pws/zycie006-dt_mr1m+0(4).

    IF sy-subrc EQ 0 AND NOT rbkp-stblg IS INITIAL.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        p_var = 'S'.

      ELSE.

        CLEAR p_var.

      ENDIF.

    ELSE.

      CLEAR p_var.

      MESSAGE i015 WITH text-186.

    ENDIF.

  ELSEIF e_estorno = 'MBST' OR e_estorno = 'REC_MBST'.

    SELECT  SINGLE * FROM mseg

        WHERE smbln EQ /pws/zycie006-mblnr_mb01

        AND   sjahr EQ /pws/zycie006-dt_mb01+0(4).      "#EC CI_NOFIRST

    IF sy-subrc EQ 0.

      PERFORM popup_message USING text-026 text-025.

      IF v_answer = 'J'.

        p_var = 'S'.

      ELSE.

        CLEAR p_var.

      ENDIF.

    ELSE.

      CLEAR p_var.

      MESSAGE i015 WITH text-186.

    ENDIF.

  ELSE.

    CLEAR: bkpf.

    IF e_estorno = 'FBRA'.

      SELECT SINGLE * FROM bkpf

                WHERE bukrs EQ /pws/zycie006-bukrs

                AND   belnr EQ /pws/zycie006-belnr_f_51

                AND   gjahr EQ /pws/zycie006-dt_f_51+0(4).

    ELSE.

      SELECT SINGLE * FROM bkpf

                WHERE bukrs EQ /pws/zycie006-bukrs

                AND   belnr EQ /pws/zycie006-belnr_p

                AND   gjahr EQ /pws/zycie006-dtincl+0(4).

    ENDIF.

    IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.

      PERFORM popup_message USING text-026 text-025.

      IF e_estorno = 'FBRA'.

        IF v_answer = 'J'.

          p_var = 'S'.

        ELSE.

          CLEAR p_var.

        ENDIF.

      ELSE.

        IF v_answer = 'J'.

          CLEAR p_var.

        ELSE.

          p_var = 'S'.

        ENDIF.

      ENDIF.

    ELSE.

      IF e_estorno = 'FBRA'.

        CLEAR p_var.

      ELSE.

        p_var = 'S'.

      ENDIF.

      MESSAGE i015 WITH text-186.

    ENDIF.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

  /pws/zycet076,

  /pws/zycbt131,

  /pws/zycit048,

  rbkp,

  /pws/zyglt217,

  /pws/zycit391,

  j_1bbranch   ,

  adrc         ,

  /pws/zycit270,

  /pws/zycbt130,

* >> Início da exclusão:

  t169p.

* << Fim da exclusão

* >> Início da inclusão:

  t169p,

  MSEG.

* << Fim da inclusão

DATA: BEGIN OF COMMON PART a.

DATA: BEGIN OF itab_zycit003 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycie003.

DATA: total LIKE /pws/zycit036-vldif,

      livre(1) TYPE c,

      invoiced LIKE /pws/zycie263-qtd_iten,

      toinv    LIKE /pws/zycie263-qtd_iten,

      vlfre_aux LIKE /pws/zycit036-vlmov,

      vlseg_aux LIKE /pws/zycit036-vlmov,

      marc.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCI003

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 186

 

Texto: (33 caracteres)

"Documento não pode ser estornado."

 

Comprimento máximo: 33