CE PLUS - Nota 006077

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Despesas

Data/Hora da Publicação: 29/02/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 16:55:16

Descrição da Nota: DESPESAS DE EXPORTAÇÃO

Sintoma

Desenvolvimento adicional - Despesa de exportação

 

 

Solução

Foram desenvolvidos e ajustados os ítens abaixo para que o programa possa contabilizar despesas de

exportação.

 

Definição de domínio:

¿ /PWS/ZYCBD042

 

Definição elemento dados:

¿ /PWS/ZYCBL296

 

Tela:

¿ /PWS/SAPMZYCB105                        0101

 

Módulo de função:

¿ /PWS/ZYGL_TRANSACAO_F_02

 

Mensagem individual:

¿ /PWS/ZYCBM308

¿ /PWS/ZYCBM309

 

Fonte report:

¿ /PWS/MZYCA110F01

¿ /PWS/MZYCB105F01

¿ /PWS/MZYCB105I01

¿ /PWS/MZYCB105O01

¿ /PWS/MZYCB105TOP

¿ /PWS/MZYCB110F01

¿ /PWS/MZYCB110I01

¿ /PWS/MZYCB115F01

¿ /PWS/MZYCB115F02

¿ /PWS/MZYCM110F01

¿ /PWS/MZYGL110F01

¿ /PWS/MZYGL110TOP

¿ /PWS/ZYCBI102

¿ /PWS/ZYCBN102

¿ /PWS/ZYCBR102

¿ /PWS/ZYGLR002

 

Textos de report:

¿ /PWS/SAPMZYCB105

¿ /PWS/ZYGLR002

 

Definição de tabelas:

¿ /PWS/ZYCBE118

¿ /PWS/ZYCBT120

 

Grupo de funções:

¿ /PWS/ZYGLGF1

 

Arquivo de estrutura geral: definição de uma estrutura:

¿ /PWS/ZYCB

 

Arquivo geral estrut.: atribuição ID ampliação p/estrutura:

¿ /PWS/ZYCB

 

Ajuda para pesquisa:

¿ /PWS/ZYCBA283

¿ /PWS/ZYCBA284

 

Visão:

¿ /PWS/ZYCBV221

¿ /PWS/ZYCBV222

 

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

COMPLEMENTO DO BOLETO - TIPO RAZÃO ESPECIAL

PROCESSAR BOLETO - DESPESAS - VALOR MI - JPY

DESPESAS IMPORTAÇÃO/FINANCEIRO - ROTINA DE PAGAMENTO - FILIAL

COMPLEMENTO DO BOLETO DE REMESSA - TAXA AO RECONTABILIZAR IMPOSTOS

SAÍDA DE PAGAMENTO - LOCAL DE NEGÓCIO - BUPLA - F-51 - F-53

COMPLEMENTO DO BOLETO - CAMPOS BUPLA E BRNCH

COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004 PBI004

DESPESAS DE FINANCEIRO COM REGIME DE COMPETÊNCIA

COMPLEMENTO DO BOLETO - BUSCA AUTOMATICA DA TAXA PELA OB08

PROCESSAR BOLETO INCLUSÃO EXIT PBE002 CMP007

PROCESSAR BOLETO (AGRUPAR) DESPESAS EXPORTAÇÃO

CODE INSPECTOR , VERIFICAÇÃO AMPLIADA , RELATORIOS GL

COMPLEMENTO DO BOLETO PROCESSAR BOLETO DESPESAS

COMPLEMENTO DO BOLETO

DESENVOLVIMENTO ADICIONAL - SAÍDA DE PAGAMENTO UTILIZANDO CONTA CORRENTE

COMPLEMENTO DO BOLETO - COMISSÃO DE AGENTE - DADOS CONTRATO

Informações Complementares

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

Nota Número 06077 Data: 29/02/2008 Hora: 14:21:33

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

 

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

Nota Número              : 06077

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00036

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

Referência às notas relacionadas:

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

 

01205  - 00005 - 6.0    - 00023  - PROCESSAR BOLETO (AGRUPAR) DESPESAS EXPORTAÇÃO

01532  - 00014 - 6.0    - 00024  - COMPLEMENTO DO BOLETO PROCESSAR BOLETO DESPESAS

02659  - 00011 - 6.0    - 00026  - COMPLEMENTO DO BOLETO DE REMESSA - TAXA AO RECONTABILIZAR IMPOSTO

02919  - 00001 - 6.0    - 00026  - DESPESAS DE FINANCEIRO COM REGIME DE COMPETÊNCIA

02949  - 00012 - 6.0    - 00026  - PROCESSAR BOLETO INCLUSÃO EXIT PBE002 CMP007

03371  - 00015 - 6.0    - 00026  - PROCESSAR BOLETO - DESPESAS - VALOR MI - JPY

03563  - 00007 - 7.0    - 00001  - COMPLEMENTO DO BOLETO - CAMPOS BUPLA E BRNCH

03724  - 00006 - 7.0    - 00001  - COMPLEMENTO DO BOLETO - TIPO RAZÃO ESPECIAL

03827  - 00003 - 7.0    - 00001  - DESPESAS IMPORTAÇÃO/FINANCEIRO - ROTINA DE PAGAMENTO - FILIAL

04094  - 00010 - 7.0    - 00002  - COMPLEMENTO DO BOLETO - BUSCA AUTOMATICA DA TAXA PELA OB08

04288  - 00008 - 7.0    - 00002  - COMPLEMENTO DO BOLETO - COMISSÃO DE AGENTE - DADOS CONTRATO

04712  - 00009 - 7.0    - 00003  - COMPLEMENTO DO BOLETO

05388  - 00013 - 7.0    - 00003  - COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004

05469  - 00002 - 7.0    - 00003  - DESENVOLVIMENTO ADICIONAL - SAÍDA DE PAGAMENTO UTILIZANDO CONTA C

05724  - 00016 - 7.0    - 00004  - CODE INSPECTOR , VERIFICAÇÃO AMPLIADA , RELATORIOS GL

05890  - 00004 - 7.0    - 00004  - SAÍDA DE PAGAMENTO - LOCAL DE NEGÓCIO - BUPLA - F-51 - F-53

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

DESPESAS DE EXPORTAÇÃO

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

Palavras Chave:

DESPESAS DE EXPORTAÇÃO - DESENVOLVIMENTO ADICIONAL

 

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

Objetos da nota:

DOMD /PWS/ZYCBD042

DTED /PWS/ZYCBL296

DYNP /PWS/SAPMZYCB105                        0101

FUGR /PWS/ZYGLGF1

FUNC /PWS/ZYGL_TRANSACAO_F_02

MESS /PWS/ZYCBM308

MESS /PWS/ZYCBM309

REPS /PWS/MZYCA110F01

REPS /PWS/MZYCB105F01

REPS /PWS/MZYCB105I01

REPS /PWS/MZYCB105O01

REPS /PWS/MZYCB105TOP

REPS /PWS/MZYCB110F01

REPS /PWS/MZYCB110I01

REPS /PWS/MZYCB115F01

REPS /PWS/MZYCB115F02

REPS /PWS/MZYCM110F01

REPS /PWS/MZYGL110F01

REPS /PWS/MZYGL110TOP

REPS /PWS/ZYCBI102

REPS /PWS/ZYCBN102

REPS /PWS/ZYCBR102

REPS /PWS/ZYGLR002

REPT /PWS/SAPMZYCB105

REPT /PWS/ZYGLR002

SHI3 /PWS/ZYCB

SHI6 /PWS/ZYCB

SHLP /PWS/ZYCBA283

SHLP /PWS/ZYCBA284

TABD /PWS/ZYCBE118

TABD /PWS/ZYCBT120

TABU TDDAT

TABU TMENU01

TABU TMENU01R

TABU TMENU01T

TABU TVDIR

TOBJ /PWS/ZYCBT120S

VIEW /PWS/ZYCBV221

VIEW /PWS/ZYCBV222

 

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

Modificações efetuadas em DOMD /PWS/ZYCBD042

 

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

Domínio modificado: /PWS/ZYCBD042

-Valores individuais

Incluído valor fixo "E"

Texto incluído, idioma: PT (17 caracteres):

"Câmbio Exportação"

 

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

Modificações efetuadas em DTED /PWS/ZYCBL296

 

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

Elemento de dados modificado: /PWS/ZYCBL296

Descrição breve modificada (26 caracteres), idioma: PT

"GL - Código Módulo (I/F/E)"

Denominador breve modificado (8 caracteres), idioma: PT

"Cód.Mód."

Denominador médio modificado (11 caracteres), idioma: PT

"Código Mód."

Comprimento máximo do denominador longo: 21

Denominador longo modificado (21 caracteres), idioma: PT

"Código Módulo (I/F/E)"

Comprimento máximo do título: 21

Título modificado (21 caracteres), idioma: PT

"Código Módulo (I/F/E)"

 

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCB105                        0101

 

PROCESS BEFORE OUTPUT.

  MODULE: set_screen,

          load_data,

          taxa.

PROCESS AFTER INPUT.

  FIELD /pws/zycbe118-dtvencto MODULE consiste_vencimento.

* >> Início da inclusão:

  FIELD /pws/zycbe118-codmodul MODULE consiste_associacao.

* << Fim da inclusão

  MODULE user_command_0101.

PROCESS ON VALUE-REQUEST.

  FIELD /pws/zycbe118-nrref MODULE seta_matchcode.

 

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_TRANSACAO_F_02

 

FUNCTION /pws/zygl_transacao_f_02.

  DATA:

    v_string_debito      LIKE tbsl-faus1,

    v_string_credito     LIKE tbsl-faus1,

    v_data_doc_char(10)  TYPE c,

    v_data_lanc_char(10) TYPE c,

    v_data_val_char(10)  TYPE c,

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

    v_data_venc_char(10) TYPE c,

    v_datalanc           TYPE sy-datum,

* << Fim da inclusão

    v_kursf(9)           TYPE c,

    v_wrbtr(16)          TYPE c,

    v_dmbtr(16)          TYPE c,

    v_chave_debito       LIKE tbsl-bschl VALUE '40',

    v_chave_credito      LIKE tbsl-bschl VALUE '50',

    v_nrmsg              TYPE i VALUE 0,

    v_transacao(4)       TYPE c,

    v_mode               TYPE c,

    v_update             TYPE c,

    v_msgid              LIKE t100-arbgb,

...

 

...

    WHERE bukrs = t_dados-bukrs.

    IF sy-subrc = 0.

      IF v_fdtdoc = 'D'.

        t_dados-bldat = sy-datum.

      ELSE.

        t_dados-bldat = t_dados-budat.

      ENDIF.

    ENDIF.

    WRITE: t_dados-bukrs TO v_bukrs,

           t_dados-bldat TO v_data_doc_char,

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

           t_dados-zfbdt TO v_data_venc_char,

* << Fim da inclusão

           t_dados-budat TO v_data_lanc_char,

           t_dados-kursf TO v_kursf.

    SELECT SINGLE periv FROM t001

                 INTO v_periv

                 WHERE bukrs EQ v_bukrs.

    CALL FUNCTION 'DETERMINE_PERIOD'

         EXPORTING

              date                = t_dados-budat

              version             = v_periv

         IMPORTING

...

 

...

              version_undefined   = 3

              OTHERS              = 4.

    v_gjahr = v_date.

    v_koart = 'S'.

    PERFORM check_periodo USING    v_koart

                                   v_monat

                                   v_bukrs

                                   v_gjahr

                          CHANGING v_data_lanc_char

                                   v_ok.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

    IF sy-ucomm = 'SAVE'.

      sy-ucomm = 'PROC'.

    ENDIF.

    FREE: MEMORY ID '0156'.

    CONCATENATE v_data_lanc_char+6(4) v_data_lanc_char+3(2)

                v_data_lanc_char+0(2)

           INTO v_datalanc.

    EXPORT v_datalanc TO MEMORY ID '0156'.

* << Fim da inclusão

    MOVE v_date TO v_gjahr.

    MOVE v_monat+1(2) TO v_periodo.

    PERFORM bdc_screen USING 'SAPMF05A' '0100'.

    PERFORM bdc_field  USING:

           'BKPF-BLDAT' v_data_doc_char,

           'BKPF-BLART' t_dados-blart,

           'BKPF-BUKRS' t_dados-bukrs,

           'BKPF-BUDAT' v_data_lanc_char,

           'BKPF-MONAT' v_periodo,

           'BKPF-WAERS' t_dados-waers,

...

 

...

           t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.

    PERFORM bdc_screen USING 'SAPMF05A' '0300'.

    IF NOT t_dados-dmbtr IS INITIAL AND

           t_dados-waers NE /pws/zycbt007-waersb.

      WRITE : t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.

      PERFORM bdc_field  USING:

        'BSEG-DMBTR' v_dmbtr.

    ENDIF.

    PERFORM bdc_field  USING:

         'BSEG-WRBTR' v_wrbtr,

* >> Início da inclusão: FUNCTION /PWS/ZYGL_TRANSACAO_F_02

         'BSEG-ZFBDT' v_data_venc_char,

* << Fim da inclusão

         'RF05A-NEWKO' t_dados-c_newko,

         'BDC_OKCODE' '/00'.

    IF NOT t_dados-brnch IS INITIAL.

      PERFORM bdc_field USING 'BSEG-BUPLA' t_dados-brnch.

    ENDIF.

    IF t_dados-agkoa = 'D'.

      v_tela = '0301'.

      PERFORM bdc_field USING:

           'RF05A-NEWBS' '11'.

    ELSEIF t_dados-agkoa = 'K'.

...

 

 

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

Modificações efetuadas em MESS /PWS/ZYCBM308

 

Classe de mensagens: /PWS/ZYCBM

 

Incluída mensagem

Mensagem: 308

Txt.breve mensagem: Entrada não compatível com o Módulo Exportação.

Auto-explicat.: [X]

 

 

 

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

Modificações efetuadas em MESS /PWS/ZYCBM309

 

Classe de mensagens: /PWS/ZYCBM

 

Incluída mensagem

Mensagem: 309

Txt.breve mensagem: Associação não permitida para móddulo selecionado.

Auto-explicat.: [X]

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA110F01

 

...

    itab_zycbe033-c_valut = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = /pws/zycbe031-dtboleto.

    itab_zycbe033-d_valut = itab_zycbe033-budat.

    itab_zycbe033-c_valut = itab_zycbe033-budat.

  ENDIF.

  itab_zycbe033-zfbdt = /pws/zycbe031-dtcredpr.

  IF NOT /pws/zycbe031-contabreal IS INITIAL.

    itab_zycbe033-contabreal = 'X'.

  ENDIF.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_CD

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_CD

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

        CLEAR: v_ms.

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = wa_zycbt118-nrdesp.

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

          WHEN 'NRDESP+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrdesp v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

          WHEN 'NRSEQ+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrseq v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_CD

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrseq.

...

 

...

  ENDIF.

  PERFORM clear_date_batch.

ENDFORM.

FORM get_parameters_118e031cd.

  DATA v_codeven LIKE /pws/zycbt011-codeven VALUE '006DB'.

  PERFORM clear_date_batch.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ wa_zycbt118-bukrs.

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

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT118'.

* << Fim da exclusão

  CLEAR wa_zycbt011.

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

  IF wa_zycbt118-codmod = 'E'.

* << Fim da inclusão

  IF wa_zycbt118-frpagto = 'C'.

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

      v_codeven = '005PA'.

      v_trans = 'F-51'.

    ELSEIF wa_zycbt118-frpagto = 'R'.

      v_codeven = '005PB'.

      v_trans = 'F-02'.

    ENDIF.

  ELSE.

    IF wa_zycbt118-frpagto = 'C'.

* << Fim da inclusão

    v_codeven = '006DA'.

    v_trans = 'F-51'.

  ELSEIF wa_zycbt118-frpagto = 'R'.

    v_codeven = '006DB'.

    v_trans = 'F-02'.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

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

  REFRESH itab_zyglt321.

  SELECT *

    FROM /pws/zyglt321

    INTO TABLE itab_zyglt321

   WHERE codeven = v_codeven.

* << Fim da inclusão

  v_evento = v_codeven.

  REFRESH itab_zycbt012.

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = 'F'.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven = v_codeven

                  AND codmod  = 'F'

...

 

...

  v_belnr = /pws/zycbe031-belnr_p.

  PERFORM get_parameters_118e031cd.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FBV0'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

  itab_zycbe033-belnr  = /pws/zycbe031-belnr_p.

  itab_zycbe033-bukrs  = wa_zycbt118-bukrs.

  itab_zycbe033-bldat  = wa_zycbt118-dtpagto.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

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

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

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

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = wa_zycbt118-nrdesp.

        ENDCASE.

      WHEN 'ZUONR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrseq.

            itab_zycbe033-c_zuonr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrdesp.

            itab_zycbe033-c_zuonr = wa_zycbt118-nrdesp.

        ENDCASE.

    ENDCASE.

  ENDLOOP.

  APPEND itab_zycbe033.

...

 

...

  PERFORM get_parameters_118e031cd.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FB08'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

  itab_zycbe033-belnr  = /pws/zycbe031-belnr_p.

  itab_zycbe033-bukrs  = wa_zycbt118-bukrs.

  itab_zycbe033-bldat  = wa_zycbt118-dtpagto.

  itab_zycbe033-budat  = wa_zycbt118-dtpagto.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

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

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

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

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CLEAR: v_ms.

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = wa_zycbt118-nrdesp.

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

          WHEN 'NRDESP+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrdesp v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

          WHEN 'NRSEQ+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrseq v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrseq.

...

 

...

        /pws/zycbe031-belnr_cide = space.

      ENDIF.

      CLEAR itab_zycbt031-v_process.

      MODIFY itab_zycbt031 TRANSPORTING v_process

                           WHERE nrseq    EQ /pws/zycbe031-nrseq

                             AND dtboleto EQ /pws/zycbe031-dtboleto.

      IF ok_code EQ 'DEL'.

        /pws/zycbe031-status = 'E'.

        CASE /pws/zycbe031-mdcorresp.

          WHEN 'ID'.

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

            wa_zycbt118-statusp = 'I'.

            CLEAR: wa_zycbt118-belnr_p,

                   wa_zycbt118-dtpagto.

            MODIFY /pws/zycbt118 FROM wa_zycbt118.

          WHEN 'ED'.

* << Fim da inclusão

            wa_zycbt118-statusp = 'I'.

            CLEAR: wa_zycbt118-belnr_p,

                   wa_zycbt118-dtpagto.

            MODIFY /pws/zycbt118 FROM wa_zycbt118.

          WHEN 'IP'.

            CLEAR itab_zycbt064.

            REFRESH itab_zycbt064.

            SELECT *

                   FROM /pws/zycbt064

                   INTO TABLE itab_zycbt064

...

 

...

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

      itab_lucro-prctr = itab_zycbt118-prctr.

      APPEND itab_lucro.

    ENDIF.

    PERFORM selecionar_cd.

    IF itab_zycbt118-belnrdesp IS INITIAL.

      PERFORM get_parameters_118e031.

    ENDIF.

    IF itab_zycbt118-frpagto = 'C'.

      IF itab_zycbt118-codmod = 'F'.

        v_ktosl = 'DGF'.

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

      ELSE.

* << Fim da exclusão

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

      ELSEIF itab_zycbt118-codmod = 'E'.

        v_ktosl = 'DSE'.

      ELSEIF itab_zycbt118-codmod = 'I'.

* << Fim da inclusão

        v_ktosl = 'DSI'.

      ENDIF.

      CLEAR itab_zyglt316.

      REFRESH itab_zyglt316.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = itab_zycbt118-bukrs

                ktosl           = v_ktosl

                codaux1         = itab_zycbt118-tpdesp

           TABLES

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB105F01

 

FORM administrar_processo.

  DATA: e_exec_okcode.

  CLEAR: r_okcode, e_exec_okcode, v_syrepid.

  CALL METHOD cl_gui_cfw=>dispatch.

  IF NOT r_okcode IS INITIAL.

    ok_code = r_okcode.

  ENDIF.

  CLEAR itab_zyglt100.

  IF itab_zyglt100[] IS INITIAL.

    v_syrepid = sy-repid.

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

    IF /pws/zycbe118-codmod EQ 'E'.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

         EXPORTING

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

                i_codmod                = 'E'

                i_func                  = v_syrepid

           TABLES

                itab_zyglt100           = itab_zyglt100

           EXCEPTIONS

                i_codmod_nao_encontrado = 1

                i_func_nao_encontrado   = 2

                i_zexit_nao_encontrado  = 3

                OTHERS                  = 4.

    ELSEIF /pws/zycbe118-codmod EQ 'I'.

      CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'

           EXPORTING

* << Fim da inclusão

              i_codmod                = 'I'

              i_func                  = v_syrepid

         TABLES

              itab_zyglt100           = itab_zyglt100

         EXCEPTIONS

              i_codmod_nao_encontrado = 1

              i_func_nao_encontrado   = 2

              i_zexit_nao_encontrado  = 3

              OTHERS                  = 4.

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

    ENDIF.

* << Fim da inclusão

  ENDIF.

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

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa)

              USING      ok_code

              CHANGING   e_subrc.

      IF e_subrc NE 0.

        EXIT.

...

 

...

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'PG'.

                ENDSELECT.

            ENDCASE.

          ELSEIF /pws/zycbe118-codmod EQ 'F'.

            SELECT * UP TO 1 ROWS

              FROM /pws/zycbt031

              WHERE mdcorresp EQ 'CD'

                AND nrcorresp EQ /pws/zycbe118-nrseq.

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

            ENDSELECT.

          ELSEIF /pws/zycbe118-codmod EQ 'E'.

            CASE /pws/zycbe118-codmodul.

              WHEN 'IN'.

                SELECT * UP TO 1 ROWS

                  FROM /pws/zycbt031

                  WHERE mdcorresp EQ 'ED'

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'IN'.

                ENDSELECT.

              WHEN 'OP'.

                SELECT * UP TO 1 ROWS

                  FROM /pws/zycbt031

                  WHERE mdcorresp EQ 'ED'

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'OP'.

* << Fim da inclusão

            ENDSELECT.

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

            ENDCASE.

* << Fim da inclusão

          ENDIF.

          IF NOT /pws/zycbt031-bukrs IS INITIAL AND

             NOT /pws/zycbt031-dtboleto IS INITIAL.

            i_belnr = v_valor.

            i_bukrs = /pws/zycbt031-bukrs.

            i_gjahr = /pws/zycbt031-dtboleto(4).

...

 

...

    SELECT * UP TO 1 ROWS

             FROM  /pws/zycbt031

             WHERE nrcorresp = /pws/zycbe118-nrseq

               AND mdcorresp = 'ID'.

    ENDSELECT.

  ELSEIF /pws/zycbe118-codmod EQ 'F'.

    SELECT * UP TO 1 ROWS

             FROM  /pws/zycbt031

             WHERE nrcorresp = /pws/zycbe118-nrseq

               AND mdcorresp = 'CD'.

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

    ENDSELECT.

  ELSEIF /pws/zycbe118-codmod EQ 'E'.

    SELECT * UP TO 1 ROWS

             FROM  /pws/zycbt031

             WHERE nrcorresp = /pws/zycbe118-nrseq

               AND mdcorresp = 'ED'.

* << Fim da inclusão

    ENDSELECT.

  ENDIF.

  IF ( /pws/zycbe118-dtpagto EQ '00000000' OR

       /pws/zycbe118-dtpagto IS INITIAL    OR

       /pws/zycbe118-dtpagto = space ) AND

     /pws/zycbe118-belnr_p IS INITIAL.

    CALL FUNCTION 'POPUP_TO_CONFIRM'

         EXPORTING

              text_question         = text-021

              text_button_1         = text-022

...

 

...

                   AND bukrs = wa_zycbt118-bukrs

                   AND gjahr = wa_zycbt118-dtincl(4)

                   AND bstat = 'V'.

        IF sy-subrc = 0.

          PERFORM elimina_desp.

        ELSE.

          PERFORM est_desp.

        ENDIF.

        LEAVE PROGRAM.

      ELSE.

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

        IF /pws/zycbe118-codmod EQ 'E'.

* << Fim da inclusão

        DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                         AND mdcorresp = 'CD'

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

                              AND codmod = 'E'.

        ELSEIF /pws/zycbe118-codmod EQ 'I'.

          DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                           AND mdcorresp = 'CD'

* << Fim da inclusão

                            AND codmod = 'I'.

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

        ENDIF.

* << Fim da inclusão

        DELETE FROM /pws/zycbt118 WHERE nrseq = /pws/zycbe118-nrseq.

        IF sy-subrc EQ '0'.

          MESSAGE i061 WITH text-005 wa_zycbt118-nrseq text-004.

        ENDIF.

        v_status_s = '0'.

        v_excluido = 'S'.

        LEAVE PROGRAM.

      ENDIF.

    ENDIF.

  ELSE.

...

 

...

                  display_cancel_button = ' '

             IMPORTING

                  answer                = v_resp

             EXCEPTIONS

                  text_not_found        = 1

                  OTHERS                = 2.

        IF v_resp EQ '1'.

          PERFORM estorna.

          IF v_erro_fbra IS INITIAL  AND v_erro_fb08 IS INITIAL.

            DELETE FROM /pws/zycbt118 WHERE nrseq = /pws/zycbe118-nrseq.

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

            IF /pws/zycbe118-codmod EQ 'E'.

              DELETE FROM /pws/zyglt209 WHERE nrseq     = v_nrseqview

                                          AND mdcorresp = 'CD'

                                          AND codmod    = 'E'.

            ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

            DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                          AND mdcorresp = 'CD'

                             AND codmod = 'I'.

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

            ENDIF.

* << Fim da inclusão

            IF sy-subrc EQ '0'.

              MESSAGE i061 WITH text-005 wa_zycbt118-nrseq

                                text-004.

            ENDIF.

...

 

...

         EXPORTING

              nrseq = v_nrseq.

    v_lock = 0.

  ENDIF.

ENDFORM.

FORM checa_boleto.

  CLEAR v_nrboleto.

  v_status_s = 1.

  SELECT SINGLE nrboleto FROM /pws/zycbt064 INTO v_nrboleto

     WHERE nrchave = v_nrseq

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

       AND ( mdcorresp = 'CD' OR mdcorresp = 'ID' ).

* << Fim da exclusão

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

       AND ( mdcorresp = 'CD' OR

             mdcorresp = 'ED' OR

             mdcorresp = 'ID' ).

* << Fim da inclusão

  IF sy-subrc NE 0.

    SELECT SINGLE nrseq  FROM /pws/zycbt031 INTO v_nrboleto

                        WHERE nrcorresp = v_nrseq

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

                        AND ( mdcorresp = 'CD' OR mdcorresp = 'ID' ).

* << Fim da exclusão

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

                        AND ( mdcorresp = 'CD' OR

                              mdcorresp = 'ED' OR

                              mdcorresp = 'ID' ).

* << Fim da inclusão

  ENDIF.

  IF sy-subrc EQ 0.

    MESSAGE i015 WITH text-039 text-040.

    v_status_s = 0.

  ENDIF.

ENDFORM.

FORM eventos_contabeis.

  CALL FUNCTION 'POPUP_DISPLAY_TEXT'

       EXPORTING

            language       = sy-langu

...

 

...

  IF sy-subrc <> 0.

    MESSAGE i015 WITH text-038.

  ENDIF.

ENDFORM.

FORM consiste_modulo.

  IF /pws/zycbe118-codmodul EQ 'CC' OR

        /pws/zycbe118-codmodul EQ 'FI' OR

        /pws/zycbe118-codmodul EQ 'PA' OR

        /pws/zycbe118-codmodul EQ 'PG'.

    /pws/zycbe118-codmod = 'I'.

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

  ELSEIF /pws/zycbe118-codmodul EQ 'IN' OR

         /pws/zycbe118-codmodul EQ 'OP'.

    /pws/zycbe118-codmod = 'E'.

* << Fim da inclusão

  ELSE.

    /pws/zycbe118-codmod = 'F'.

  ENDIF.

ENDFORM.

FORM efetua_estorno.

  CONCATENATE text-028 /pws/zycbe118-belnr_p '?' INTO v_texto

   SEPARATED BY space.

  CALL FUNCTION 'POPUP_TO_CONFIRM'

       EXPORTING

            text_question         = v_texto

...

 

...

      SUBMIT /pws/zycbr102 WITH cfinan EQ 'X' WITH data EQ v_dtvencto

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

    WHEN 'CC' OR 'PA' OR 'PG' OR 'FI'.

      IF /pws/zycbe118-nrseq IS INITIAL.

        SET PARAMETER ID '/PWS/ZYCBP343' FIELD itab_zycbt118-nrseq.

      ELSE.

        SET PARAMETER ID '/PWS/ZYCBP343' FIELD /pws/zycbe118-nrseq.

      ENDIF.

      SUBMIT /pws/zycbr102 WITH import EQ 'X' WITH data EQ v_dtvencto

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

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

    WHEN 'IN' OR 'OP'.

      IF /pws/zycbe118-nrseq IS INITIAL.

        SET PARAMETER ID '/PWS/ZYCBP343' FIELD itab_zycbt118-nrseq.

      ELSE.

        SET PARAMETER ID '/PWS/ZYCBP343' FIELD /pws/zycbe118-nrseq.

      ENDIF.

      SUBMIT /pws/zycbr102 WITH export EQ 'X' WITH data EQ v_dtvencto

* << Fim da inclusão

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

  ENDCASE.

ENDFORM.

FORM chama_documento.

  DATA: nrseq(30),

        start_column LIKE sy-scols,

        popup_title(35),

        answer TYPE c,

        title LIKE popup_title,

...

 

...

      WHEN '/PWS/ZYCB105_E'.

        SET PARAMETER ID '/PWS/ZYCBP368' FIELD nrseq.

        LEAVE TO TRANSACTION '/PWS/ZYCB105_E' AND SKIP FIRST SCREEN.

    ENDCASE.

  ENDIF.

ENDFORM.

FORM retorna_processa.

  CLEAR v_nrboleto.

  SELECT SINGLE nrboleto FROM /pws/zycbt064 INTO v_nrboleto

    WHERE nrchave EQ v_nrseq

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

      AND ( mdcorresp = 'CD' OR mdcorresp = 'ID' ).

* << Fim da exclusão

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

      AND ( mdcorresp = 'CD' OR

            mdcorresp = 'ED' OR

            mdcorresp = 'ID' ).

* << Fim da inclusão

  IF sy-subrc NE 0.

    SELECT SINGLE nrseq  FROM /pws/zycbt031 INTO v_nrboleto

       WHERE nrcorresp = v_nrseq

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

       AND ( mdcorresp = 'CD' OR mdcorresp = 'ID' ).

* << Fim da exclusão

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

      AND ( mdcorresp = 'CD' OR

            mdcorresp = 'ED' OR

            mdcorresp = 'ID' ).

* << Fim da inclusão

  ENDIF.

  IF sy-subrc = 0.

    v_status_s = 0.

  ENDIF.

ENDFORM.

FORM texto_informativo.

  CALL FUNCTION '/PWS/ZYCA_FLAG_TEXTO'

       EXPORTING

            v_bukrs      = /pws/zycbe118-bukrs

       IMPORTING

...

 

...

FORM dados_bancarios.

  IF sy-tcode EQ '/PWS/ZYCB105_C'.

    PERFORM atualiza_nrseq.

  ENDIF.

  READ TABLE itab_zyglt209 INDEX 1.

  IF sy-subrc NE 0 AND /pws/zygle209-bcofav IS INITIAL.

    CLEAR: itab_zyglt209, itab_zyglt209_aux, itab_zyglt209_aux,

  /pws/zygle209.

    CLEAR: itab_zyglt209, itab_zyglt209_aux, itab_zyglt209_aux.

    REFRESH: itab_zyglt209, itab_zyglt209_aux, itab_zyglt209_aux.

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

    IF /pws/zycbe118-codmod EQ 'E'.

      SELECT * FROM /pws/zyglt209 INTO TABLE itab_zyglt209

           WHERE nrseq = v_nrseq_aux2

             AND mdcorresp = 'CD'

             AND codmod = 'E'.

    ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

    SELECT * FROM /pws/zyglt209 INTO TABLE itab_zyglt209

         WHERE nrseq = v_nrseq_aux2

           AND mdcorresp = 'CD'

           AND codmod = 'I'.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  itab_zyglt209_aux[] = itab_zyglt209[]  .

  CALL SCREEN '0400'  STARTING AT 35 2 ENDING AT 73 15.

ENDFORM.

FORM salva_dados_bancarios.

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

  IF /pws/zycbe118-codmod EQ 'E'.

    DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                       AND mdcorresp = 'CD'

                          AND codmod = 'E'.

  ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

  DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                     AND mdcorresp = 'CD'

                        AND codmod = 'I'.

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

  ENDIF.

* << Fim da inclusão

  LOOP AT itab_zyglt209.

    /pws/zyglt209 = itab_zyglt209.

    /pws/zyglt209-bcofav = /pws/zygle209-bcofav.

    /pws/zyglt209-nrseq = v_nrseqview.

    /pws/zyglt209-mdcorresp = 'CD'.

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

    IF /pws/zycbe118-codmod EQ 'E'.

      /pws/zyglt209-codmod = 'E'.

    ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

    /pws/zyglt209-codmod = 'I'.

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

    ENDIF.

* << Fim da inclusão

    MODIFY /pws/zyglt209.

  ENDLOOP.

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

  IF /pws/zycbe118-codmod EQ 'E'.

    DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                      AND mdcorresp = 'CD'

                         AND codmod = 'E'

                           AND bcofav = space

                           AND bcointerm = space.

  ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

  DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                    AND mdcorresp = 'CD'

                       AND codmod = 'I'

                         AND bcofav = space

                         AND bcointerm = space.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM seleciona_zyglt209.

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

  IF /pws/zycbe118-codmod EQ 'E'.

    SELECT * FROM /pws/zyglt209 INTO TABLE itab_zyglt209

    WHERE nrseq     = v_nrseqview

      AND mdcorresp = 'CD'

      AND codmod    = 'E'.

  ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

  SELECT * FROM /pws/zyglt209 INTO TABLE itab_zyglt209

  WHERE nrseq = v_nrseqview

                         AND mdcorresp = 'CD'

                         AND codmod = 'I'.

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

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM atualiza_nrseq.

  DATA: v_nrseq LIKE /pws/zycbe118-nrseq,

...

 

...

            i_koart          = '+'

            i_monat          = v_monat

       EXCEPTIONS

            error_period     = 1

            error_period_acc = 2

            OTHERS           = 3.

  IF sy-subrc = 0.

    itab_zycbe033_est-stgrd = '01'.

  ELSE.

    itab_zycbe033_est-stgrd = '02'.

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

    itab_zycbe033_est-budat = sy-datum.

* << Fim da exclusão

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

    itab_zycbe033_est-budat = wa_zycbt118-dtincl.

    itab_zycbe033_est-budat+4(2) = sy-datum+4(2).

* << Fim da inclusão

  ENDIF.

  APPEND itab_zycbe033_est.

  CALL FUNCTION '/PWS/ZYCA_TRANSACAO_FB08'

       EXPORTING

            v_modo          = v_modo_bi

       TABLES

            t_dados         = itab_zycbe033_est

            t_campo         = itab_zycbt034_est

            t_zycbt032      = itab_zycbt032_est

       EXCEPTIONS

...

 

...

            OTHERS          = 2.

  IF sy-subrc EQ 0.

    READ TABLE itab_zycbt032_est WITH KEY  tcode  = text-026

                                   tabela = text-027

                                   cpochv = /pws/zycbe118-nrseq

                                   tpmsg  = 'S'.

    IF sy-subrc EQ 0.

      MESSAGE i030 WITH /pws/zycbe118-belnrdesp.

      IF ok_code = 'TRASH'.

        DELETE FROM /pws/zycbt118 WHERE nrseq = /pws/zycbe118-nrseq.

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

        IF /pws/zycbe118-codmod EQ 'E'.

          DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                             AND mdcorresp = 'CD'

                                AND codmod = 'E'.

        ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

        DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                           AND mdcorresp = 'CD'

                              AND codmod = 'I'.

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

        ENDIF.

* << Fim da inclusão

        CLEAR /pws/zycbe118.

        CLEAR v_nrseq.

      ELSE.

        CLEAR /pws/zycbe118-belnrdesp.

...

 

...

  EXPORT v_desp     TO MEMORY ID 'E005'.

  CASE v_codmodul.

    WHEN 'F' OR 'FR'.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD itab_zycbt118-nrseq.

      SUBMIT /pws/zycbr102 WITH cfinan EQ 'X' WITH data EQ v_dtvencto

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

    WHEN 'CC' OR 'PA' OR 'PG' OR 'FI'.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD itab_zycbt118-nrseq.

      SUBMIT /pws/zycbr102 WITH import EQ 'X' WITH data EQ v_dtvencto

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

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

    WHEN 'IN' OR 'OP'.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD itab_zycbt118-nrseq.

      SUBMIT /pws/zycbr102 WITH export EQ 'X' WITH data EQ v_dtvencto

* << Fim da inclusão

        AND RETURN.

      SET PARAMETER ID '/PWS/ZYCBP343' FIELD limpaid.

  ENDCASE.

ENDFORM.

FORM contabiliza_f-63.

  PERFORM get_parameters_f63.

  itab_zycbe033-tcode  = 'F-63'.

  itab_zycbe033-tabela = text-027.

  itab_zycbe033-budat  = /pws/zycbe118-dtincl.

  itab_zycbe033-cpochv = /pws/zycbe118-nrseq.

...

 

...

                                      'DTINCL'

                                      text-048.

      itab_zycbe033-bldat   = /pws/zycbe118-dtincl.

      itab_zycbe033-d_valut = /pws/zycbe118-dtincl.

  ENDCASE.

  itab_zycbe033-bktxt = /pws/zycbt007-bktxt.

  itab_zycbe033-zfbdt = /pws/zycbe118-dtvencto.

  itab_zycbe033-newbs = '40'.

  itab_zycbe033-c_newko = /pws/zycbe118-benefic.

  itab_zycbe033-agkon   = /pws/zycbe118-benefic.

* >> Início da exclusão: FORM CONTABILIZA_F-63

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

* >> Início da inclusão: FORM CONTABILIZA_F-63

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

* >> Início da exclusão: FORM CONTABILIZA_F-63

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM CONTABILIZA_F-63

        CLEAR: v_ms.

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = /pws/zycbe118-nrdesp.

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = /pws/zycbe118-nrseq.

* >> Início da inclusão: FORM CONTABILIZA_F-63

          WHEN 'NRDESP+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE /pws/zycbe118-nrdesp v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

          WHEN 'NRSEQ+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE /pws/zycbe118-nrseq v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

* >> Início da exclusão: FORM CONTABILIZA_F-63

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM CONTABILIZA_F-63

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRDESP'.

            itab_zycbe033-d_zuonr = /pws/zycbe118-nrdesp.

...

 

...

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

FORM get_parameters_f63.

  DATA: v_ktosl LIKE /pws/zyglt316-ktosl.

  SELECT SINGLE * FROM /pws/zycbt007

                  WHERE bukrs EQ /pws/zycbe118-bukrs.

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

  SELECT * FROM /pws/zycbt013

    INTO TABLE itab_zycbt013

    WHERE tabela = text-027.

* << Fim da exclusão

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

  IF /pws/zycbe118-codmod = 'E'.

    IF /pws/zycbe118-frpagto = 'C'.

      SELECT * UP TO 1 ROWS FROM /pws/zycbt011

        WHERE codeven  = text-071

          AND codmod   = 'E'.

      ENDSELECT.

     SELECT *

       FROM /pws/zyglt321

       INTO TABLE itab_zyglt321

      WHERE codeven = text-071.

    ELSEIF /pws/zycbe118-frpagto = 'R'.

      SELECT * UP TO 1 ROWS FROM /pws/zycbt011

        WHERE codeven  = text-073

          AND codmod   = 'E'.

      ENDSELECT.

      SELECT *

        FROM /pws/zyglt321

        INTO TABLE itab_zyglt321

       WHERE codeven = text-071.

    ENDIF.

  ELSEIF /pws/zycbe118-codmod = 'I'.

* << Fim da inclusão

  SELECT SINGLE * FROM /pws/zycbt011

    WHERE codeven  = text-047

      AND codmod   = 'I'.

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

  ENDIF.

* << Fim da inclusão

  IF /pws/zycbe118-codmod = 'F'.

    v_ktosl = 'DGF'.

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

  ELSE.

* << Fim da exclusão

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

  ELSEIF /pws/zycbe118-codmod = 'E'.

    v_ktosl = 'DSE'.

  ELSEIF /pws/zycbe118-codmod = 'I'.

* << Fim da inclusão

    v_ktosl = 'DSI'.

  ENDIF.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe118-bukrs

            ktosl           = v_ktosl

            codaux1         = /pws/zycbe118-tpdesp

       TABLES

            account         = itab_zyglt316

       EXCEPTIONS

...

 

...

      EXIT.

    ENDIF.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBV0'

                                      tabela = '/PWS/ZYCBT118'

                                      cpochv = /pws/zycbe118-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc EQ 0.

      MESSAGE i062 WITH /pws/zycbe118-belnrdesp.

      IF ok_code = 'TRASH'.

        DELETE FROM /pws/zycbt118 WHERE nrseq = /pws/zycbe118-nrseq.

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

        IF /pws/zycbe118-codmod EQ 'E'.

          DELETE FROM /pws/zyglt209 WHERE nrseq     = v_nrseqview

                                      AND mdcorresp = 'CD'

                                      AND codmod    = 'E'.

        ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

        DELETE FROM /pws/zyglt209 WHERE nrseq = v_nrseqview

                           AND mdcorresp = 'CD'

                              AND codmod = 'I'.

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

        ENDIF.

* << Fim da inclusão

        CLEAR /pws/zycbe118.

        CLEAR v_nrseq.

      ELSE.

        CLEAR /pws/zycbe118-belnrdesp.

...

 

...

  ENDIF.

ENDFORM.

FORM verifica_estrategia_liberacao.

  DATA: v_frgzu     LIKE /pws/zycbt118-frgzu,

        v_vlmi      LIKE /pws/zycbt118-vlme,

        v_totdep    LIKE /pws/zyglt342-valorinc,

        v_lib(1)    TYPE c,

        v_mdcorresp LIKE /pws/zycbt031-mdcorresp.

  IF /pws/zycbe118-codmod = 'I'.

    v_mdcorresp = 'ID'.

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

  ELSEIF /pws/zycbe118-codmod = 'E'.

    v_mdcorresp = 'ED'.

* << Fim da inclusão

  ELSEIF /pws/zycbe118-codmod = 'F'.

    v_mdcorresp = 'CD'.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycbt007

    WHERE bukrs EQ /pws/zycbe118-bukrs.

  SELECT SINGLE * FROM /pws/zyglt340

                  WHERE codmod = /pws/zycbe118-codmod

                    AND func   = v_mdcorresp

                    AND estrat = 'X'.

  IF sy-subrc EQ 0.

...

 

...

  IF NOT /pws/zycbe118-kostl IS INITIAL.

    itab_custo-kostl = /pws/zycbe118-kostl.

    APPEND itab_custo.

  ENDIF.

  IF NOT /pws/zycbe118-prctr IS INITIAL.

    itab_lucro-prctr = /pws/zycbe118-prctr.

    APPEND itab_lucro.

  ENDIF.

  IF /pws/zycbe118-codmod = 'F'.

    v_ktosl = 'DGF'.

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

  ELSE.

* << Fim da exclusão

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

  ELSEIF /pws/zycbe118-codmod = 'E'.

    v_ktosl = 'DSE'.

  ELSEIF /pws/zycbe118-codmod = 'I'.

* << Fim da inclusão

    v_ktosl = 'DSI'.

  ENDIF.

  CLEAR itab_zyglt316.

  REFRESH itab_zyglt316.

  CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

       EXPORTING

            bukrs           = /pws/zycbe118-bukrs

            ktosl           = v_ktosl

            codaux1         = /pws/zycbe118-tpdesp

       TABLES

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB105I01

 

...

      v_matchcode1 = '/PWS/ZYCBA156'.

    WHEN 'FR'.

      CLEAR v_matchcode1.

      v_matchcode1 = '/PWS/ZYCBA154'.

    WHEN 'PA'.

      CLEAR v_matchcode1.

      v_matchcode1 = '/PWS/ZYCBA153'.

    WHEN 'PG'.

      CLEAR v_matchcode1.

      v_matchcode1 = '/PWS/ZYCMA013'.

* >> Início da inclusão: MODULE SETA_MATCHCODE

    WHEN 'IN'.

      CLEAR v_matchcode1.

      v_matchcode1 = '/PWS/ZYCBA283'.

    WHEN 'OP'.

      CLEAR v_matchcode1.

      v_matchcode1 = '/PWS/ZYCBA284'.

* << Fim da inclusão

    WHEN OTHERS.

      CLEAR v_matchcode1.

      MESSAGE i061(/pws/zycbm) WITH text-024.

      EXIT.

  ENDCASE.

  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'

       EXPORTING

            tabname    = '/PWS/ZYCBE118'

            fieldname  = 'NRREF'

            searchhelp = v_matchcode1

...

 

...

  ENDIF.

ENDMODULE.

MODULE conta_indice INPUT.

  v_index = v_index + 1.

ENDMODULE.

MODULE atualiza_itab_zyglt209 INPUT.

  MOVE /pws/zygle209 TO itab_zyglt209.

  MOVE mark TO itab_zyglt209-mark.

  itab_zyglt209-nrseq = v_nrseq_aux2.

  itab_zyglt209-mdcorresp = 'CD'.

* >> Início da inclusão: MODULE ATUALIZA_ITAB_ZYGLT209

  IF /pws/zycbe118-codmod EQ 'E'.

    itab_zyglt209-codmod = 'E'.

  ELSEIF /pws/zycbe118-codmod EQ 'I'.

* << Fim da inclusão

  itab_zyglt209-codmod = 'I'.

* >> Início da inclusão: MODULE ATUALIZA_ITAB_ZYGLT209

  ENDIF.

* << Fim da inclusão

  itab_zyglt209-mandt = sy-mandt.

  MODIFY itab_zyglt209 INDEX v_index.

  IF sy-subrc NE 0.

    APPEND itab_zyglt209.

  ENDIF.

ENDMODULE.

...

 

...

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'PG'.

                ENDSELECT.

            ENDCASE.

          ELSEIF /pws/zycbe118-codmod EQ 'F'.

            SELECT * UP TO 1 ROWS

              FROM /pws/zycbt031

              WHERE mdcorresp EQ 'CD'

                AND nrcorresp EQ /pws/zycbe118-nrseq.

* >> Início da inclusão: MODULE USER_COMMAND_0101

            ENDSELECT.

          ELSEIF /pws/zycbe118-codmod EQ 'E'.

            CASE /pws/zycbe118-codmodul.

              WHEN 'IN'.

                SELECT * UP TO 1 ROWS

                  FROM /pws/zycbt031

                  WHERE mdcorresp EQ 'ED'

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'IN'.

                ENDSELECT.

              WHEN 'OP'.

                SELECT * UP TO 1 ROWS

                  FROM /pws/zycbt031

                  WHERE mdcorresp EQ 'ED'

                    AND nrcorresp EQ /pws/zycbe118-nrseq

                    AND tabela    EQ '/PWS/ZYCBT118'

                    AND codmodul  EQ 'OP'.

* << Fim da inclusão

            ENDSELECT.

* >> Início da inclusão: MODULE USER_COMMAND_0101

            ENDCASE.

* << Fim da inclusão

          ENDIF.

          IF NOT /pws/zycbt031-bukrs IS INITIAL AND

             NOT /pws/zycbt031-dtboleto IS INITIAL.

            i_belnr = v_valor.

            i_bukrs = /pws/zycbt031-bukrs.

            IF /pws/zycbe118-frpagto = 'C' AND

...

 

...

MODULE user_command_0051 INPUT.

  CASE ok_code.

    WHEN 'BC'.

      CALL METHOD html_control->go_back.

      CLEAR ok_code.

    WHEN 'AVAN'.

      CALL METHOD html_control->go_forward.

      CLEAR ok_code.

  ENDCASE.

ENDMODULE.

* >> Início da inclusão:

MODULE consiste_associacao INPUT.

  CASE /pws/zycbe118-codmodul.

    WHEN 'F' OR 'FR'.

      IF NOT /pws/zycbe118-codmod IS INITIAL AND

             /pws/zycbe118-codmod NE 'F'.

        CLEAR /pws/zycbe118-codmodul.

        MESSAGE e309.

      ENDIF.

    WHEN 'CC' OR 'FI' OR 'PA' OR 'PG'.

      IF NOT /pws/zycbe118-codmod IS INITIAL AND

             /pws/zycbe118-codmod NE 'I'.

        CLEAR /pws/zycbe118-codmodul.

        MESSAGE e309.

      ENDIF.

    WHEN 'IN' OR 'OP'.

      IF NOT /pws/zycbe118-codmod IS INITIAL AND

             /pws/zycbe118-codmod NE 'E'.

        CLEAR /pws/zycbe118-codmodul.

        MESSAGE e309.

      ENDIF.

  ENDCASE.

ENDMODULE.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB105O01

 

...

      WHERE tpdesp = /pws/zycbe118-tpdesp

      AND ftipo = /pws/zycbe118-codmod.

  v_tipo = /pws/zycbe118-codmod.

  IF sy-subrc EQ 0.

    v_descricao = /pws/zycbt015-txtdesc.

  ELSE.

    IF NOT v_tipo IS INITIAL.

      IF v_tipo EQ 'I'.

        MESSAGE s276.

        CLEAR v_descricao.

* >> Início da inclusão: MODULE STATUS_0100

      ELSEIF v_tipo EQ 'E'.

        MESSAGE s308.

        CLEAR v_descricao.

* << Fim da inclusão

      ELSE.

        MESSAGE s277.

        CLEAR v_descricao.

      ENDIF.

    ENDIF.

  ENDIF.

  CLEAR:

    v_assoc,

    v_numero,

    v_empresa,

...

 

...

    SELECT SINGLE * FROM tcurt

      WHERE spras EQ 'PT'

        AND waers EQ /pws/zycbe118-waers.

    moeda = tcurt-ltext.

  ENDIF.

  CLEAR v_modulo.

  IF /pws/zycbe118-codmod EQ 'F'.

    v_modulo = text-006.

  ELSEIF /pws/zycbe118-codmod EQ 'I'.

    v_modulo = text-007.

* >> Início da inclusão: MODULE LOAD_DATA

  ELSEIF /pws/zycbe118-codmod EQ 'E'.

    v_modulo = text-072.

* << Fim da inclusão

  ENDIF.

  IF sy-tcode = '/PWS/ZYCB105_C' and /pws/zycbe118-dtincl is initial.

    /pws/zycbe118-dtincl = sy-datum.

  ENDIF.

  v_nrseq_aux2 = /pws/zycbe118-nrseq.

  IF /pws/zycbe118-belnr_p IS INITIAL.

    CLEAR /pws/zycbe118-belnrcomp.

  ENDIF.

  CLEAR /pws/zyglt214.

  SELECT SINGLE * FROM /pws/zyglt214

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB105TOP

 

...

DATA: END OF itab_zycbt034.

DATA: BEGIN OF itab_zycbt032_est OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt032.

DATA: END OF itab_zycbt032_est.

DATA: BEGIN OF itab_zycbe033_est OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbe033.

DATA: END OF itab_zycbe033_est.

DATA: BEGIN OF itab_zycbt034_est OCCURS 10.

        INCLUDE STRUCTURE /pws/zycbt034.

DATA: END OF itab_zycbt034_est.

* >> Início da exclusão:

DATA: BEGIN OF itab_zycbt013 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycbt013.

DATA: END OF itab_zycbt013.

* << Fim da exclusão

* >> Início da inclusão:

DATA: BEGIN OF itab_zyglt321 OCCURS 0.

        INCLUDE STRUCTURE /pws/zyglt321.

DATA: END OF itab_zyglt321.

* << Fim da inclusão

DATA: BEGIN OF itab_modo OCCURS 0.

        INCLUDE STRUCTURE spopli.

DATA: END OF itab_modo.

DATA: itab_zycbt032 LIKE /pws/zycbt032 OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_thead OCCURS 50.

        INCLUDE STRUCTURE thead.

DATA: END OF itab_thead.

DATA: BEGIN OF itab_tline OCCURS 50.

        INCLUDE STRUCTURE tline.

DATA: END OF itab_tline.

...

 

...

  norma              LIKE /pws/zyglt214-norma,

  v_display,

  v_ano              LIKE  t009b-bdatj,

  v_area             LIKE /pws/zycbt119-cod_area,

  v_txest            LIKE /pws/zycbe033-kursf,

  v_syrepid          LIKE sy-repid,

  v_sydynnr          LIKE sy-dynnr,

  v_visivel          LIKE /pws/zyglt319-visivel,

  v_tcodebotao       LIKE /pws/zyglt319-tcode,

  erro_bi(1)         TYPE c,

* >> Início da inclusão:

  v_ms(5) TYPE c,

* << Fim da inclusão

  v_flag             TYPE c,

  v_nome_campo(35)   TYPE c,

  v_comp(35)         TYPE c,

  v_cod_grupo        LIKE /pws/zyglt320-cod_grupo,

  wa_zycbe118_aux    LIKE /pws/zycbe118,

  e_subrc       LIKE sy-subrc.

 

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

Modificações efetuadas em REPS /PWS/MZYCB110F01

 

...

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      erro_bi_cl = 'X'.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

      erro_bi_cl = 'X'.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

              prctr = itab_zycbt064-prctr.

            UPDATE /pws/zycet013 SET belnr_ir_f51 = itab_zycbt032-belnr

                            WHERE nrseq  = itab_zycet013-nrseq

                            AND   lifnr  = itab_zycet013-lifnr

                            AND   gsber  = itab_zycet013-gsber

                            AND   prctr  = itab_zycet013-prctr.

          ENDIF.

        ENDLOOP.

        LOOP AT itab_zycbt031_tc.

          UPDATE /pws/zycbt048

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

                 SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                 SET

                     dtboleto      = /pws/zycbe031-dtboleto

                     dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                     nrcontr       = itab_zycbt031_tc-nrcontr

                     dtcontr       = itab_zycbt031_tc-dtcontr

                     dtdebito      = itab_zycbt031_tc-dtdebito

                     dtswift       = itab_zycbt031_tc-dtswift

                     praca         = itab_zycbt031_tc-praca

                     instituicao   = itab_zycbt031_tc-instituicao

                     corret        = itab_zycbt031_tc-corret

                     codnatoper    = itab_zycbt031_tc-codnatoper

                     codfrmentrega = itab_zycbt031_tc-codfrmentrega

                     codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

      IF /pws/zycbe031-taxair IS INITIAL

         AND /pws/zycbe031-vlir GT 0.

        CLEAR v_taxa.

        PERFORM busca_taxa USING '003P'

                                 'I'

                                 /pws/zycbe031-dtcredir

                                 v_taxa.

        /pws/zycbe031-taxair = v_taxa.

      ENDIF.

    WHEN 'ED'.

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

      IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

* << Fim da inclusão

      IF /pws/zycbe031-kursf IS INITIAL.

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

          IF /pws/zycbt118-frpagto = 'R'.

            PERFORM busca_taxa USING '005PB'

                                     'E'

                                     /pws/zycbe031-dtcredpr

                                     v_taxa.

            /pws/zycbe031-kursf = v_taxa.

          ELSEIF /pws/zycbt118-frpagto = 'C'.

            PERFORM busca_taxa USING '005PA'

                                     'E'

                                     /pws/zycbe031-dtcredpr

                                     v_taxa.

            /pws/zycbe031-kursf = v_taxa.

          ENDIF.

        ENDIF.

      ELSE.

        IF /pws/zycbe031-kursf IS INITIAL.

* << Fim da inclusão

        IF /pws/zycbe031-tpdesp = 'J'

        OR /pws/zycbe031-tpdesp = 'D'

        OR /pws/zycbe031-tpdesp = 'JC'

        OR /pws/zycbe031-tpdesp = 'JL'

        OR /pws/zycbe031-tpdesp = 'PDD'.

          CONCATENATE '004' /pws/zycbe031-tpcontr INTO v_evento.

          PERFORM busca_taxa USING v_evento

                                   'E'

                                   /pws/zycbe031-dtcredpr

                                   v_taxa.

...

 

...

                                     'E'

                                     /pws/zycbe031-dtcredpr

                                     v_taxa.

            /pws/zycbe031-kursf = v_taxa.

          ELSEIF /pws/zycbt004-frpagto = 'C'.

            PERFORM busca_taxa USING '005PA'

                                     'E'

                                     /pws/zycbe031-dtcredpr

                                     v_taxa.

            /pws/zycbe031-kursf = v_taxa.

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      ENDIF.

    WHEN 'EL'.

      IF /pws/zycbe031-kursf IS INITIAL.

        CONCATENATE '004' itab_zycbt017-parvw INTO v_evento.

        PERFORM busca_taxa USING v_evento

                                 'E'

                                 /pws/zycbe031-dtcredpr

                                 v_taxa.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB110I01

 

...

      wa_zycbt031 = /pws/zycbe031.

      wa_zycbt145 = /pws/zycbe145.

      MOVE: itab_zycbt031_tc[] TO itab_zycbt031_tc1[],

            itab_dados_tc[]    TO itab_dados_tc_aux[].

      CLEAR erro_bi.

    WHEN 'DEL'.

      PERFORM excluir_dados.

    WHEN 'BACK' OR 'EXIT'.

      PERFORM back_ou_exit.

    WHEN 'CHANGE'.

* >> Início da exclusão: MODULE USER_COMMAND_0200

      IF /pws/zycbe031-mdcorresp(1) EQ 'E'.

* << Fim da exclusão

* >> Início da inclusão: MODULE USER_COMMAND_0200

      IF /pws/zycbe031-mdcorresp(1) EQ 'E' AND

         /pws/zycbe031-tabela NE '/PWS/ZYCBT118'.

* << Fim da inclusão

        PERFORM verifica_boleto.

      ELSE.

        PERFORM verifica_alteracao.

      ENDIF.

    WHEN 'IMPR'.

      PERFORM read_text.

      EXPORT itab_tline[] TO MEMORY ID 'E020'.

      PERFORM verifica_imprime.

    WHEN 'ADIC'.

      v_status_aux = v_status_s.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F01

 

...

        LOOP AT itab_zycbt064

          WHERE nrboleto = itab_zycbt134-nrseq.

          READ TABLE itab_zycbt118

                WITH KEY nrseq    = itab_zycbt064-nrchave.

          MOVE itab_zycbt134-belnr_c TO itab_zycbt118-belnr_p.

          MODIFY itab_zycbt118 TRANSPORTING belnr_p

                 WHERE nrseq    = itab_zycbt064-nrchave.

        ENDLOOP.

        MODIFY /pws/zycbt118 FROM TABLE itab_zycbt118.

      ELSEIF itab_zycbt134-mdcorresp EQ 'ED'.

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

        SELECT *

               UP TO 1 ROWS

               FROM /pws/zycbt031

               WHERE nrseq = itab_zycbt134-nrseq.

        ENDSELECT.

        IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

          LOOP AT itab_zycbt064

            WHERE nrboleto = itab_zycbt134-nrseq.

            READ TABLE itab_zycbt118

                  WITH KEY nrseq    = itab_zycbt064-nrchave.

            MOVE itab_zycbt134-belnr_c TO itab_zycbt118-belnr_p.

            MODIFY itab_zycbt118 TRANSPORTING belnr_p

                   WHERE nrseq    = itab_zycbt064-nrchave.

          ENDLOOP.

          MODIFY /pws/zycbt118 FROM TABLE itab_zycbt118.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycbt031 WITH KEY

          nrseq = itab_zycbt134-nrseq.

        IF sy-subrc = 0.

          LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt031-nrseq.

            READ TABLE itab_zycbt004 WITH KEY

               nrseqc = itab_zycbt064-nrchave

               tpdesp = itab_zycbt064-tpdesp

               nrparc = itab_zycbt064-nrparc

               dtincl = itab_zycbt064-dtincl

               dtliquid = itab_zycbt064-dtliquid

...

 

...

              MODIFY itab_zycbt004 TRANSPORTING belnr_comp dtpagto

               WHERE nrseqc = itab_zycbt064-nrchave AND

                     tpdesp = itab_zycbt064-tpdesp AND

                     nrparc = itab_zycbt064-nrparc AND

                     dtincl = itab_zycbt064-dtincl AND

                     dtliquid = itab_zycbt064-dtliquid AND

                     tpjuros = itab_zycbt064-tpjuros.

            ENDIF.

          ENDLOOP.

          MODIFY /pws/zycbt004 FROM itab_zycbt004.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

  MODIFY /pws/zycbt134 FROM TABLE itab_zycbt134_aux.

  COMMIT WORK.

  IF v_salvo EQ 'X' AND v_erro_f_04 IS INITIAL.

    MESSAGE i015 WITH text-066.

    PERFORM update_156.

    CLEAR itab_zycbt134_aux.

...

 

...

  itab_zycbe033-cpochv = v_cpochv.

  PERFORM seleciona_doctos USING v_dtcredpr_aux

                                 v_dtcredpr

                                 v_dtcredir

                                 v_dtcide.

  SELECT arq_eletro

         UP TO 1 ROWS

         FROM /pws/zyglt009

         INTO /pws/zyglt009-arq_eletro

         WHERE bukrs = itab_zycbt134-bukrs.

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

  ENDSELECT.

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt031

         WHERE nrseq = itab_zycbt134-nrseq.

* << Fim da inclusão

  ENDSELECT.

  CLEAR v_bukrs_p.

  IF NOT /pws/zycbt145-bukrs_p    IS INITIAL             AND

     /pws/zyglt009-arq_eletro     IS INITIAL             AND

     /pws/zycbt145-bukrs_p        NE itab_zycbt134-bukrs AND

     ( ( itab_zycbt134-mdcorresp  EQ 'IP'                AND

         wa_zycbt007-saida_auto   IS INITIAL )           OR

        itab_zycbt134-mdcorresp   EQ 'IA'                OR

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

        ( itab_zycbt134-mdcorresp EQ 'ED' AND

          /pws/zycbt031-tabela    EQ '/PWS/ZYCBT118' )   OR

* << Fim da inclusão

        itab_zycbt134-mdcorresp   EQ 'ID' ).

    v_bukrs_aux = /pws/zycbt145-bukrs_p.

    v_bukrs_p   = /pws/zycbt145-bukrs_p.

  ELSE.

    v_bukrs_aux = itab_zycbt134-bukrs.

  ENDIF.

  PERFORM seleciona_conta_saida.

  PERFORM busca_divisao.

  IF itab_zycbt134-mdcorresp NE 'CP'.

    IF itab_zycbt134-tpproc = ' ' OR

...

 

...

                                   tpparc = itab_zycbt031-tpparc

                                   nrparc = itab_zycbt031-nrparc.

                IF sy-subrc EQ 0.

                  itab_zycbt129-belnr_l = itab_zycbt032-belnr.

                  MODIFY itab_zycbt129 TRANSPORTING belnr_l

                                 WHERE nrseq  = itab_zycbt031-nrcorresp

                                   AND  tpparc = itab_zycbt031-tpparc

                                   AND  nrparc = itab_zycbt031-nrparc.

                ENDIF.

              ENDIF.

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

              SELECT *

                     UP TO 1 ROWS

                     FROM /pws/zycbt031

                     WHERE nrseq = itab_zycbt134-nrseq.

              ENDSELECT.

* << Fim da inclusão

             IF NOT /pws/zycbt145-bukrs_p    IS INITIAL             AND

                /pws/zyglt009-arq_eletro     IS INITIAL             AND

                /pws/zycbt145-bukrs_p        NE itab_zycbt134-bukrs AND

                ( ( itab_zycbt134-mdcorresp  EQ 'IP'                AND

                     wa_zycbt007-saida_auto   IS INITIAL )           OR

                    itab_zycbt134-mdcorresp   EQ 'IA'                OR

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

                         ( itab_zycbt134-mdcorresp EQ 'ED' AND

                       /pws/zycbt031-tabela     EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

                                    itab_zycbt134-mdcorresp   EQ 'ID' ).

                IF itab_zycbt134-mdcorresp = 'IP'.

                  SELECT *

                         UP TO 1 ROWS

                         FROM /pws/zycbt108

                         INTO /pws/zycbt108

                         WHERE nrseq_pgfat = itab_zycbt134-nrcorresp.

                  ENDSELECT.

                  IF sy-subrc = 0 AND

                     NOT /pws/zycbt108-belnr_lq IS INITIAL.

...

 

...

                  ELSEIF sy-subrc = 0 AND

                     NOT /pws/zycbt108-belnr_co IS INITIAL.

                    v_dtcredpr = /pws/zycbt108-dtincl.

                  ENDIF.

                ELSEIF itab_zycbt134-mdcorresp = 'ID'.

                  SELECT *

                         FROM /pws/zycbt118

                         INTO /pws/zycbt118

                         WHERE nrseq = itab_zycbt134-nrcorresp AND

                               codmod = 'I'.

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

                  ENDSELECT.

                  v_dtcredpr = /pws/zycbt118-dtincl.

                ELSEIF itab_zycbt134-mdcorresp = 'ED' AND

                       /pws/zycbt031-tabela    = '/PWS/ZYCBT118'.

                  SELECT *

                         FROM /pws/zycbt118

                         INTO /pws/zycbt118

                         WHERE nrseq = itab_zycbt134-nrcorresp AND

                               codmod = 'E'.

* << Fim da inclusão

                  ENDSELECT.

                  v_dtcredpr = /pws/zycbt118-dtincl.

                ELSEIF itab_zycbt134-mdcorresp = 'IA'.

                  v_dtcredpr = itab_zycbt031-dtcredpr.

                ENDIF.

                SELECT augbl

                       FROM bseg

                       INTO /pws/zycbt145-belnr_saida

                       WHERE bukrs = itab_zycbt031-bukrs   AND

                             belnr = itab_zycbt031-belnr_p AND

...

 

...

      READ TABLE itab_zycbt118 WITH KEY

                                      nrseq    = itab_zycbt134-nrcorresp

                                      codmod   = 'F'

                                      codmodul = itab_zycbt134-codmodul.

      IF sy-subrc EQ 0.

        itab_zycbe033-c_gsber = itab_zycbt118-gsber.

        itab_zycbe033-d_gsber = itab_zycbt118-gsber.

      ENDIF.

    WHEN 'ED'

      OR 'EO'.

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

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt031

             WHERE nrseq = itab_zycbt134-nrseq.

      ENDSELECT.

      IF itab_zycbt134-mdcorresp = 'ED' AND

         /pws/zycbt031-tabela    = '/PWS/ZYCBT118'.

        READ TABLE itab_zycbt118

                   WITH KEY nrseq    = itab_zycbt134-nrcorresp

                            codmod   = 'E'

                            codmodul = itab_zycbt134-codmodul.

        IF sy-subrc EQ 0.

          itab_zycbe033-c_gsber = itab_zycbt118-gsber.

          itab_zycbe033-d_gsber = itab_zycbt118-gsber.

        ENDIF.

      ELSE.

* << Fim da inclusão

      READ TABLE itab_zycbt001

                              WITH KEY nrseqc = itab_zycbt134-nrcorresp.

      IF sy-subrc EQ 0.

        itab_zycbe033-c_gsber = itab_zycbt001-gsber.

        itab_zycbe033-d_gsber = itab_zycbt001-gsber.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    WHEN 'EL'.

...

 

...

            PERFORM carrega_dados_cd TABLES it_zycbt134.

          WHEN 'CE'.

            PERFORM carrega_dados_ce TABLES it_zycbt134

                                     USING  p_pagos.

          WHEN 'CP'.

            PERFORM carrega_dados_cp TABLES it_zycbt134

                                     USING  p_pagos.

          WHEN 'EC'.

            PERFORM carrega_dados_ec TABLES it_zycbt134.

          WHEN 'ED'.

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

            SELECT *

                   UP TO 1 ROWS

                   FROM /pws/zycbt031

                   WHERE nrseq = itab_zycbt134-nrseq.

            ENDSELECT.

            IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

              PERFORM carrega_dados_ed_e TABLES it_zycbt134.

            ELSE.

* << Fim da inclusão

            PERFORM carrega_dados_ed TABLES it_zycbt134

                                     USING  p_pagos.

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

            ENDIF.

* << Fim da inclusão

          WHEN 'EL'.

            PERFORM carrega_dados_el TABLES it_zycbt134

                                     USING p_pagos.

          WHEN 'EP'.

            PERFORM carrega_dados_ep TABLES it_zycbt134.

...

 

...

    ENDLOOP.

    SORT itab_zycbt134_g BY nrseq vlcide vlir.

    IF NOT itab_zycbt134_estorno_aux[] IS INITIAL.

      LOOP AT itab_zycbt134_estorno_aux

                                WHERE nok IS initial.

        IF itab_zycbt134_estorno_aux-mdcorresp EQ 'ID'.

          READ TABLE itab_zycbt118

                WITH KEY nrseq    = itab_zycbt134_estorno_aux-nrcorresp

                         codmod   = 'I'

                         codmodul = itab_zycbt134_estorno_aux-codmodul.

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

          IF itab_zycbt118-frpagto = 'R'.

            MOVE /pws/zycbt031-belnr_p TO itab_zycbt118-belnr_p.

          ELSE.

* << Fim da inclusão

          MOVE itab_zycbt118-belnrdesp TO itab_zycbt118-belnr_p.

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

          ENDIF.

* << Fim da inclusão

          MODIFY itab_zycbt118 TRANSPORTING belnr_p

               WHERE nrseq    = itab_zycbt134_estorno_aux-nrcorresp AND

                     codmod   = 'I'                                 AND

                     codmodul = itab_zycbt134_estorno_aux-codmodul.

        ELSEIF itab_zycbt134_estorno_aux-mdcorresp EQ 'CD'.

          READ TABLE itab_zycbt118

                WITH KEY nrseq    = itab_zycbt134_estorno_aux-nrcorresp

                         codmod   = 'F'

                         codmodul = itab_zycbt134_estorno_aux-codmodul.

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

          IF itab_zycbt118-frpagto = 'R'.

            MOVE /pws/zycbt031-belnr_p TO itab_zycbt118-belnr_p.

          ELSE.

* << Fim da inclusão

          MOVE itab_zycbt118-belnrdesp TO itab_zycbt118-belnr_p.

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

          ENDIF.

* << Fim da inclusão

          MODIFY itab_zycbt118 TRANSPORTING belnr_p

               WHERE nrseq    = itab_zycbt134_estorno_aux-nrcorresp AND

                     codmod   = 'F'                                 AND

                     codmodul = itab_zycbt134_estorno_aux-codmodul.

        ELSEIF itab_zycbt134_estorno_aux-mdcorresp EQ 'ED'.

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

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycbt031

                 WHERE nrseq = itab_zycbt134_estorno_aux-nrseq.

          ENDSELECT.

          IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

            READ TABLE itab_zycbt118

                WITH KEY nrseq    = itab_zycbt134_estorno_aux-nrcorresp

                           codmod   = 'E'

                          codmodul = itab_zycbt134_estorno_aux-codmodul.

            IF itab_zycbt118-frpagto = 'R'.

              MOVE /pws/zycbt031-belnr_p TO itab_zycbt118-belnr_p.

            ELSE.

              MOVE itab_zycbt118-belnrdesp TO itab_zycbt118-belnr_p.

            ENDIF.

            MODIFY itab_zycbt118 TRANSPORTING belnr_p

               WHERE nrseq    = itab_zycbt134_estorno_aux-nrcorresp AND

                     codmod   = 'E'                                 AND

                       codmodul = itab_zycbt134_estorno_aux-codmodul.

          ELSE.

* << Fim da inclusão

          LOOP AT itab_zycbt064 WHERE nrboleto =

                  itab_zycbt134_estorno_aux-nrseq.

            READ TABLE itab_zycbt004 WITH KEY

                 nrseqc = itab_zycbt064-nrchave

                 tpdesp = itab_zycbt064-tpdesp

                 nrparc = itab_zycbt064-nrparc

                 dtincl = itab_zycbt064-dtincl

                 dtliquid = itab_zycbt064-dtliquid

                 tpjuros = itab_zycbt064-tpjuros.

            IF sy-subrc = 0.

...

 

...

              MODIFY itab_zycbt004 TRANSPORTING belnr_comp dtpagto

                             WHERE nrseqc   = itab_zycbt064-nrchave  AND

                                   tpdesp   = itab_zycbt064-tpdesp   AND

                                   nrparc   = itab_zycbt064-nrparc   AND

                                   dtincl   = itab_zycbt064-dtincl   AND

                                   dtliquid = itab_zycbt064-dtliquid AND

                                   tpjuros  = itab_zycbt064-tpjuros.

            ENDIF.

          ENDLOOP.

          MODIFY /pws/zycbt004 FROM itab_zycbt004.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

        DELETE /pws/zycbt134 FROM itab_zycbt134_estorno_aux.

        COMMIT WORK.

      ENDLOOP.

      MODIFY /pws/zycbt118 FROM TABLE itab_zycbt118.

      COMMIT WORK.

    ENDIF.

    CLEAR: itab_zycbt134_estorno, itab_zycbt134_estorno_aux,

           itab_zycbt134_todos,   itab_zycbt134_estorno2.

    REFRESH: itab_zycbt134_estorno, itab_zycbt134_estorno_aux,

...

 

...

      ENDIF.

    ELSEIF v_campo EQ '/PWS/ZYCBE134-BELNR_PI' OR

           v_campo EQ '/PWS/ZYCBE134-BELNR_CI'.

      v_date = itab_zycbt031-dtcredir.

    ELSEIF v_campo EQ '/PWS/ZYCBE134-BELNR_C' OR

           v_campo EQ '/PWS/ZYCBE134-BELNR_CI'.

      v_date = itab_zycbt134-dtlanc.

    ENDIF.

    IF v_campo EQ '/PWS/ZYCBE134-BELNR_P'.

      IF itab_zycbt031-mdcorresp EQ 'ED'.

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

        IF itab_zycbt031-tabela = '/PWS/ZYCBT118'.

          READ TABLE itab_zycbt118 WITH KEY

                                      nrseq  = itab_zycbt031-nrcorresp

                                      codmod = 'E'.

          IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

            v_date  = itab_zycbt118-dtincl.

          ENDIF.

        ELSE.

* << Fim da inclusão

        READ TABLE itab_zycbt004 WITH KEY

                                     nrseqc   = itab_zycbt031-nrcorresp

                                     tpdesp   = itab_zycbt031-tpdesp

                                     nrparc   = itab_zycbt031-nrparc

                                     dtincl   = itab_zycbt031-dtincl

                                     dtliquid = itab_zycbt031-dtliquid

                                     tpjuros  = itab_zycbt031-tpjuros.

        IF sy-subrc = 0 AND itab_zycbt004-frpagto = 'C' AND

           itab_zycbt004-tpdesp NE 'J' AND itab_zycbt004-tpdesp NE 'D'

           AND /pws/zycbt145-cod_fech NE 'TR'.

          v_date  = itab_zycbt004-dtincl.

        ELSE.

          v_date  = itab_zycbt031-dtcredpr.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ELSEIF itab_zycbt031-mdcorresp EQ 'CD'.

        READ TABLE itab_zycbt118 WITH KEY

                                    nrseq  = itab_zycbt031-nrcorresp

                                    codmod = 'F'.

        IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

          v_date  = itab_zycbt118-dtincl.

        ENDIF.

      ELSEIF itab_zycbt031-mdcorresp EQ 'ID'.

        READ TABLE itab_zycbt118 WITH KEY

...

 

...

            v_date  = itab_zycbt118-dtincl.

          ENDIF.

        ELSEIF itab_zycbt031-mdcorresp EQ 'ID'.

          READ TABLE itab_zycbt118 WITH KEY

                                      nrseq  = itab_zycbt031-nrcorresp

                                      codmod = 'I'.

          IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

            v_date  = itab_zycbt118-dtincl.

          ENDIF.

        ELSEIF itab_zycbt134_pagos-mdcorresp EQ 'ED'.

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

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycbt031

                 WHERE nrseq = itab_zycbt134-nrseq.

          ENDSELECT.

          IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

            READ TABLE itab_zycbt118 WITH KEY

                                        nrseq  = itab_zycbt031-nrcorresp

                                        codmod = 'E'.

            IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

              v_date  = itab_zycbt118-dtincl.

            ENDIF.

          ELSE.

* << Fim da inclusão

          READ TABLE itab_zycbt004 WITH KEY

                                       nrseqc = itab_zycbt031-nrcorresp

                                       tpdesp = itab_zycbt031-tpdesp

                                       nrparc = itab_zycbt031-nrparc

                                       dtincl = itab_zycbt031-dtincl

                                      dtliquid = itab_zycbt031-dtliquid

                                       tpjuros = itab_zycbt031-tpjuros.

          IF sy-subrc = 0 AND itab_zycbt004-frpagto = 'C' AND

            itab_zycbt004-tpdesp NE 'J' AND itab_zycbt004-tpdesp NE 'D'

            AND /pws/zycbt145-cod_fech NE 'TR'.

            v_date  = itab_zycbt004-dtincl.

          ELSE.

            v_date  = itab_zycbt031-dtcredpr.

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ELSEIF itab_zycbt134_pagos-mdcorresp EQ 'EL'.

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycet037

                 WHERE bukrs = itab_zycbt031-bukrs.

          ENDSELECT.

          IF sy-subrc EQ 0.

            IF /pws/zycet037-comis_provisao EQ '0' OR

               /pws/zycet037-comis_provisao IS INITIAL.

...

 

...

                                      codmod = 'I'.

          IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

            v_date  = itab_zycbt118-dtincl.

          ENDIF.

        ELSEIF itab_zycbt031-mdcorresp EQ 'CP'.

          READ TABLE itab_zycbt124 WITH KEY belnr = v_valor.

          IF sy-subrc = 0.

            v_date  = itab_zycbt124-dtdocto.

          ENDIF.

        ELSEIF itab_zycbt134_pagos-mdcorresp EQ 'ED'.

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

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycbt031

                 WHERE nrseq = itab_zycbt134-nrseq.

          ENDSELECT.

          IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

            READ TABLE itab_zycbt118 WITH KEY

                                        nrseq  = itab_zycbt031-nrcorresp

                                        codmod = 'E'.

            IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

              v_date  = itab_zycbt118-dtincl.

            ENDIF.

          ELSE.

* << Fim da inclusão

          READ TABLE itab_zycbt004 WITH KEY

                                      nrseqc   = itab_zycbt031-nrcorresp

                                      tpdesp   = itab_zycbt031-tpdesp

                                      nrparc   = itab_zycbt031-nrparc

                                      dtincl   = itab_zycbt031-dtincl

                                      dtliquid = itab_zycbt031-dtliquid

                                      tpjuros  = itab_zycbt031-tpjuros.

          IF sy-subrc = 0 AND itab_zycbt004-frpagto = 'C' AND

            itab_zycbt004-tpdesp NE 'J' AND itab_zycbt004-tpdesp NE 'D'

            AND /pws/zycbt145-cod_fech NE 'TR'.

            v_date  = itab_zycbt004-dtincl.

          ELSE.

            v_date  = itab_zycbt031-dtcredpr.

          ENDIF.

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

          ENDIF.

* << Fim da inclusão

        ELSEIF itab_zycbt134_pagos-mdcorresp EQ 'EL'.

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycet037

                 WHERE bukrs = itab_zycbt031-bukrs.

          ENDSELECT.

          IF sy-subrc EQ 0.

            IF /pws/zycet037-comis_provisao EQ '0' OR

               /pws/zycet037-comis_provisao IS INITIAL.

              READ TABLE itab_zycet010 WITH KEY belnr = v_valor.

...

 

...

              value_tab       = itab_lfbk_aux

         EXCEPTIONS

              parameter_error = 1

              no_values_found = 2

              OTHERS          = 3.

    IF sy-subrc <> 0.

      EXIT.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM carrega_dados_ed_e TABLES it_zycbt134 LIKE itab_zycbt134_g[].

  LOOP AT itab_zycbt031 WHERE nrseq = it_zycbt134-nrseq.

    LOOP AT itab_zycbt118 WHERE nrseq    = itab_zycbt031-nrcorresp AND

                              ( codmodul = 'IN'OR

                                codmodul = 'OP').

      MOVE: itab_zycbt118-j_1bbranch TO it_zycbt134-j_1bbranch,

            itab_zycbt118-werks      TO it_zycbt134-werks,

            itab_zycbt118-gsber      TO it_zycbt134-gsber,

            itab_zycbt118-nrdesp     TO it_zycbt134-nrcontr,

            itab_zycbt118-dtvencto   TO it_zycbt134-dtvencto.

      MOVE: itab_zycbt031-vlmi       TO it_zycbt134-vlmi,

            itab_zycbt031-belnr_p    TO it_zycbt134-belnr_p.

      CLEAR: it_zycbt134-vlir,   it_zycbt134-vlmiir,

             it_zycbt134-taxair, it_zycbt134-belnr_pi.

      SELECT waersb

             UP TO 1 ROWS

             FROM /pws/zycbt007

             INTO it_zycbt134-waersb

             WHERE bukrs = it_zycbt134-bukrs.

      ENDSELECT.

      MODIFY it_zycbt134.

      EXIT.

    ENDLOOP.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCB115F02

 

...

            ENDCASE.

        ENDCASE.

      ENDLOOP.

      IF itab_zycbe033-c_zuonr IS INITIAL.

        itab_zycbe033-c_zuonr = itab_zycbt134-nrseq.

      ENDIF.

      IF itab_zycbe033-d_zuonr IS INITIAL.

        itab_zycbe033-d_zuonr = itab_zycbt134-nrseq.

      ENDIF.

    ENDIF.

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

    SELECT *

           UP TO 1 ROWS

           FROM /pws/zycbt031

           WHERE nrseq = itab_zycbt134-nrseq.

    ENDSELECT.

* << Fim da inclusão

    IF itab_zycbt134-mdcorresp EQ 'CD' OR

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

       ( itab_zycbt134-mdcorresp EQ 'ED' AND

         /pws/zycbt031-tabela    EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

       itab_zycbt134-mdcorresp EQ 'ID'.

      CLEAR itab_zycbe033-xblnr.

      REFRESH itab_zyglt321.

      READ TABLE itab_zycbt118 WITH KEY nrseq = itab_zycbt134-nrcorresp.

      CHECK sy-subrc = 0.

...

 

...

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_doctos USING v_dtcredpr_aux

                            v_dtcredpr

                            v_dtcredir

                            v_dtcide.

  DATA: v_bcoc         LIKE /pws/zycbt134-bcocred,

        v_dtcredir_aux LIKE /pws/zycbt031-dtcredir,

        v_dtcide_aux   LIKE /pws/zycbt031-dtcide.

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

  SELECT *

         UP TO 1 ROWS

         FROM /pws/zycbt031

         WHERE nrseq = itab_zycbt134-nrseq.

  ENDSELECT.

* << Fim da inclusão

  IF itab_zycbt134-mdcorresp EQ 'ED'.

    READ TABLE itab_zycbt031 WITH KEY nrseq = itab_zycbt134-nrseq.

    IF sy-subrc = 0.

      READ TABLE itab_zycbt004 WITH KEY

                                     nrseqc   = itab_zycbt031-nrcorresp

                                       tpdesp = itab_zycbt031-tpdesp

                                       nrparc = itab_zycbt031-nrparc

                                       dtincl = itab_zycbt031-dtincl

                                      dtliquid = itab_zycbt031-dtliquid

                                       tpjuros = itab_zycbt031-tpjuros.

...

 

...

               UP TO 1 ROWS

               FROM /pws/zycbt031

               WHERE nrseq = itab_zycbt134-nrseq.

        ENDSELECT.

        v_dtcredpr_aux = /pws/zycbt031-dtcredpr.

        v_dtcredir_aux = /pws/zycbt031-dtcredir.

        v_dtcide_aux   = /pws/zycbt031-dtcide.

      ENDIF.

    ENDIF.

  ELSEIF itab_zycbt134-mdcorresp EQ 'CD' OR

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

         ( itab_zycbt134-mdcorresp EQ 'ED' AND

           /pws/zycbt031-tabela    EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         itab_zycbt134-mdcorresp EQ 'ID'.

    IF itab_zycbt134-mdcorresp   EQ 'CD'.

      v_codmod = 'F'.

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

    ELSE.

* << Fim da exclusão

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

    ELSEIF itab_zycbt134-mdcorresp EQ 'ED'.

      v_codmod = 'E'.

    ELSEIF itab_zycbt134-mdcorresp EQ 'ID'.

* << Fim da inclusão

      v_codmod = 'I'.

    ENDIF.

    READ TABLE itab_zycbt118 WITH KEY nrseq  = itab_zycbt134-nrcorresp

                                      codmod = v_codmod.

    IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

      v_dtcredpr_aux = itab_zycbt118-dtincl.

    ELSE.

      SELECT *

             UP TO 1 ROWS

             FROM /pws/zycbt031

...

 

...

                 UP TO 1 ROWS

                 FROM bkpf

                 INTO itab_zycbe033-dtdocto

                 WHERE belnr EQ itab_zycbe033-belnr AND

                       bukrs EQ itab_zycbt134-bukrs AND

                       gjahr EQ i_gjahr.

          ENDSELECT.

        WHEN 'ED'.

          CLEAR   itab_zycbt036.

          REFRESH itab_zycbt036.

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

          SELECT *

                 UP TO 1 ROWS

                 FROM /pws/zycbt031

                 WHERE nrseq = itab_zycbt134-nrseq.

          ENDSELECT.

          IF /pws/zycbt031-tabela = '/PWS/ZYCBT118'.

            LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

              LOOP AT itab_zycbt118 WHERE nrseq = itab_zycbt064-nrchave.

                itab_zycbt036-tcode   = 'F-53'.

                itab_zycbt036-tabela  = '/PWS/ZYCBT134'.

                itab_zycbt036-cpochv  = v_cpochv.

                itab_zycbt036-belnr   = itab_zycbt118-belnrdesp.

                IF NOT itab_zycbt118-belnrdesp IS INITIAL.

                  SELECT budat awkey

                         UP TO 1 ROWS

                         FROM bkpf

                       INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)

                         WHERE belnr EQ itab_zycbt036-belnr AND

                               bukrs EQ itab_zycbt118-bukrs AND

                               gjahr EQ itab_zycbt118-dtincl(4).

                  ENDSELECT.

                  APPEND itab_zycbt036.

                ELSE.

                  itab_zycbe033-belnr  = itab_zycbt134-belnr_p.

                  itab_zycbe033-dtdocto = v_dtcredpr_aux.

                ENDIF.

              ENDLOOP.

            ENDLOOP.

          ELSE.

* << Fim da inclusão

          LOOP AT itab_zycbt064 WHERE nrboleto = itab_zycbt134-nrseq.

            READ TABLE itab_zycbt004

                  WITH KEY nrseqc   = itab_zycbt064-nrchave(8)

                           tpdesp   = itab_zycbt064-tpdesp

                           nrparc   = itab_zycbt064-nrparc

                           dtincl   = itab_zycbt064-dtincl

                           dtliquid = itab_zycbt064-dtliquid

                           tpjuros  = itab_zycbt064-tpjuros.

            itab_zycbt036-lifnr  = itab_zycbt064-lifnr.

            itab_zycbt036-tcode  = 'F-53'.

...

 

...

                             bukrs EQ itab_zycbt004-bukrs AND

                             gjahr EQ itab_zycbt004-dtincl(4).

                ENDSELECT.

              ENDIF.

              APPEND itab_zycbt036.

            ELSE.

              itab_zycbe033-belnr   = itab_zycbt134-belnr_p.

              itab_zycbe033-dtdocto = v_dtcredpr_aux.

            ENDIF.

          ENDLOOP.

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

          ENDIF.

* << Fim da inclusão

        WHEN OTHERS.

          itab_zycbe033-belnr  = itab_zycbt134-belnr_p.

          itab_zycbe033-dtdocto = v_dtcredpr_aux.

      ENDCASE.

    ELSE.

      itab_zycbe033-belnr  = itab_zycbt134-belnr_p.

      itab_zycbe033-dtdocto = v_dtcredpr_aux.

    ENDIF.

    v_bcoc = itab_zycbt134-bcocred.

  ELSEIF itab_zycbt134-tpproc(4) = 'CIDE' OR

...

 

...

    ENDLOOP.

  ENDIF.

  COMMIT WORK.

ENDFORM.

FORM busca_filial USING p_zycbt031 LIKE LINE OF itab_zycbt031

               CHANGING p_brnch    LIKE itab_zycbe033-brnch.

  CONSTANTS:

    c_emprestimo TYPE /pws/zycbt031-mdcorresp VALUE 'CE',

    c_despesa_f  TYPE /pws/zycbt031-mdcorresp VALUE 'CD',

    c_despesa_i  TYPE /pws/zycbt031-mdcorresp VALUE 'ID',

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

    c_despesa_e  TYPE /pws/zycbt031-mdcorresp VALUE 'ED',

* << Fim da inclusão

    c_remessa    TYPE /pws/zycbt031-mdcorresp VALUE 'CP'.

  DATA: v_werks TYPE /pws/zycbt128-werks.

  CHECK p_brnch IS INITIAL.

  CASE p_zycbt031-mdcorresp.

    WHEN c_emprestimo.

      IF NOT itab_zycbt128-j_1bbranch IS INITIAL.

        p_brnch = itab_zycbt128-j_1bbranch.

      ELSE.

        v_werks = itab_zycbt128-werks.

      ENDIF.

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

    WHEN c_despesa_f OR c_despesa_i.

* << Fim da exclusão

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

    WHEN c_despesa_f OR c_despesa_i OR c_despesa_e.

* << Fim da inclusão

      IF NOT itab_zycbt118-j_1bbranch IS INITIAL.

        p_brnch = itab_zycbt118-j_1bbranch.

      ELSE.

        v_werks = itab_zycbt118-werks.

      ENDIF.

    WHEN c_remessa.

      IF NOT itab_zycbt124-j_1bbranch IS INITIAL.

        p_brnch = itab_zycbt124-j_1bbranch.

      ELSE.

        v_werks = itab_zycbt124-werks.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM110F01

 

...

  ENDIF.

  IF wa_zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = /pws/zycbe031-dtboleto.

    itab_zycbe033-d_valut = sy-datum.

    itab_zycbe033-c_valut = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = /pws/zycbe031-dtboleto.

    itab_zycbe033-d_valut = itab_zycbe033-budat.

    itab_zycbe033-c_valut = itab_zycbe033-budat.

  ENDIF.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_ID

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_ID

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

        CLEAR: v_ms.

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = wa_zycbt118-nrdesp.

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

          WHEN 'NRDESP+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrdesp v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

          WHEN 'NRSEQ+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrseq v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_ID

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrseq.

...

 

...

  PERFORM clear_date_batch.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                 INTO wa_zycbt007

                 WHERE bukrs EQ /pws/zycbe031-bukrs.

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = '/PWS/ZYCBT118'.

  CLEAR wa_zycbt011.

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

  IF wa_zycbt118-codmod = 'E'.

    IF wa_zycbt118-frpagto = 'C'.

      v_codeven = '005PA'.

      v_trans = 'F-51'.

    ELSEIF wa_zycbt118-frpagto = 'R'.

      v_codeven = '005PB'.

      v_trans = 'F-02'.

    ENDIF.

    SELECT *

      FROM /pws/zyglt321

      INTO TABLE itab_zyglt321

     WHERE ktosl   EQ 'DSE'

       AND codeven EQ v_codeven.

  ELSE.

* << Fim da inclusão

  IF wa_zycbt118-frpagto = 'C'.

    v_codeven = '006DA'.

    v_trans = 'F-51'.

  ELSEIF wa_zycbt118-frpagto = 'R'.

    v_codeven = '006DB'.

    v_trans = 'F-02'.

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

    ENDIF.

    SELECT *

      FROM /pws/zyglt321

      INTO TABLE itab_zyglt321

     WHERE ktosl   EQ 'DSI'

      AND  codeven EQ v_codeven.

* << Fim da inclusão

  ENDIF.

  v_evento = v_codeven.

  REFRESH itab_zycbt012.

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

  IF wa_zycbt118-codmod = 'E'.

    SELECT * FROM /pws/zycbt012

             INTO TABLE itab_zycbt012

             WHERE codeven = v_codeven

               AND codmod  = 'E'.

    SELECT SINGLE * FROM /pws/zycbt011

                    INTO wa_zycbt011

                    WHERE codeven = v_codeven

                    AND codmod  = 'E'

                    AND bukrs   = /pws/zycbe031-bukrs.

  ELSE.

* << Fim da inclusão

  SELECT * FROM /pws/zycbt012

           INTO TABLE itab_zycbt012

           WHERE codeven = v_codeven

             AND codmod  = 'I'.

  SELECT SINGLE * FROM /pws/zycbt011

                  INTO wa_zycbt011

                  WHERE codeven = v_codeven

                  AND codmod  = 'I'

                  AND bukrs   = /pws/zycbe031-bukrs.

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

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE kurst

        FROM /pws/zycbt009

        INTO /pws/zycbt009-kurst

        WHERE codpadr = wa_zycbt011-ctmoed.

  v_ctmoeda = /pws/zycbt009-kurst.

  IF wa_zycbt118-frpagto = 'C'.

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

    IF wa_zycbt118-codmod = 'E'.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = /pws/zycbe031-bukrs

                ktosl           = 'DSE'

                codaux1         = wa_zycbt118-tpdesp

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

    ELSE.

* << Fim da inclusão

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe031-bukrs

              ktosl           = 'DSI'

              codaux1         = wa_zycbt118-tpdesp

         TABLES

              account         = itab_zyglt316

         EXCEPTIONS

              key_not_found   = 1

              rules_not_found = 2

              OTHERS          = 3.

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

    ENDIF.

* << Fim da inclusão

    IF sy-subrc <> 0.

      IF sy-subrc EQ 1 AND /pws/zycbe031-frgzu = '2'.

        MESSAGE i015 WITH text-213.

      ELSEIF sy-subrc EQ 2 AND /pws/zycbe031-frgzu = '2'.

        MESSAGE i015 WITH text-214.

      ENDIF.

    ELSE.

      READ TABLE itab_zyglt316 INDEX 1.

      MOVE itab_zyglt316-konts TO itab_zycbe033-d_newko.

      itab_contas-conta = itab_zyglt316-konts.

...

 

...

    itab_zycbe033-newbs = '31'.

    itab_zycbe033-c_newko = /pws/zycbe031-bcooper.

    itab_zycbe033-agkoa = 'K'.

    itab_zycbe033-agkon = wa_zycbt118-benefic.

    PERFORM verify_null_field USING itab_zycbe033-agkon

                                    'AGKON'

                                    text-021.

  ELSEIF wa_zycbt118-frpagto = 'R'.

    IF wa_zycbt118-codmod = 'I'.

      v_ktosl = 'PDI'.

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

    ELSEIF wa_zycbt118-codmod = 'E'.

      v_ktosl = 'DSE'.

* << Fim da inclusão

    ELSEIF wa_zycbt118-codmod = 'F'.

      v_ktosl = 'PDS'.

    ENDIF.

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

         EXPORTING

              bukrs           = /pws/zycbe031-bukrs

              ktosl           = v_ktosl

              codaux1         = wa_zycbt118-tpdesp

         TABLES

              account         = itab_zyglt316

...

 

...

  v_belnr = /pws/zycbe031-belnr_p.

  PERFORM get_parameters_118e031.

  itab_zycbe033-mandt  = sy-mandt.

  itab_zycbe033-tcode  = 'FBV0'.

  itab_zycbe033-tabela = '/PWS/ZYCBT031'.

  itab_zycbe033-cpochv = /pws/zycbe031-nrseq.

  itab_zycbe033-belnr  = /pws/zycbe031-belnr_p.

  itab_zycbe033-bukrs  = wa_zycbt118-bukrs.

  itab_zycbe033-bldat  = wa_zycbt118-dtpagto.

  itab_zycbe033-bktxt  = wa_zycbt007-bktxt.

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

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

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

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CLEAR: v_ms.

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-xblnr = wa_zycbt118-nrseq.

          WHEN 'NRDESP'.

            itab_zycbe033-xblnr = wa_zycbt118-nrdesp.

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

          WHEN 'NRDESP+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrdesp v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

          WHEN 'NRSEQ+MS'.

            CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

            CONCATENATE wa_zycbt118-nrseq v_ms

                    INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

        ENDCASE.

      WHEN 'ZUONR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRSEQ'.

            itab_zycbe033-d_zuonr = wa_zycbt118-nrseq.

...

 

...

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

        ENDLOOP.

      ENDIF.

    ELSE.

      LOOP AT itab_zycbt034.

        MESSAGE i016 WITH itab_zycbt034-descricao.

      ENDLOOP.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

              bukrs       EQ /pws/zycbt119-bukrs.

    ELSE.

      SELECT SINGLE *

        FROM /pws/zycbt131

        WHERE mdcorresp EQ 'IP'            AND

              nrseq EQ /pws/zycbt119-nrseq AND

              bukrs EQ /pws/zycbt119-bukrs.

    ENDIF.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM contabiliza_ed_e.

  PERFORM verifica_estrategia_liberacao.

  CHECK erro_bi IS INITIAL.

  PERFORM selecionar_ed_e.

  IF /pws/zycbe145-cod_fech NE 'TR'  AND

      wa_zycbt118-frpagto   EQ 'C'.

    PERFORM reg_fech_id.

    v_status_s = 0.

    EXIT.

  ELSEIF /pws/zycbe145-cod_fech NE 'TR'  AND

         wa_zycbt118-frpagto    EQ 'R'   AND

         wa_zycbt118-fcambio    EQ 'N'   AND

         NOT /pws/zycbe031-belnr_p  IS INITIAL.

    MODIFY /pws/zycbt145 FROM /pws/zycbt145.

    wa_zycbt145 = /pws/zycbe145.

    v_status_s = 0.

    EXIT.

  ENDIF.

  IF /pws/zycbe031-statusp EQ 'I' OR  /pws/zycbe031-statusp IS INITIAL.

    /pws/zycbe031-statusp = 'I'.

    IF /pws/zycbe031-frgzu = '2'.

      PERFORM fill_date_f-63ouf-02_id.

    ENDIF.

  ELSEIF /pws/zycbe031-statusp EQ 'P'.

    IF wa_zycbt118-frpagto = 'C'.

      PERFORM reverse_document_fbv0_id.

    ELSE.

      MESSAGE e076 WITH /pws/zycbe031-nrseq.

    ENDIF.

    IF erro_bi IS INITIAL AND

       ( /pws/zycbe031-statusp = 'I' OR /pws/zycbe031-statusp = ' ' ).

      PERFORM limpa_status_liberacao.

      MODIFY /pws/zycbt031 FROM /pws/zycbe031.

    ENDIF.

  ELSEIF /pws/zycbe031-statusp EQ 'C'.

    SELECT * FROM /pws/zycbt133

    INTO TABLE itab_zycbt133

    WHERE bukrs = /pws/zycbe031-bukrs.

    READ TABLE itab_zycbt133 WITH KEY codmod = 'E'.

    IF sy-subrc = 0 AND itab_zycbt133-vaprov = 'X'.

      PERFORM estorna_aprov.

      IF erro_bi IS INITIAL AND

         ( /pws/zycbe031-statusp = 'I' OR /pws/zycbe031-statusp = ' ' ).

        PERFORM limpa_status_liberacao.

        MODIFY /pws/zycbt031 FROM /pws/zycbe031.

      ENDIF.

      PERFORM contabiliza_ed_e.

    ELSE.

      PERFORM verifica_documento_compensado.

      IF sy-subrc = 0 AND NOT bseg-augbl IS INITIAL.

        MESSAGE w061 WITH text-152 v_belnr text-153 text-154.

        EXIT.

      ELSE.

        PERFORM estorna_aprov.

        IF erro_bi IS INITIAL AND

         ( /pws/zycbe031-statusp = 'I' OR /pws/zycbe031-statusp = ' ' ).

          PERFORM limpa_status_liberacao.

          MODIFY /pws/zycbt031 FROM /pws/zycbe031.

        ENDIF.

        PERFORM contabiliza_ed_e.

      ENDIF.

      v_status_s = 0.

    ENDIF.

  ENDIF.

  LOOP AT itab_zycbt118.

    UPDATE /pws/zycbt118 SET frgzu   = /pws/zycbe031-frgzu

                             estrat  = /pws/zycbe031-estrat

                             frgsx1  = /pws/zycbe031-frgsx1

                             frgsx2  = /pws/zycbe031-frgsx2

                             frgsx3  = /pws/zycbe031-frgsx3

                             frgsx4  = /pws/zycbe031-frgsx4

                             frgsx5  = /pws/zycbe031-frgsx5

                             nlib    = /pws/zycbe031-nlib

                             seq     = /pws/zycbe031-seq

                             aprova  = /pws/zycbe031-aprova

                             bname   = /pws/zycbe031-bname

                             dtbname = /pws/zycbe031-dtbname

                             hrbname = /pws/zycbe031-hrbname

                             frggr   = /pws/zycbe031-frggr

                         WHERE nrseq = itab_zycbt118-nrseq

                          AND codmod = 'E'.

  ENDLOOP.

ENDFORM.

FORM selecionar_ed_e.

  CLEAR wa_zycbt118.

  SELECT SINGLE * FROM  /pws/zycbt118

                  INTO  wa_zycbt118

                  WHERE nrseq  EQ /pws/zycbe031-nrcorresp

                    AND codmod EQ 'E'

                    AND codmodul EQ /pws/zycbe031-codmodul.

ENDFORM.

FORM selecionar_desp_exp_e.

  SELECT * FROM /pws/zycbt118

           INTO TABLE itab_zycbt118

           WHERE nrseq EQ itab_zycbt031-nrcorresp.

  LOOP AT itab_zycbt118.

    SELECT SINGLE * FROM /pws/zycbt015

      WHERE tpdesp = itab_zycbt118-tpdesp

        AND ftipo = 'E'.

    CLEAR: v_waers, v_vlme, v_vlusd, v_vlbrl.

    v_waers = itab_zycbt118-waers.

    v_vlme  = itab_zycbt118-vlme.

    PERFORM casas_decimais.

    v_vlme  = v_vlmeaux.

    PERFORM converte_reais.

    PERFORM converte_usd.

    MOVE:

      text-051                TO itab_boleto-mod,

      itab_zycbt118-nrseq     TO itab_boleto-nrchave,

      itab_zycbt118-nrdesp    TO itab_boleto-docto,

      itab_zycbt118-bukrs     TO itab_boleto-bukrs,

      '/PWS/ZYCBT118'              TO itab_boleto-tab,

      /pws/zycbt015-txtdesc        TO itab_boleto-tipo,

      itab_zycbt118-dtvencto  TO itab_boleto-dtvencto,

      v_taxa_dia              TO itab_boleto-txdia,

      itab_zycbt118-waers     TO itab_boleto-waers,

      itab_zycbt118-vlme      TO itab_boleto-vlme,

      v_vlusd                 TO itab_boleto-vlusd,

      v_vlbrl                 TO itab_boleto-vlbrl,

      itab_zycbt118-fcambio   TO itab_boleto-fcamb,

      itab_zycbt118-frpagto   TO itab_boleto-frpagto,

      itab_zycbt118-benefic   TO itab_boleto-lifnr,

      itab_zycbt118-txtinf    TO itab_boleto-txtinf,

      'ED'                    TO itab_boleto-fmd.

    APPEND itab_boleto.

  ENDLOOP.

  CLEAR: v_tipo2, v_taxa_dia, itab_zycbt118, /pws/zycbt015, itab_boleto.

ENDFORM.

FORM carrega_dados_ed_e.

  LOOP AT itab_zycbt064.

    CLEAR itab_zycbt031_tc.

    READ TABLE itab_zycbt118 WITH KEY nrseq = itab_zycbt064-nrchave.

    IF sy-subrc = 0.

      itab_zycbt031_tc-bukrs         = itab_zycbt118-bukrs.

      itab_zycbt031_tc-gsber         = itab_zycbt118-gsber.

      itab_zycbt031_tc-j_1bbranch    = itab_zycbt118-j_1bbranch.

      itab_zycbt031_tc-nrpagto       = itab_zycbt118-nrdesp.

      itab_zycbt031_tc-dtvencto      = itab_zycbt118-dtvencto.

      itab_zycbt031_tc-lifnr         = itab_zycbt118-benefic.

      IF itab_zycbt064-vlmi > 0.

        itab_zycbt031_tc-v_vlmi      = itab_zycbt064-vlmi.

      ELSE.

        v_vlmeaux = itab_zycbt124_aux-vlir /

                    ( 10 ** ( tcurx-currdec - 2 ) ).

        itab_zycbt031_tc-v_vlmiir =

           ( ( /pws/zycbe031-taxair / v_dfact ) * v_pfact ) * v_vlmeaux.

        IF wa_tcurx-currdec = 0.

          itab_zycbt031_tc-v_vlmiir = itab_zycbt031_tc-v_vlmiir *

                                     ( 10 ** ( wa_tcurx-currdec - 2 ) ).

        ENDIF.

      ENDIF.

      PERFORM carrega_dados_globais.

      APPEND itab_zycbt031_tc.

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM preenche_ctas_custo_lucro_ed_e.

  LOOP AT itab_zycbt118.

    IF NOT itab_zycbt118-kostl IS INITIAL.

      itab_custo-kostl = itab_zycbt118-kostl.

      APPEND itab_custo.

    ENDIF.

    IF NOT itab_zycbt118-prctr IS INITIAL.

      itab_lucro-prctr = itab_zycbt118-prctr.

      APPEND itab_lucro.

    ENDIF.

    PERFORM selecionar_ed_e.

    IF itab_zycbt118-belnrdesp IS INITIAL.

      PERFORM get_parameters_118e031.

    ENDIF.

    IF itab_zycbt118-frpagto = 'C'.

      CLEAR itab_zyglt316.

      REFRESH itab_zyglt316.

      CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

           EXPORTING

                bukrs           = itab_zycbt118-bukrs

                ktosl           = 'DSE'

                codaux1         = itab_zycbt118-tpdesp

           TABLES

                account         = itab_zyglt316

           EXCEPTIONS

                key_not_found   = 1

                rules_not_found = 2

                OTHERS          = 3.

      IF sy-subrc = 0.

        READ TABLE itab_zyglt316 INDEX 1.

        itab_contas-conta = itab_zyglt316-konts.

        APPEND itab_contas.

      ENDIF.

    ENDIF.

  ENDLOOP.

  v_area = itab_zycbt118-cod_area.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYGL110F01

 

...

    IF /pws/zycbe145-cod_fech = 'TR'.

      v_date2 = /pws/zycbe031-dtcredpr.

    ELSE.

      IF /pws/zycbe031-mdcorresp = 'ID'.

        READ TABLE itab_zycbt118

          WITH KEY nrseq  = /pws/zycbe031-nrcorresp

                   codmod = 'I'.

        IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

          v_date2 = itab_zycbt118-dtincl.

        ENDIF.

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

      ELSEIF /pws/zycbe031-mdcorresp = 'ED' AND

             /pws/zycbe031-tabela    = '/PWS/ZYCBT118'.

        READ TABLE itab_zycbt118

          WITH KEY nrseq  = /pws/zycbe031-nrcorresp

                   codmod = 'E'.

        IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

          v_date2 = itab_zycbt118-dtincl.

        ENDIF.

* << Fim da inclusão

      ELSEIF /pws/zycbe031-mdcorresp = 'CD'.

        READ TABLE itab_zycbt118

          WITH KEY nrseq  = /pws/zycbe031-nrcorresp

                   codmod = 'F'.

        IF sy-subrc = 0 AND itab_zycbt118-frpagto = 'C'.

          v_date2 = itab_zycbt118-dtincl.

        ENDIF.

      ELSEIF /pws/zycbe031-mdcorresp = 'IP'.

        IF NOT /pws/zycbt108-belnr_co IS INITIAL.

          v_date2 = /pws/zycbt108-bldat.

...

 

...

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBRA'

                                      tabela = '/PWS/ZYCBT031'

                                      cpochv = /pws/zycbe031-nrseq

                                      tpmsg  = 'S'.

    IF sy-subrc NE 0.

      EXIT.

    ENDIF.

  ENDIF.

  IF ( wa_zycbt118-frpagto = 'C' AND wa_zycbt118-fcambio = 'S'

       AND ( /pws/zycbe031-mdcorresp = 'CD' OR

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

           (  /pws/zycbe031-mdcorresp = 'ED' AND

              /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

             /pws/zycbe031-mdcorresp = 'ID' ) ) OR

    ( /pws/zycbe031-mdcorresp = 'CP' AND wa_zycbt124-frpagto = 'C'

      AND /pws/zycbe145-cod_fech NE 'TR' ).

    PERFORM est_fbra_comp.

    READ TABLE itab_zycbt032 WITH KEY tcode  = 'FBRA'

                                     tabela = '/PWS/ZYCBT031'

                                     cpochv = /pws/zycbe031-nrseq

                                     tpmsg  = 'S'.

    IF sy-subrc = 0.

      PERFORM est_fb08.

...

 

...

      ENDIF.

    ENDIF.

    CLEAR itab_zycbt031-v_process.

    MODIFY itab_zycbt031 TRANSPORTING v_process

                         WHERE nrseq    EQ /pws/zycbe031-nrseq

                           AND dtboleto EQ /pws/zycbe031-dtboleto.

    IF ok_code EQ 'DEL'.

      /pws/zycbe031-status = 'E'.

      CASE /pws/zycbe031-mdcorresp.

        WHEN 'ID'.

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

          wa_zycbt118-statusp = 'I'.

          CLEAR: wa_zycbt118-belnr_p,

                 wa_zycbt118-dtpagto.

          MODIFY /pws/zycbt118 FROM wa_zycbt118.

        WHEN 'ED'.

          IF /pws/zycbe031-tabela = '/PWS/ZYCT118'.

* << Fim da inclusão

          wa_zycbt118-statusp = 'I'.

          CLEAR: wa_zycbt118-belnr_p,

                 wa_zycbt118-dtpagto.

          MODIFY /pws/zycbt118 FROM wa_zycbt118.

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

          ENDIF.

* << Fim da inclusão

        WHEN 'IP'.

          CLEAR itab_zycbt064.

          REFRESH itab_zycbt064.

...

 

...

             ( /pws/zycbe031-mdcorresp    NE 'IP'    OR

               ( /pws/zycbe031-mdcorresp  EQ 'IP'    AND

                 wa_zycbt108-belnr_co     IS INITIAL ) ) ) ) ).

      IF NOT /pws/zycbe031-statuspg IS INITIAL

         AND /pws/zycbe031-statuspg <> 'F'.

        MESSAGE i015 WITH text-072 text-073.

        EXIT.

      ENDIF.

    ENDIF.

    IF ( /pws/zycbe031-mdcorresp = 'CD' OR

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

       ( /pws/zycbe031-mdcorresp = 'ED' AND

         /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         /pws/zycbe031-mdcorresp = 'ID' ) AND

       itab_zycbt118-frpagto EQ 'C' AND

       itab_zycbt118-fcambio EQ 'N'.

      /pws/zycbe031-status = 'E'.

      UPDATE /pws/zycbt118 SET dtpagto = space

                               belnr_p = space

                           WHERE nrseq = /pws/zycbe031-nrcorresp.

    ELSE.

      PERFORM marca_exclusao.

    ENDIF.

...

 

...

      PERFORM contabiliza_ip.

    WHEN 'IF'.

      PERFORM contabiliza_if.

    WHEN 'ID'.

      PERFORM contabiliza_id.

    WHEN 'IA'.

      PERFORM contabiliza_ia.

    WHEN 'EL'.

      PERFORM contabiliza_el.

    WHEN 'EC' OR 'ED'.

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

      IF /pws/zycbe031-mdcorresp = 'ED'.

        /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

        PERFORM contabiliza_ed_e.

      ELSE.

* << Fim da inclusão

      PERFORM verifica_contabiliza_ed.

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

      ENDIF.

* << Fim da inclusão

    WHEN 'EJ'.

      PERFORM contabiliza_ej.

    WHEN 'EP'.

      /pws/zycbe031-belnr_p = itab_zycet033-docfat.

      /pws/zycbe031-frgzu   = '2'.

      /pws/zycbe031-statusp = 'C'.

...

 

...

    ENDIF.

  ENDIF.

  IF v_imprime EQ 'S'.

    SELECT SINGLE * FROM /pws/zycbt007

      WHERE bukrs EQ /pws/zycbe031-bukrs.

    CLEAR itab_boleto.

    REFRESH itab_boleto.

    PERFORM verifica_tipo_comis.

    CASE itab_zycbt031-mdcorresp.

      WHEN 'ED'.

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

        IF itab_zycbt031-tabela = '/PWS/ZYCBT118'.

          PERFORM selecionar_desp_exp_e.

        ELSE.

* << Fim da inclusão

        PERFORM selecionar_desp_exp.

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

        ENDIF.

* << Fim da inclusão

      WHEN 'EJ'.

        PERFORM selecionar_desp_cj.

      WHEN 'EC'.

        PERFORM selecionar_desp_cc.

      WHEN 'EL'.

      IF ( /pws/zycbt037-codpad EQ 'T' OR /pws/zycbt037-codpad EQ 'R' )

...

 

...

        PERFORM select_export.

        PERFORM reverse_document_fbv0_el.

      ENDIF.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'IA'.

      PERFORM selecionar_ia.

      PERFORM reverse_document_fbv0_ia.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'ED' OR

       /pws/zycbe031-mdcorresp = 'EC'.

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

      IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

        PERFORM selecionar_ed_e.

        PERFORM reverse_document_fbv0_id.

      ELSE.

* << Fim da inclusão

      PERFORM selecionar_ed.

      IF wa_despesa-frpagto = 'C'.

        IF /pws/zycbe145-cod_fech EQ 'TR' OR

           ( ( /pws/zycbe145-cod_fech EQ 'PR'  OR

               /pws/zycbe145-cod_fech EQ ' ' ) AND

             ( NOT /pws/zycbe031-belnr_pi IS INITIAL OR

               NOT /pws/zycbe031-belnr_p IS INITIAL ) AND

               NOT /pws/zycbe031-belnr_p = wa_despesa-belnr ).

          PERFORM estorna_ir.

          PERFORM reverse_document_fbv0_ed.

        ELSE.

          PERFORM exclui_boleto.

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

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'CP'.

      PERFORM selecionar_cp.

      IF wa_zycbt124-tpoper EQ 'R' AND /pws/zycbt125-tprem EQ '1'.

        PERFORM anula_compensacao_cp_revenda.

      ELSE.

        IF NOT /pws/zycbe031-belnr_comp IS INITIAL.

          PERFORM estorna_f04.

...

 

...

          MESSAGE i015 WITH text-074 text-079.

        ENDIF.

      ELSE.

        DO 2 TIMES.

          PERFORM exclui_boleto.

        ENDDO.

      ENDIF.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'ED'

        OR /pws/zycbe031-mdcorresp = 'EC'.

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

      IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

        PERFORM selecionar_ed_e.

        SELECT * FROM /pws/zycbt133

          INTO TABLE itab_zycbt133

          WHERE bukrs = /pws/zycbe031-bukrs.

        READ TABLE itab_zycbt133 WITH KEY codmod = 'E'.

        IF sy-subrc = 0 AND itab_zycbt133-vaprov = 'X'.

          IF wa_zycbt118-frpagto = 'C'.

            IF /pws/zycbe145-cod_fech EQ 'TR'.

              PERFORM estorna_comp.

            ELSE.

              PERFORM exclui_boleto.

            ENDIF.

          ELSE.

            PERFORM estorna_aprov.

          ENDIF.

        ELSE.

          PERFORM verifica_documento_compensado.

          IF sy-subrc = 0 AND NOT bseg-augbl IS INITIAL.

            MESSAGE w061 WITH text-152 v_belnr text-153 text-154.

            EXIT.

          ELSE.

            PERFORM estorna_aprov.

          ENDIF.

          v_status_s = 0.

        ENDIF.

      ELSE.

* << Fim da inclusão

      PERFORM selecionar_ed.

      IF /pws/zycbe031-tpdesp NE 'P' AND /pws/zycbe031-tpdesp NE 'TR'.

        IF /pws/zycbe145-cod_fech = 'TR' OR

           ( ( /pws/zycbe145-cod_fech EQ 'PR'  OR

               /pws/zycbe145-cod_fech EQ ' ' ) AND

             ( NOT /pws/zycbe031-belnr_pi IS INITIAL OR

               NOT /pws/zycbe031-belnr_p IS INITIAL )  AND

               NOT /pws/zycbe031-belnr_p = wa_despesa-belnr ).

          PERFORM estorna_ir.

          PERFORM estorna_aprov.

...

 

...

               NOT /pws/zycbe031-belnr_p IS INITIAL.

            PERFORM estorna_aprov.

          ELSE.

            PERFORM exclui_boleto.

          ENDIF.

        ENDIF.

      ELSEIF /pws/zycbe031-tpdesp EQ 'PR'.

        PERFORM estorna_aprov.

      ELSE.

        PERFORM estorna_trava.

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

        ENDIF.

* << Fim da inclusão

      ENDIF.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'EJ'.

      PERFORM selecionar_ej.

      PERFORM estorna_aprov.

    ENDIF.

    IF /pws/zycbe031-mdcorresp = 'IA'.

      PERFORM selecionar_ia.

      CLEAR /pws/zyglt009.

      SELECT SINGLE contpa FROM /pws/zyglt009

...

 

...

     v_campo EQ '/PWS/ZYCBT031-BELNR_COMP' OR

     v_campo EQ '/PWS/ZYCBE134-BELNR_C'    OR

     v_campo EQ '/PWS/ZYCBE134-BELNR_CI'   OR

     v_campo EQ 'V_BELNR_CIDE'.

    IF NOT v_valor IS INITIAL.

      i_belnr = v_valor.

      IF v_campo                   EQ '/PWS/ZYCBE134-BELNR_C' AND

         /pws/zycbe145-bukrs_p     NE /pws/zycbe031-bukrs     AND

         ( /pws/zycbe031-mdcorresp EQ 'IA' OR

           /pws/zycbe031-mdcorresp EQ 'ID' OR

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

         ( /pws/zycbe031-mdcorresp EQ 'ED' AND

           /pws/zycbe031-tabela    EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

           /pws/zycbe031-mdcorresp EQ 'IP' )                  AND

         NOT /pws/zycbe145-bukrs_p IS INITIAL.

        i_bukrs = /pws/zycbe145-bukrs_p.

      ELSE.

        i_bukrs = /pws/zycbe031-bukrs.

      ENDIF.

      PERFORM ano_contabil.

      i_gjahr = v_date.

      SET PARAMETER ID 'BUK' FIELD i_bukrs.

      SET PARAMETER ID 'BLN' FIELD i_belnr.

...

 

...

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

          ENDIF.

        WHEN 'ID'.

          SELECT SINGLE * FROM  /pws/zycbt118

                          WHERE nrseq  EQ itab_zycbt031_tc-nrcorresp

                            AND codmod EQ 'I'

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

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

          ENDIF.

        WHEN 'ED'.

          IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

            SELECT SINGLE * FROM  /pws/zycbt118

                            WHERE nrseq  EQ itab_zycbt031_tc-nrcorresp

                              AND codmod EQ 'E'

* << Fim da inclusão

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        WHEN 'IP'.

...

 

...

      v_status_s = '1'.

      CLEAR /pws/zycbe048.

      SELECT SINGLE * FROM /pws/zycbt048 INTO /pws/zycbe048

                             WHERE nrseq    = itab_zycbt031-nrseq

                              AND dtboleto = itab_zycbt031-dtboleto.

      SELECT * FROM /pws/zycbt064

          INTO TABLE itab_zycbt064

          WHERE nrboleto =  itab_zycbt031-nrseq.

    ENDIF.

    IF ( /pws/zycbe031-mdcorresp = 'CD' OR

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

       ( /pws/zycbe031-mdcorresp = 'ED' AND

         /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         /pws/zycbe031-mdcorresp = 'ID' ).

      SELECT SINGLE * FROM /pws/zycbt118 INTO wa_zycbt118

               WHERE nrseq = /pws/zycbe031-nrcorresp.

      IF wa_zycbt118-frpagto EQ 'C' AND

         wa_zycbt118-fcambio EQ 'N'.

        /pws/zycbe031-status = 'E'.

        UPDATE /pws/zycbt118 SET dtpagto = '00000000'

                                 belnr_p = space

                             WHERE nrseq = /pws/zycbe031-nrcorresp.

        CLEAR ok_code.

...

 

...

                   itab_zycbt124_aux, /pws/zycbe145.

          REFRESH: itab_dados_tc, itab_dados_tc_aux, itab_zycbt031_tc,

                   itab_zycbt124_aux.

        ENDIF.

      ENDIF.

      DESCRIBE TABLE itab_zycbt031 LINES v_linha.

    ENDIF.

  ENDIF.

ENDFORM.

FORM seleciona_registro.

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

  v_desp_a = 'A'.

* << Fim da inclusão

  v_indmod = v_paging_cntr + sy-stepl.

  MODIFY itab_zycbt031 INDEX v_indmod TRANSPORTING v_checked_flg.

  READ TABLE itab_zycbt031 INDEX v_indmod.

  IF itab_zycbt031-v_checked_flg EQ 'X' AND v_total_flag <= 1.

    SELECT SINGLE * FROM /pws/zycbt031 INTO  /pws/zycbe031

                           WHERE nrseq    = itab_zycbt031-nrseq

                             AND dtboleto = itab_zycbt031-dtboleto.

    IF sy-subrc NE 0.

      MESSAGE w059(/pws/zycbm).

    ELSE.

...

 

...

      v_status_s = 0.

      v_altera_dtliquid = ' '.

    ELSE.

      v_status_s = '1'.

      v_altera_dtliquid = 'X'.

    ENDIF.

    CLEAR v_origem.

  ENDIF.

  IF v_fcambio IS INITIAL AND

     ( /pws/zycbe031-mdcorresp = 'CD' OR

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

     ( /pws/zycbe031-mdcorresp = 'ED' AND

       /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

       /pws/zycbe031-mdcorresp = 'ID' ).

    SELECT SINGLE fcambio

           FROM /pws/zycbt118

           INTO v_fcambio

           WHERE nrseq = /pws/zycbe031-nrcorresp.

  ENDIF.

  IF ( /pws/zycbe031-mdcorresp = 'CD' OR

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

     ( /pws/zycbe031-mdcorresp = 'ED' AND

       /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

       /pws/zycbe031-mdcorresp = 'ID' ) AND

     v_fcambio = 'N'.

    IF v_status_s = '1' AND v_status_despesa = '0'.

      v_status_s = '0'.

      v_status_despesa = '1'.

    ELSEIF v_status_s = '1'.

      v_status_despesa = '0'.

      v_status_s = '0'.

    ENDIF.

  ENDIF.

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

  IF v_status_s = 0 AND v_status_despesa = 0.

    v_altera_dtliquid = ' '.

  ENDIF.

* << Fim da inclusão

ENDFORM.

FORM filtra_boletos.

 IF v_cambio IS INITIAL AND v_import IS INITIAL AND v_export IS INITIAL.

    MESSAGE i015 WITH text-146.

    LEAVE SCREEN.

  ENDIF.

  IF NOT v_cambio IS INITIAL AND NOT v_import IS INITIAL OR

     NOT v_cambio IS INITIAL AND NOT v_export IS INITIAL OR

     NOT v_import IS INITIAL AND NOT v_export IS INITIAL.

    MESSAGE i015 WITH text-147.

...

 

...

  ENDIF.

  itab_pf_status-fcode = 'ADIC'.

  APPEND itab_pf_status.

  IF ok_code = 'EXEC'.

    IF /pws/zycbe031-mdcorresp = 'CD' OR

       /pws/zycbe031-mdcorresp = 'ED' OR

       /pws/zycbe031-mdcorresp = 'ID' OR

       /pws/zycbe031-mdcorresp = 'EC'.

      IF v_fcambio               IS INITIAL AND

         ( /pws/zycbe031-mdcorresp EQ 'CD' OR

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

         ( /pws/zycbe031-mdcorresp EQ 'CD' AND

           /pws/zycbe031-tabela    EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

           /pws/zycbe031-mdcorresp EQ 'ID' ).

        SELECT SINGLE fcambio

               FROM /pws/zycbt118

               INTO v_fcambio

               WHERE nrseq = /pws/zycbe031-nrcorresp.

      ELSEIF v_fcambio               IS INITIAL AND

             /pws/zycbe031-mdcorresp EQ 'ED'.

        SELECT SINGLE fcambio

                      FROM /pws/zycbt004 INTO v_fcambio

                      WHERE nrseqc   = /pws/zycbe031-nrcorresp

...

 

...

        wa_zycbt031 = /pws/zycbe031.

      ENDIF.

    ELSE.

      v_status_despesa = '0'.

    ENDIF.

  ENDIF.

  SET PF-STATUS '0200' EXCLUDING itab_pf_status.

  REFRESH itab_pf_status.

ENDFORM.

FORM desabilitar_100.

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

  IF /pws/zycbt118-fcambio = 'N'.

    v_status_s = '0'.

  ELSEIF /pws/zycbt118-fcambio = 'S'.

    IF v_status_despesa = '1'.

      v_status_despesa = '0'.

    ELSE.

      v_status_despesa = '1'.

    ENDIF.

  ENDIF.

  IF v_desp_a = 'A'.

    v_status_despesa = '1'.

    v_desp_a = 'F'.

  ENDIF.

* << Fim da inclusão

  IF v_status_s = '1'.

    SELECT SINGLE * FROM /pws/zycbt134

           WHERE nrseq    = /pws/zycbe031-nrseq AND

                 dtboleto = /pws/zycbe031-dtboleto.

    IF sy-subrc EQ 0.

      IF v_altera_dtliquid = 'X'.

        v_altera_dtliquid = ' '.

      ELSE.

        v_altera_dtliquid = 'X'.

      ENDIF.

...

 

...

      ENDIF.

      IF v_altera_dtliquid EQ 'X' AND screen-name = 'V_PROPOR'.

        screen-input = '1'.

      ENDIF.

      IF screen-name EQ '/PWS/ZYCBE145-BUKRS_P' AND

         ( wa_zyglt009-arq_eletro  EQ 'X'  OR

           ( /pws/zycbe031-mdcorresp NE 'IP' AND

             /pws/zycbe031-mdcorresp NE 'IA' AND

             /pws/zycbe031-mdcorresp NE 'ID' ) ).

        screen-input = '0'.

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

      ENDIF.

      IF screen-name EQ '/PWS/ZYCBE145-BUKRS_P' AND

        ( /pws/zycbe031-mdcorresp EQ 'ED' AND

          /pws/zycbe031-tabela    EQ '/PWS/ZYCBT118' ) AND

         v_status_s = '1'.

        screen-input = '1'.

* << Fim da inclusão

      ENDIF.

      IF /pws/zycbe031-mdcorresp EQ 'CP' AND

         screen-group1           NE 'REM'.

        screen-input     = '0'.

        screen-invisible = '1'.

      ENDIF.

      MODIFY SCREEN.

    ENDLOOP.

    LOOP AT tc_cont-cols INTO wa_cols.

      IF v_status_s = '0'.

...

 

...

      WHEN 'IA'.

        SELECT * FROM /pws/zycbt117 INTO TABLE itab_zycbt117

                 FOR ALL ENTRIES IN itab_zycbt064

                 WHERE nrseq = itab_zycbt064-nrchave.

      WHEN 'ID'.

        SELECT * FROM /pws/zycbt118 INTO TABLE itab_zycbt118

                 FOR ALL ENTRIES IN itab_zycbt064

                 WHERE nrseq = itab_zycbt064-nrchave

                   AND ( codmodul = 'FI' OR codmodul = 'PA' OR

                         codmodul = 'PG' OR codmodul = 'CC' ).

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

      WHEN 'ED'.

        IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

          SELECT * FROM /pws/zycbt118 INTO TABLE itab_zycbt118

                   FOR ALL ENTRIES IN itab_zycbt064

                   WHERE nrseq = itab_zycbt064-nrchave

                     AND ( codmodul = 'IN' OR codmodul = 'OP' ).

        ENDIF.

* << Fim da inclusão

      WHEN 'CP'.

        SELECT * FROM /pws/zycbt124 INTO TABLE itab_zycbt124_aux

                 FOR ALL ENTRIES IN itab_zycbt064

                 WHERE nrseq = itab_zycbt064-nrchave.

      WHEN 'CE'.

        SELECT * FROM /pws/zycbt128 INTO TABLE itab_zycbt128

                 FOR ALL ENTRIES IN itab_zycbt064

                 WHERE nrseq = itab_zycbt064-nrchave.

        IF NOT itab_zycbt128[] IS INITIAL.

          SELECT * FROM /pws/zycbt129 INTO TABLE itab_zycbt129

...

 

...

      PERFORM carrega_dados_id.

    WHEN 'CP'.

      PERFORM carrega_dados_cp.

    WHEN 'CE'.

      PERFORM carrega_dados_ce.

    WHEN 'CD'.

      PERFORM carrega_dados_cd.

    WHEN 'EL'.

      PERFORM carrega_dados_el.

    WHEN 'ED'.

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

      IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

        PERFORM carrega_dados_ed_e.

      ELSE.

* << Fim da inclusão

      PERFORM carrega_dados_ed.

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

      ENDIF.

* << Fim da inclusão

    WHEN 'EC'.

      PERFORM carrega_dados_ec.

    WHEN 'EJ'.

      PERFORM carrega_dados_ej.

    WHEN 'EP'.

      PERFORM carrega_dados_ep.

...

 

...

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

          ENDIF.

        WHEN 'ID'.

          SELECT SINGLE * FROM  /pws/zycbt118

                          WHERE nrseq  EQ itab_zycbt031_tc-nrcorresp

                            AND codmod EQ 'I'

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

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

          ENDIF.

        WHEN 'ED'.

          SELECT SINGLE * FROM  /pws/zycbt118

                          WHERE nrseq  EQ itab_zycbt031_tc-nrcorresp

                            AND codmod EQ 'E'

* << Fim da inclusão

                            AND codmodul EQ /pws/zycbe031-codmodul.

          IF NOT /pws/zycbt118-belnrdesp IS INITIAL.

            itab_zycbt031_tc-belnr_p    = /pws/zycbt118-belnrdesp.

          ELSE.

            itab_zycbt031_tc-belnr_p    = /pws/zycbe031-belnr_p.

          ENDIF.

        WHEN 'IP'.

          READ TABLE itab_zycbt119

               WITH KEY nrseq = itab_zycbt031_tc-nrcorresp.

          SELECT SINGLE * FROM /pws/zycbt108

...

 

...

               wa_zycbt118-dtpagto.

        MODIFY /pws/zycbt118 FROM wa_zycbt118.

      WHEN 'CD'.

        wa_zycbt118-statusp = 'I'.

        CLEAR: wa_zycbt118-belnr_p,

               wa_zycbt118-dtpagto.

        MODIFY /pws/zycbt118 FROM wa_zycbt118.

      WHEN 'IP'.

  PERFORM atualiza_itab_119_108.

      WHEN 'ED'.

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

        IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

          wa_zycbt118-statusp = 'I'.

          CLEAR: wa_zycbt118-belnr_p,

                 wa_zycbt118-dtpagto.

          MODIFY /pws/zycbt118 FROM wa_zycbt118.

        ELSE.

* << Fim da inclusão

        wa_despesa-status = 'I'.

        CLEAR wa_despesa-dtpagto.

        IF NOT wa_despesa-frpagto = 'C' OR

          ( wa_despesa-tpcontr(1) CA 'PS' AND

             wa_despesa-tpdesp EQ 'J' ).

          CLEAR wa_despesa-belnr.

        ENDIF.

        FREE: itab_zycbt064_aux, itab_zycbt004_aux.

        SELECT nrchave nrinvoic nrparc dtliquid tpjuros

               tpdesp dtincl

...

 

...

                         AND dtincl   = /pws/zycbe031-dtincl

                         AND tpdesp   = /pws/zycbe031-tpdesp

                         AND dtliquid = /pws/zycbe031-dtliquid

                         AND tpjuros  = /pws/zycbe031-tpjuros.

          IF wa_despesa-tpdesp EQ 'J'.

            UPDATE /pws/zycbt002 SET belnr   = wa_despesa-belnr

                                dtpagto = wa_despesa-dtpagto

                         WHERE nrseqc  = /pws/zycbe031-nrcorresp(8)

                            AND nrparc  = /pws/zycbe031-nrparc

                            AND tpparc  = 'J'.

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

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

      WHEN 'EC'.

        wa_despesa-status = 'I'.

        CLEAR wa_despesa-dtpagto.

        IF NOT wa_despesa-frpagto = 'C' OR

            ( wa_despesa-tpcontr(1) CA 'PS' AND

             wa_despesa-tpdesp EQ 'J' ).

          CLEAR: wa_despesa-belnr.

        ENDIF.

...

 

...

  IF /pws/zycbe031-frgzu = '1' AND w_ok NE 'ESTR' AND

     ( ( /pws/zycbe031-statusp = 'I' OR /pws/zycbe031-statusp = ' ' ) OR

       /pws/zycbe031-mdcorresp = 'CP' ).

    MESSAGE i061 WITH text-221.

  ENDIF.

ENDFORM.

FORM gravar_dados_contrato.

  CHECK erro_bi IS INITIAL.

  LOOP AT itab_zycbt031_tc.

    UPDATE /pws/zycbt048

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

                  SET dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da exclusão

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

                  SET

                      dtboleto      = /pws/zycbe031-dtboleto

                      dtliquida     = itab_zycbt031_tc-dtliquida

* << Fim da inclusão

                      nrcontr       = itab_zycbt031_tc-nrcontr

                      dtcontr       = itab_zycbt031_tc-dtcontr

                      dtdebito      = itab_zycbt031_tc-dtdebito

                      dtswift       = itab_zycbt031_tc-dtswift

                      praca         = itab_zycbt031_tc-praca

                      instituicao   = itab_zycbt031_tc-instituicao

                      corret        = itab_zycbt031_tc-corret

                      codnatoper    = itab_zycbt031_tc-codnatoper

                      codfrmentrega = itab_zycbt031_tc-codfrmentrega

                      codmodtransa  = itab_zycbt031_tc-codmodtransa

...

 

...

    PERFORM selecionar_cd.

    IF wa_zycbt118-frpagto = 'C'.

      EXIT.

    ENDIF.

  ELSEIF /pws/zycbe031-mdcorresp EQ 'ID'.

    PERFORM selecionar_id.

    IF wa_zycbt118-frpagto = 'C'.

      EXIT.

    ENDIF.

  ELSEIF /pws/zycbe031-mdcorresp EQ 'ED'.

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

    IF /pws/zycbe031-tabela = '/PWS/ZYCBT118'.

      PERFORM selecionar_ed_e.

    ELSE.

* << Fim da inclusão

    PERFORM selecionar_ed.

    IF wa_despesa-frpagto = 'C'.

      EXIT.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ELSEIF /pws/zycbe031-mdcorresp EQ 'EC'.

    PERFORM selecionar_ed.

    IF wa_despesa-frpagto = 'C'.

...

 

...

      PERFORM preenche_contas_custo_lucro_ip.

    WHEN 'IF'.

      PERFORM preenche_contas_custo_lucro_if.

    WHEN 'ID'.

      PERFORM preenche_contas_custo_lucro_id.

    WHEN 'IA'.

      PERFORM preenche_contas_custo_lucro_ia.

    WHEN 'EL'.

      PERFORM preenche_contas_custo_lucro_el.

    WHEN 'EC' OR 'ED'.

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

      IF /pws/zycbe031-mdcorresp = 'ED' AND

         /pws/zycbe031-tabela    = '/PWS/ZYCBT118'.

        PERFORM preenche_ctas_custo_lucro_ed_e.

      ELSE.

* << Fim da inclusão

      PERFORM preenche_contas_custo_lucro_ec.

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

      ENDIF.

* << Fim da inclusão

    WHEN 'EJ'.

      PERFORM preenche_contas_custo_lucro_ej.

    WHEN 'CP'.

      PERFORM preenche_contas_custo_lucro_cp.

    WHEN 'CE'.

      PERFORM preenche_contas_custo_lucro_ce.

...

 

...

                                   aprova  = space

                                   bname   = space

                                   dtbname = space

                                   hrbname = space

                                   frggr   = space

                               WHERE nrseq = itab_zycbt124_aux-nrseq.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ELSEIF /pws/zycbe031-mdcorresp = 'CD' OR

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

         ( /pws/zycbe031-mdcorresp = 'ED' AND

           /pws/zycbe031-tabela    = '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         /pws/zycbe031-mdcorresp = 'ID'.

    IF wa_zycbt118-frpagto = 'R'.

      UPDATE /pws/zycbt118 SET frgzu   = space

                               estrat  = space

                               frgsx1  = space

                               frgsx2  = space

                               frgsx3  = space

                               frgsx4  = space

                               frgsx5  = space

                               nlib    = space

                               seq     = space

                               aprova  = space

                               bname   = space

                               dtbname = space

                               hrbname = space

                               frggr   = space

                           WHERE nrseq = /pws/zycbe031-nrcorresp.

    ENDIF.

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

  ELSEIF /pws/zycbe031-mdcorresp = 'ED'.

* << Fim da exclusão

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

  ELSEIF /pws/zycbe031-mdcorresp EQ 'ED' AND

         /pws/zycbe031-tabela    NE '/PWS/ZYCBT118'.

    .

* << Fim da inclusão

    IF /pws/zycbt004-frpagto = 'R' AND /pws/zycbe031-mdcorresp = 'ED'.

      LOOP AT itab_zycbt064.

      UPDATE /pws/zycbt004 SET frgzu   = space

                               estrat  = space

                               frgsx1  = space

                               frgsx2  = space

                               frgsx3  = space

                               frgsx4  = space

                               frgsx5  = space

                               nlib    = space

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYGL110TOP

 

...

DATA:

  v_aux(8),

  v_cambio,

  v_import,

  v_export,

  v_tv,

  v_init,

  v_answer,

  v_status_s          TYPE c VALUE 0,

  v_status_despesa    TYPE c VALUE 0,

* >> Início da inclusão:

  v_desp_a            TYPE c,

* << Fim da inclusão

  v_status_aux        TYPE c VALUE 0,

  v_trans(4)          TYPE c,

  v_bcooper(21)       TYPE c,

  v_bcooper1(10)      TYPE c,

  v_bcooper_irrf(21)  TYPE c,

  v_bcooper_cide(21)  TYPE c,

  v_propor(1)         TYPE c,

  v_meiopag(22)       TYPE c,

  v_meiopagi(22)      TYPE c,

  v_meiopagc(22)      TYPE c,

...

 

...

  v_transacao          LIKE /pws/zycbe033-tcode,

  v_mode               TYPE c         ,

  v_update             TYPE c         ,

  v_msgno              LIKE t100-msgnr,

  v_nrseq1             LIKE /pws/zycie008-nrseq,

  v_indice(02)         TYPE n         ,

  v_indcampo(40)       TYPE c         ,

  v_vlmi_tot         TYPE /pws/zycbe031-vlmi,

  v_vlmiir_tot       TYPE /pws/zycbe031-vlmiir,

  v_cod              TYPE c,

* >> Início da inclusão:

  v_ms(5) TYPE c,

* << Fim da inclusão

  v_ctmoed           TYPE /pws/zycbt011-ctmoed.

DATA: v_codparc(03) TYPE c.

DATA: v_dfact         LIKE tcurr-ffact,

      v_pfact         LIKE tcurr-ffact,

      v_ctmoeda       LIKE tcurr-kurst.

DATA:

      v_taxa_dia      LIKE tcurr-ukurs,

      v_nrparc        LIKE /pws/zycbt113-nrparc,

      v_waers         LIKE /pws/zycbt112-waers,

      v_tipo2(30)     TYPE c,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI102

 

...

    waers       TYPE /pws/zycbt118-waers,

    kursf       TYPE /pws/zycbt118-kursf,

    ftaxa       TYPE /pws/zycbt118-ftaxa,

    gsber       TYPE /pws/zycbt118-gsber,

    kostl       TYPE /pws/zycbt118-kostl,

    prctr       TYPE /pws/zycbt118-prctr,

    fipos       TYPE /pws/zycbt118-fipos,

    fictr       TYPE /pws/zycbt118-fictr,

    ftxt        TYPE /pws/zycbt118-ftxt,

    txtinf      TYPE /pws/zycbt118-txtinf,

* >> Início da inclusão:

    dtvencto    TYPE /pws/zycbt118-dtvencto,

* << Fim da inclusão

    bcocred     TYPE /pws/zycbt028-bcocred,

    nrseq       TYPE /pws/zycbt028-nrseq,

    txcneg      TYPE /pws/zycbt004-txcneg,

    dtincl      TYPE /pws/zycbt004-dtincl,

    dtpagto     TYPE /pws/zycbt028-dtpagto,

    nrdesp      TYPE /pws/zycbt028-nrccred,

    statusp     TYPE /pws/zycbt028-statusp,

    belnr       TYPE /pws/zycbt028-belnr,

    nrseqd      TYPE /pws/zycbt156-nrseqd,

    j_1bbranch  TYPE /pws/zycbt004-j_1bbranch,

    belnrdesp   TYPE /pws/zycbt118-belnrdesp,

    cod_area    TYPE /pws/zycbt004-cod_area,

    bcoavisa    TYPE /pws/zycbt156-bcoavisa,

    vlme        TYPE /pws/zycbt156-vlme,

    werks       TYPE /pws/zycbt004-werks,

* >> Início da inclusão:

    nrref       TYPE /pws/zycbt118-nrref,

* << Fim da inclusão

  END OF wa_despesa.

DATA: END OF COMMON PART.

DATA:

      itab_selreg_aux2 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,

      itab_selreg_aux3 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,

      wa_line          LIKE itab_selreg_aux,

      itab_boleto      LIKE /pws/zycbt031     OCCURS 100 WITH HEADER

LINE.

 

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

Modificações efetuadas em REPS /PWS/ZYCBN102

 

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

DATA: v_ms(5) TYPE c.

* << Fim da inclusão

FORM executa_batch_despesa.

  CLEAR:   itab_zycbt032, itab_zycbe033, itab_zycbt034.

  REFRESH: itab_zycbt032, itab_zycbe033, itab_zycbt034.

  CLEAR wa_despesa.

  IF NOT itab_selreg_aux-tpcontr IS INITIAL.

    CLEAR /pws/zycbt004.

    SELECT SINGLE * FROM /pws/zycbt004

      INTO CORRESPONDING FIELDS OF wa_despesa

      WHERE nrseqc   EQ itab_selreg_aux-nrchave

        AND tpdesp   EQ itab_selreg_aux-tpdesp

...

 

 

...

                itab_selreg_aux-tpdesp itab_selreg_aux-dtincl

                INTO wa_despesa-cpochv.

  ELSE.

    CLEAR /pws/zycbt118.

    SELECT SINGLE * FROM /pws/zycbt118

      INTO CORRESPONDING FIELDS OF wa_despesa

      WHERE nrseq EQ itab_selreg_aux-nrchave.

    wa_despesa-tabela = text-005.

    wa_despesa-codmod = itab_selreg_aux-mod+0(1).

    wa_despesa-cpochv = itab_selreg_aux-nrchave.

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

    IF wa_despesa-codmod = 'E'.

* << Fim da inclusão

    IF wa_despesa-frpagto = 'C'.

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

        wa_despesa-codeven = '005PA'.

      ELSEIF wa_despesa-frpagto = 'R'.

        wa_despesa-codeven = '005PB'.

      ENDIF.

    ELSE.

      IF wa_despesa-frpagto = 'C'.

* << Fim da inclusão

      wa_despesa-codeven = '006DA'.

    ELSEIF wa_despesa-frpagto = 'R'.

      wa_despesa-codeven = '006DB'.

    ENDIF.

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  IF wa_despesa-frpagto = 'C'.

    v_transacao = 'F-63'.

  ELSEIF wa_despesa-frpagto = 'R'.

    v_transacao = 'F-02'.

  ENDIF.

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

  REFRESH itab_zycbt013.

  SELECT * FROM /pws/zycbt013

           INTO TABLE itab_zycbt013

           WHERE tabela = wa_despesa-tabela.

* << Fim da exclusão

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

  REFRESH itab_zyglt321.

  SELECT *

    FROM /pws/zyglt321

    INTO TABLE itab_zyglt321

   WHERE codeven = wa_despesa-codeven.

* << Fim da inclusão

  IF itab_selreg_aux-codp EQ 'G' OR

     itab_selreg_aux-codp EQ 'D'.

    PERFORM contab_comis_cg.

  ELSE.

    PERFORM dados_batch_despesa USING wa_despesa.

  ENDIF.

ENDFORM.

FORM executa_batch_js.

  CLEAR:   itab_zycbt032, itab_zycbe033, itab_zycbt034.

  REFRESH: itab_zycbt032, itab_zycbe033, itab_zycbt034.

...

 

...

ENDFORM.

FORM retorna_flag.

  MOVE: 'Z' TO itab_selreg_aux-flag.

  MODIFY itab_selreg_aux.

ENDFORM.

FORM dados_batch_despesa USING value(p_wa_despesa) LIKE wa_despesa.

  DATA: v_sai VALUE ' ',

        v_chvoper LIKE /pws/zyglt321-ktosl.

  IF itab_selreg_aux-frpagto EQ 'C'  AND

     itab_selreg_aux-fmd     NE 'ID' AND

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

     ( itab_selreg_aux-fmd   NE 'ED' AND

       p_wa_despesa-tabela   NE '/PWS/ZYCBT118' ) AND

* << Fim da inclusão

     itab_selreg_aux-fmd     NE 'CD'.

    SELECT *

      FROM /pws/zycbt004

        up to 1 rows

      WHERE nrseqc   = itab_selreg_aux-nrchave

        AND tpdesp   = itab_selreg_aux-tpdesp

        AND nrparc   = itab_selreg_aux-nrparc

        AND dtincl   = itab_selreg_aux-dtincl

        AND dtliquid = itab_selreg_aux-dtliquid

        AND tpjuros  = itab_selreg_aux-tpjuros.

...

 

...

      PERFORM verify_null_field USING itab_zycbe033-agkon

                                      'AGKON'

                                      text-013.

      itab_zycbe033-c_newko = p_wa_despesa-benefic.

      PERFORM verify_null_field USING itab_zycbe033-c_newko

                                      'NEWKO'

                                      text-013.

      itab_zycbe033-agkoa = 'K'.

    ELSE.

      IF itab_selreg_aux-fmd NE 'ID' AND

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

         ( itab_selreg_aux-fmd  NE 'ED' AND

           p_wa_despesa-tabela  NE '/PWS/ZYCBT118' ) AND

* << Fim da inclusão

         itab_selreg_aux-fmd NE 'CD'.

        SELECT  * FROM /pws/zycbt004

            up to 1 rows

          WHERE nrseqc   = itab_selreg_aux-nrchave

            AND tpdesp   = itab_selreg_aux-tpdesp

            AND nrparc   = itab_selreg_aux-nrparc

            AND dtincl   = itab_selreg_aux-dtincl

            AND dtliquid = itab_selreg_aux-dtliquid

            AND tpjuros  = itab_selreg_aux-tpjuros.

        endselect.

...

 

...

          READ TABLE itab_zyglt316 INDEX 1.

          itab_zycbe033-d_newko = itab_zyglt316-konts.

          itab_contas-conta = itab_zyglt316-konts.

          APPEND itab_contas.

        ENDIF.

        PERFORM verify_null_field USING itab_zycbe033-d_newko

                                        'NEWKO'

                                        text-012.

      ENDIF.

      IF p_wa_despesa-frpagto = 'R' AND

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

         ( itab_selreg_aux-fmd = 'ID' OR itab_selreg_aux-fmd = 'CD' ).

* << Fim da exclusão

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

         ( itab_selreg_aux-fmd = 'ID' OR

         ( itab_selreg_aux-fmd = 'ED' AND

           p_wa_despesa-tabela = '/PWS/ZYCBT118' ) OR

           itab_selreg_aux-fmd = 'CD' ).

* << Fim da inclusão

        IF p_wa_despesa-codmod = 'I'.

          v_ktosl = 'PDI'.

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

        ELSEIF p_wa_despesa-codmod = 'E'.

          v_ktosl = 'DSE'.

* << Fim da inclusão

        ELSEIF p_wa_despesa-codmod = 'F'.

          v_ktosl = 'PDS'.

        ENDIF.

        CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

...

 

...

    itab_zycbe033-cpochv = p_wa_despesa-cpochv.

    IF p_wa_despesa-dtincl = '00000000' OR

       p_wa_despesa-dtincl = '        '.

      itab_zycbe033-bldat = sy-datum.

    ELSE.

      itab_zycbe033-bldat = p_wa_despesa-dtincl.

    ENDIF.

    itab_zycbe033-budat = v_datalanc.

    v_budat = v_datalanc.

    itab_zycbe033-bktxt = /pws/zycbt007-bktxt.

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

    IF p_wa_despesa-tabela = '/PWS/ZYCBT004' AND

       ( p_wa_despesa-tpdesp = 'J' OR

         p_wa_despesa-tpdesp = 'IR' ).

* << Fim da inclusão

    IF /pws/zycbt007-fprovisao EQ space.

      MOVE 'DSE' TO v_chvoper.

    ELSE.

      MOVE 'PVE' TO v_chvoper.

    ENDIF.

    PERFORM seleciona_zyglt321

      USING v_chvoper

            '004'.

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

    ENDIF.

* << Fim da inclusão

    LOOP AT itab_zyglt321.

      CASE itab_zyglt321-cpor3.

        WHEN 'SGTXT'.

          IF p_wa_despesa-ftxt IS INITIAL.

            CASE itab_zyglt321-cpocb.

              WHEN 'NRSEQ'.

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

                itab_zycbe033-d_sgtxt = p_wa_despesa-nrseq.

                itab_zycbe033-c_sgtxt = p_wa_despesa-nrseq.

              WHEN 'NRDESP'.

                itab_zycbe033-d_sgtxt = p_wa_despesa-nrdesp.

                itab_zycbe033-c_sgtxt = p_wa_despesa-nrdesp.

              WHEN 'NRREF'.

                itab_zycbe033-d_sgtxt = p_wa_despesa-nrref.

                itab_zycbe033-c_sgtxt = p_wa_despesa-nrref.

              WHEN 'TXTINF'.

                itab_zycbe033-d_sgtxt = p_wa_despesa-txtinf.

                itab_zycbe033-c_sgtxt = p_wa_despesa-txtinf.

              WHEN 'NRBOLETO'.

                itab_zycbe033-d_sgtxt = /pws/zycbt031-nrseq.

                itab_zycbe033-c_sgtxt = /pws/zycbt031-nrseq.

* << Fim da inclusão

              WHEN 'NRCORRESP'.

                itab_zycbe033-d_sgtxt = itab_selreg_aux-nrchave.

                itab_zycbe033-c_sgtxt = itab_selreg_aux-nrchave.

              WHEN 'NRCONTR'.

                itab_zycbe033-d_sgtxt = itab_selreg_aux-docto.

                itab_zycbe033-c_sgtxt = itab_selreg_aux-docto.

              WHEN space.

                itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.

                itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.

            ENDCASE.

          ELSE.

            itab_zycbe033-d_sgtxt = p_wa_despesa-txtinf.

            itab_zycbe033-c_sgtxt = p_wa_despesa-txtinf.

          ENDIF.

        WHEN 'XBLNR'.

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

          CLEAR: v_ms.

* << Fim da inclusão

          CASE itab_zyglt321-cpocb.

            WHEN 'NRSEQ'.

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

              itab_zycbe033-xblnr = p_wa_despesa-nrseq.

            WHEN 'NRDESP'.

              itab_zycbe033-xblnr = p_wa_despesa-nrdesp.

            WHEN 'NRREF'.

              itab_zycbe033-xblnr = p_wa_despesa-nrref.

            WHEN 'TXTINF'.

              itab_zycbe033-xblnr = p_wa_despesa-txtinf.

            WHEN 'NRBOLETO'.

              itab_zycbe033-xblnr = /pws/zycbt031-nrseq.

            WHEN 'NRSEQ+MS'.

              CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

              CONCATENATE p_wa_despesa-nrseq v_ms

                     INTO itab_zycbe033-xblnr SEPARATED BY space.

            WHEN 'NRDESP+MS'.

              CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

              CONCATENATE p_wa_despesa-nrdesp v_ms

                     INTO itab_zycbe033-xblnr SEPARATED BY space.

            WHEN 'NRREF+MS'.

              CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

              CONCATENATE p_wa_despesa-nrref v_ms

                     INTO itab_zycbe033-xblnr SEPARATED BY space.

            WHEN 'TXTINF+MS'.

              CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

              CONCATENATE p_wa_despesa-txtinf v_ms

                     INTO itab_zycbe033-xblnr SEPARATED BY space.

            WHEN 'NRBOLETO+MS'.

              CONCATENATE sy-uzeit+2(2) ':' sy-uzeit+4(2) INTO v_ms.

              CONCATENATE /pws/zycbt031-nrseq v_ms

                     INTO itab_zycbe033-xblnr SEPARATED BY space.

* << Fim da inclusão

            WHEN 'NRCORRESP'.

              itab_zycbe033-xblnr = itab_selreg_aux-nrchave.

            WHEN 'NRCONTR'.

              itab_zycbe033-xblnr = itab_selreg_aux-docto.

          ENDCASE.

        WHEN 'ZUONR'.

          CASE itab_zyglt321-cpocb.

            WHEN 'NRSEQ'.

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

              itab_zycbe033-d_zuonr = p_wa_despesa-nrseq.

              itab_zycbe033-c_zuonr = p_wa_despesa-nrseq.

            WHEN 'NRDESP'.

              itab_zycbe033-d_zuonr = p_wa_despesa-nrdesp.

              itab_zycbe033-c_zuonr = p_wa_despesa-nrdesp.

            WHEN 'NRREF'.

              itab_zycbe033-d_zuonr = p_wa_despesa-nrref.

              itab_zycbe033-c_zuonr = p_wa_despesa-nrref.

            WHEN 'TXTINF'.

              itab_zycbe033-d_zuonr = p_wa_despesa-txtinf.

              itab_zycbe033-c_zuonr = p_wa_despesa-txtinf.

            WHEN 'NRBOLETO'.

              itab_zycbe033-d_zuonr = /pws/zycbt031-nrseq.

              itab_zycbe033-c_zuonr = /pws/zycbt031-nrseq.

* << Fim da inclusão

            WHEN 'NRCORRESP'.

              itab_zycbe033-d_zuonr = itab_selreg_aux-nrchave.

              itab_zycbe033-c_zuonr = itab_selreg_aux-nrchave.

            WHEN 'NRCONTR'.

              itab_zycbe033-d_zuonr = itab_selreg_aux-docto.

          ENDCASE.

        WHEN 'ZFBDT'.

          CASE itab_zyglt321-cpocb.

            WHEN 'DTINCL'.

              itab_zycbe033-zfbdt = itab_selreg_aux-dtincl.

            WHEN 'DTBOLETO'.

              itab_zycbe033-zfbdt = sy-datum.

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

            WHEN 'DTVENCTO'.

              itab_zycbe033-zfbdt = itab_selreg_aux-dtvencto.

            WHEN 'DTLANCBOLT'.

              itab_zycbe033-zfbdt = /pws/zycbt031-dtcredpr.

* << Fim da inclusão

          ENDCASE.

        WHEN 'VALUT'.

          CASE itab_zyglt321-cpocb.

            WHEN 'DTINCL'.

              itab_zycbe033-d_valut = itab_selreg_aux-dtincl.

              itab_zycbe033-c_valut = itab_selreg_aux-dtincl.

            WHEN 'DTBOLETO'.

              itab_zycbe033-d_valut = sy-datum.

              itab_zycbe033-c_valut = sy-datum.

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

            WHEN 'DTVENCTO'.

              itab_zycbe033-d_valut = itab_selreg_aux-dtvencto.

              itab_zycbe033-c_valut = itab_selreg_aux-dtvencto.

            WHEN 'DTLANCBOLT'.

              itab_zycbe033-d_valut = /pws/zycbt031-dtcredpr.

              itab_zycbe033-c_valut = /pws/zycbt031-dtcredpr.

* << Fim da inclusão

          ENDCASE.

      ENDCASE.

    ENDLOOP.

    PERFORM verify_null_field USING p_wa_despesa-bukrs

                                    'BUKRS'

                                    text-007.

    itab_zycbe033-bukrs  = p_wa_despesa-bukrs.

    PERFORM verify_null_field USING p_wa_despesa-waers

                                    'WAERS'

                                    text-008.

...

 

...

      ELSE.

        SELECT SINGLE * FROM /pws/zycbt009

          WHERE codpadr EQ p_wa_despesa-ftaxa.

        v_ftaxa = /pws/zycbt009-kurst.

        PERFORM obtem_taxa_cambial.

        itab_zycbe033-kursf  = v_taxacambial.

        v_ftaxa = p_wa_despesa-ftaxa.

      ENDIF.

    ELSE.

      IF NOT p_wa_despesa-kursf IS INITIAL.

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

        PERFORM seleciona_fator_taxa USING    p_wa_despesa-waers

                                              wa_zycbt011-ctmoed

                                              v_datalanc

                                           p_wa_despesa-kursf

                                              wa_zycbt011-bukrs

                                     CHANGING v_taxa

                                              v_sai.

        IF v_sai EQ 'X'.

          EXIT.

        ENDIF.

        itab_zycbe033-kursf = v_taxa.

        v_taxacambial       = v_taxa.

        v_ftaxa = wa_zycbt011-ctmoed.

* << Fim da exclusão

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

        itab_zycbe033-kursf = p_wa_despesa-kursf.

* << Fim da inclusão

      ELSE.

        SELECT SINGLE * FROM /pws/zycbt009

          WHERE codpadr EQ p_wa_despesa-ftaxa.

        v_ftaxa = /pws/zycbt009-kurst.

        PERFORM obtem_taxa_cambial.

        itab_zycbe033-kursf = v_taxacambial.

        v_ftaxa = p_wa_despesa-ftaxa.

      ENDIF.

    ENDIF.

    PERFORM verify_null_field USING wa_zycbt011-blart

...

 

...

    itab_zycbe033-d_gsber = p_wa_despesa-gsber.

    itab_zycbe033-d_kostl = p_wa_despesa-kostl.

    itab_zycbe033-d_prctr = p_wa_despesa-prctr.

    itab_zycbe033-d_fipos = p_wa_despesa-fipos.

    itab_zycbe033-d_fictr = p_wa_despesa-fictr.

    itab_zycbe033-c_gsber = p_wa_despesa-gsber.

    itab_zycbe033-c_kostl = p_wa_despesa-kostl.

    itab_zycbe033-c_prctr = p_wa_despesa-prctr.

    itab_zycbe033-c_fipos = p_wa_despesa-fipos.

    itab_zycbe033-c_fictr = p_wa_despesa-fictr.

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

    itab_zycbe033-zfbdt   = p_wa_despesa-dtvencto.

* << Fim da inclusão

    itab_zycbe033-werks   = p_wa_despesa-werks.

    CLEAR bkpf.

    IF itab_selreg_aux-frpagto EQ 'C'  AND

       ( itab_selreg_aux-fmd   EQ 'ID' OR

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

       ( itab_selreg_aux-fmd   EQ 'ED' AND

         p_wa_despesa-tabela   EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         itab_selreg_aux-fmd   EQ 'CD' ).

      SELECT SINGLE * FROM bkpf

...

 

 

...

            IF NOT sy-binpt IS INITIAL.

              IMPORT itab_boleto[] FROM MEMORY ID 'AGIL'.

              itab_boleto-nrseq = /pws/zycbt031-nrseq.

              APPEND itab_boleto.

              EXPORT itab_boleto[] TO MEMORY ID 'AGIL'.

            ENDIF.

          ENDIF.

        ENDIF.

      ELSEIF itab_selreg_aux-frpagto EQ 'C'  AND

             ( itab_selreg_aux-fmd   EQ 'ID' OR

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

             ( itab_selreg_aux-fmd   EQ 'ED' AND

               p_wa_despesa-tabela   EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

               itab_selreg_aux-fmd   EQ 'CD' ).

        /pws/zycbt118-belnr_p = wa_despesa-belnrdesp.

        /pws/zycbt118-dtpagto = v_datalanc.

        UPDATE /pws/zycbt118 SET statusp = /pws/zycbt118-statusp

                            belnr_p = /pws/zycbt118-belnr_p

                            dtpagto = /pws/zycbt118-dtpagto

                      WHERE nrseq   = itab_selreg_aux-nrchave.

        PERFORM get_zycbt031.

        /pws/zycbt031-belnr_p = wa_despesa-belnrdesp.

        IF NOT bkpf IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR102

 

...

        WHERE nrchave   EQ itab_selreg-nrchave

          AND tpparc    EQ itab_selreg-tpparc

          AND nrparc    EQ itab_selreg-nrparc

          AND mdcorresp EQ itab_selreg-fmd.

      endselect.

        IF sy-subrc EQ 0.

          DELETE itab_selreg.

          CONTINUE.

        ENDIF.

      ENDIF.

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

    ELSEIF itab_selreg-fmd = 'ED'.

* << Fim da exclusão

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

    ELSEIF itab_selreg-fmd   EQ  'ED' AND

           wa_despesa-tabela NE '/PWS/ZYCBT118'.

* << Fim da inclusão

      SELECT  *

        FROM /pws/zycbt031

          up to 1 rows

        WHERE nrcorresp EQ itab_selreg-nrchave

          AND nrparc    EQ itab_selreg-nrparc

          AND tpdesp    EQ itab_selreg-tpdesp

          AND dtincl    EQ itab_selreg-dtincl

          AND dtliquid  EQ itab_selreg-dtliquid

          AND tpjuros   EQ itab_selreg-tpjuros.

      endselect.

...

 

...

                                                  ID 'ACTVT' FIELD '01'.

            IF sy-subrc NE 0.

              MESSAGE i083(f5) WITH itab_selreg_aux-bukrs.

              LOOP AT itab_selreg_aux.

                CLEAR itab_selreg_aux-flag.

                MODIFY itab_selreg_aux.

              ENDLOOP.

              v_erro = 1.

              EXIT.

            ELSE.

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

              IF itab_selreg_aux-fmd EQ 'ED'.

* << Fim da exclusão

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

              IF itab_selreg_aux-fmd EQ  'ED' AND

                 wa_despesa-tabela   NE '/PWS/ZYCBT118'.

* << Fim da inclusão

                PERFORM verifica_exit.

                IF v_gera_boleto EQ 'X'.

                  PERFORM executa_batch_despesa.

                ELSE.

                  MESSAGE i015 WITH text-189 text-182.

                ENDIF.

              ELSE.

                PERFORM executa_batch_despesa.

              ENDIF.

            ENDIF.

...

 

...

                                              ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE i083(f5) WITH itab_selreg_aux-bukrs.

          LOOP AT itab_selreg_aux.

            CLEAR itab_selreg_aux-flag.

            MODIFY itab_selreg_aux.

          ENDLOOP.

          v_erro = 1.

          EXIT.

        ELSE.

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

          IF itab_selreg_aux-fmd EQ 'ED'.

* << Fim da exclusão

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

          IF itab_selreg_aux-fmd EQ  'ED' AND

             wa_despesa-tabela   NE '/PWS/ZYCBT118'.

* << Fim da inclusão

            PERFORM verifica_exit.

            IF v_gera_boleto EQ 'X'.

              PERFORM imprime_boleto.

            ELSE.

              MESSAGE i015 WITH text-189 text-182.

            ENDIF.

          ELSE.

            PERFORM imprime_boleto.

          ENDIF.

        ENDIF.

...

 

...

                                                  ID 'ACTVT' FIELD '01'.

            IF sy-subrc NE 0.

              MESSAGE i083(f5) WITH itab_selreg_aux-bukrs.

              CLEAR itab_selreg_aux-flag.

              MODIFY itab_selreg_aux TRANSPORTING flag

                                 WHERE nrchave = itab_selreg_aux-nrchave

                                   AND fmd = itab_selreg_aux-fmd

                                   AND tipo = itab_selreg_aux-tipo

                                   AND nrparc = itab_selreg_aux-nrparc.

            ELSE.

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

              IF itab_selreg_aux-fmd EQ 'ED'.

* << Fim da exclusão

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

              IF itab_selreg_aux-fmd EQ 'ED' AND

                 wa_despesa-tabela   NE '/PWS/ZYCBT118'.

* << Fim da inclusão

                PERFORM verifica_exit.

                IF v_gera_boleto EQ 'X'.

                  PERFORM executa_batch_despesa.

                ELSE.

                  MESSAGE i015 WITH text-189 text-182.

                ENDIF.

              ELSE.

                PERFORM executa_batch_despesa.

              ENDIF.

            ENDIF.

...

 

...

                                              ID 'ACTVT' FIELD '01'.

        IF sy-subrc NE 0.

          MESSAGE i083(f5) WITH itab_selreg_aux-bukrs.

          CLEAR itab_selreg_aux-flag.

          MODIFY itab_selreg_aux TRANSPORTING flag

                             WHERE nrchave = itab_selreg_aux-nrchave

                               AND fmd = itab_selreg_aux-fmd

                               AND tipo = itab_selreg_aux-tipo

                               AND nrparc = itab_selreg_aux-nrparc.

        ELSE.

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

          IF itab_selreg_aux-fmd EQ 'ED'.

* << Fim da exclusão

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

          IF itab_selreg_aux-fmd EQ  'ED' AND

             wa_despesa-tabela   NE '/PWS/ZYCBT118'.

* << Fim da inclusão

            PERFORM verifica_exit.

            IF v_gera_boleto EQ 'X'.

              PERFORM imprime_boleto.

            ELSE.

              MESSAGE i015 WITH text-189 text-182.

            ENDIF.

          ELSE.

            PERFORM imprime_boleto.

          ENDIF.

        ENDIF.

...

 

...

                              itab_selreg_aux-waers

                              /pws/zycbt007-waersb

                              itab_zycbe033-kursf.

  IF /pws/zycbt007-fdtdoc   = 'D'.

    itab_zycbe033-bldat   = sy-datum.

    itab_zycbe033-d_valut = sy-datum.

  ELSE.

    itab_zycbe033-bldat   = itab_zycbe033-budat.

    itab_zycbe033-d_valut = itab_zycbe033-budat.

  ENDIF.

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

  LOOP AT itab_zycbt013.

    CASE itab_zycbt013-cpor3.

* << Fim da exclusão

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

  LOOP AT itab_zyglt321.

    CASE itab_zyglt321-cpor3.

* << Fim da inclusão

      WHEN 'XBLNR'.

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

        CASE itab_zycbt013-cpocb.

* << Fim da exclusão

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

        CASE itab_zyglt321-cpocb.

* << Fim da inclusão

          WHEN 'NRINVOIC'.

            itab_zycbe033-xblnr = itab_selreg_aux-nrchave.

        ENDCASE.

...

 

...

          MODIFY i_final TRANSPORTING selk

                                WHERE nrchave = itab_selreg_aux-nrchave.

        ENDIF.

        v_erro = 'X'.

        EXIT.

      ENDIF.

      /pws/zycbt031-frgzu  = v_frgzu.

      /pws/zycbt031-estrat = /pws/zyglt343-frgsx.

      /pws/zycbt031-bname  = sy-uname.

      IF itab_selreg_aux-fmd = 'ID' OR

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

         ( itab_selreg_aux-fmd EQ 'ED' AND

           wa_despesa-tabela   EQ '/PWS/ZYCBT118' ) OR

* << Fim da inclusão

         itab_selreg_aux-fmd = 'CD'.

        UPDATE /pws/zycbt118 SET frgzu  = v_frgzu

                                 estrat = /pws/zyglt343-frgsx

                                 bname  = sy-uname

                             WHERE nrseq = itab_selreg_aux-nrchave.

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

      ELSEIF itab_selreg_aux-fmd = 'ED'.

* << Fim da exclusão

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

      ELSEIF itab_selreg_aux-fmd EQ 'ED' AND

             wa_despesa-tabela   NE '/PWS/ZYCBT118'.

* << Fim da inclusão

        UPDATE /pws/zycbt004 SET frgzu  = v_frgzu

                                 estrat = /pws/zyglt343-frgsx

                                 bname  = sy-uname

                             WHERE nrseqc   = itab_selreg_aux-nrchave

                               AND tpdesp   = itab_selreg_aux-tpdesp

                               AND nrparc   = itab_selreg_aux-nrparc

                               AND dtincl   = itab_selreg_aux-dtincl

                               AND dtliquid = itab_selreg_aux-dtliquid

                               AND tpjuros  = itab_selreg_aux-tpjuros.

      ELSEIF itab_selreg_aux-fmd = 'EC'.

...

 

...

                itab_selreg_aux-tpdesp itab_selreg_aux-dtincl

                INTO wa_despesa-cpochv.

  ELSE.

    CLEAR /pws/zycbt118.

    SELECT SINGLE * FROM /pws/zycbt118

      INTO CORRESPONDING FIELDS OF wa_despesa

      WHERE nrseq EQ itab_selreg_aux-nrchave.

    wa_despesa-tabela = text-005.

    wa_despesa-codmod = itab_selreg_aux-mod+0(1).

    wa_despesa-cpochv = itab_selreg_aux-nrchave.

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

    IF wa_despesa-codmod = 'E'.

      IF wa_despesa-frpagto = 'C'.

        wa_despesa-codeven = '005PA'.

      ELSEIF wa_despesa-frpagto = 'R'.

        wa_despesa-codeven = '005PB'.

      ENDIF.

    ELSE.

* << Fim da inclusão

    IF wa_despesa-frpagto = 'C'.

      wa_despesa-codeven = '006DA'.

    ELSEIF wa_despesa-frpagto = 'R'.

      wa_despesa-codeven = '006DB'.

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

      ENDIF.

* << Fim da inclusão

    ENDIF.

  ENDIF.

  REFRESH itab_zycbt012.

...

 

...

                OTHERS          = 3.

              if sy-subrc = 0.

              else.

              endif.

    ENDIF.

    READ TABLE itab_zyglt316 INDEX 1.

    itab_contas-conta = itab_zyglt316-konts.

    APPEND itab_contas.

  ENDIF.

  IF wa_despesa-frpagto = 'R' AND

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

     ( itab_selreg_aux-fmd = 'ID' OR itab_selreg_aux-fmd = 'CD' ).

* << Fim da exclusão

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

     ( itab_selreg_aux-fmd = 'ID' OR

     ( itab_selreg_aux-fmd = 'ED' AND

       wa_despesa-tabela   = '/PWS/ZYCBT118' ) OR

       itab_selreg_aux-fmd = 'CD' ).

* << Fim da inclusão

    IF wa_despesa-codmod = 'I'.

      v_ktosl = 'PDI'.

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

    ELSEIF wa_despesa-codmod = 'E'.

      v_ktosl = 'DSE'.

* << Fim da inclusão

    ELSEIF wa_despesa-codmod = 'F'.

      v_ktosl = 'PDS'.

    ENDIF.

    CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'

...

 

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

Modificações efetuadas em REPS /PWS/ZYGLR002

 

...

    bname     LIKE /pws/zycbt004-bname,

    dtbname   LIKE /pws/zycbt004-dtbname,

    hrbname   LIKE /pws/zycbt004-hrbname,

    frggr     LIKE /pws/zycbt004-frggr,

  END OF itab_zycbt004,

  BEGIN OF itab_zycbt015 OCCURS 0,

    tpdesp  LIKE /pws/zycbt015-tpdesp,

    ftipo   LIKE /pws/zycbt015-ftipo,

    txtdesc LIKE /pws/zycbt015-txtdesc,

  END OF itab_zycbt015,

* >> Início da inclusão:

  BEGIN OF itab_zycbt118 OCCURS 100,

    nrseq     LIKE /pws/zycbt118-nrseq,

    nrdesp    LIKE /pws/zycbt118-nrdesp,

    tpdesp    LIKE /pws/zycbt118-tpdesp,

    bukrs     LIKE /pws/zycbt118-bukrs,

    codmodul  LIKE /pws/zycbt118-codmodul,

    nrref     LIKE /pws/zycbt118-nrref,

    dtvencto  LIKE /pws/zycbt118-dtvencto,

    benefic   LIKE /pws/zycbt118-benefic,

    fcambio   LIKE /pws/zycbt118-fcambio,

    kursf     LIKE /pws/zycbt118-kursf,

    ftaxa     LIKE /pws/zycbt118-ftaxa,

    waers     LIKE /pws/zycbt118-waers,

    vlme      LIKE /pws/zycbt118-vlme,

    kostl     LIKE /pws/zycbt118-kostl,

    prctr     LIKE /pws/zycbt118-prctr,

    frpagto   LIKE /pws/zycbt118-frpagto,

    txtinf    LIKE /pws/zycbt118-txtinf,

    frgzu     LIKE /pws/zycbt118-frgzu,

    estrat    LIKE /pws/zycbt118-estrat,

    frgsx1    LIKE /pws/zycbt118-frgsx1,

    frgsx2    LIKE /pws/zycbt118-frgsx2,

    frgsx3    LIKE /pws/zycbt118-frgsx3,

    frgsx4    LIKE /pws/zycbt118-frgsx4,

    frgsx5    LIKE /pws/zycbt118-frgsx5,

    nlib      LIKE /pws/zycbt118-nlib,

    seq       LIKE /pws/zycbt118-seq,

    aprova    LIKE /pws/zycbt118-aprova,

    bname     LIKE /pws/zycbt118-bname,

    dtbname   LIKE /pws/zycbt118-dtbname,

    hrbname   LIKE /pws/zycbt118-hrbname,

    frggr     LIKE /pws/zycbt118-frggr,

  END OF itab_zycbt118,

* << Fim da inclusão

  BEGIN OF itab_zycbt136 OCCURS 0,

    nrseqc  LIKE /pws/zycbt136-nrseqc,

    nrparc  LIKE /pws/zycbt136-nrparc,

    vlir    LIKE /pws/zycbt136-vlir,

  END OF itab_zycbt136,

  BEGIN OF itab_zycbt037 OCCURS 0,

    codpad  LIKE /pws/zycbt037-codpad,

    parvw   LIKE /pws/zycbt037-parvw,

  END OF itab_zycbt037,

  BEGIN OF itab_t001 OCCURS 0,

...

 

...

        INCLUDE STRUCTURE /pws/zycet033.

DATA: END OF itab_zycet033.

DATA:

  v_data          LIKE sy-datum,

  v_tipo(30)      TYPE c,

  v_taxa_dia      LIKE tcurr-ukurs,

  v_me            LIKE /pws/zycbt112-vlme,

  v_usd           LIKE /pws/zycbt112-vlme,

  v_control2      TYPE i,

  v_zero8(8)      TYPE n,

* >> Início da inclusão:

  v_codmodul      LIKE /pws/zycbe118-codmodul,

  v_desp,

* << Fim da inclusão

  v_mconame       TYPE shlpname,

  l_display(1)    TYPE c,

  v_fat(1)        TYPE c,

  v_averb(1)      TYPE c.

DATA: BEGIN OF itab_result OCCURS 0.

        INCLUDE STRUCTURE ddshretval.

DATA: END OF itab_result.

DATA: BEGIN OF record_tab OCCURS 0.

        INCLUDE STRUCTURE seahlpres.

DATA: END OF record_tab.

SELECTION-SCREEN BEGIN OF BLOCK bl_1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: empresa FOR /pws/zycbt007-bukrs    NO-DISPLAY,

                data    FOR /pws/zycbt119-dtvencto NO-DISPLAY,

                fornece FOR lfa1-lifnr,

                moeda   FOR /pws/zycbe124-waers,

                codmod  FOR /pws/zycbt138-codmod,

                invoice FOR /pws/zycbt004-nrinvoic,

* >> Início da inclusão:

                despesa FOR /pws/zycbe118-nrseq MATCHCODE OBJECT

                /pws/zygla004,

* << Fim da inclusão

                contrat FOR /pws/zycbe001-nrseqc   MATCHCODE OBJECT

                /pws/zycba050,

                letraj  FOR /pws/zycbe086-nrseq    MATCHCODE OBJECT

                /pws/zycba070,

                carta   FOR /pws/zycbe028-nrseq,

                prest   FOR /pws/zycet033-nrpres   MATCHCODE OBJECT

/pws/zycba261.

SELECTION-SCREEN END OF BLOCK bl_1.

SELECTION-SCREEN BEGIN OF BLOCK bl_2 WITH FRAME TITLE text-046.

PARAMETERS: p_trava  AS CHECKBOX USER-COMMAND p_trava,

            p_despes AS CHECKBOX USER-COMMAND p_despes,

* >> Início da inclusão:

            p_desp_e AS CHECKBOX USER-COMMAND p_desp_e,

* << Fim da inclusão

            p_com    AS CHECKBOX USER-COMMAND p_com,

            p_credit AS CHECKBOX USER-COMMAND p_credit,

            p_comiss AS CHECKBOX USER-COMMAND p_comiss,

            p_juros  AS CHECKBOX USER-COMMAND p_juros,

            p_prest  AS CHECKBOX USER-COMMAND p_prest.

SELECTION-SCREEN END OF BLOCK bl_2.

INCLUDE /pws/zycbi102.

INITIALIZATION.

  SET PF-STATUS '0100'.

* >> Início da inclusão:

  PERFORM parameter_cambio.

* << Fim da inclusão

AT SELECTION-SCREEN OUTPUT.

  LOOP AT SCREEN.

    IF NOT p_trava IS INITIAL.

      IF NOT p_despes IS INITIAL.

        IF NOT p_credit IS INITIAL.

          IF NOT p_comiss IS INITIAL.

            IF NOT p_juros IS INITIAL.

              IF screen-name(7) = 'FORNECE' OR

                 screen-name(5) = 'MOEDA'   OR

                 screen-name(6) = 'CODMOD'  OR

...

 

...

         screen-name(7) = 'FORNECE' OR

         screen-name(5) = 'MOEDA'   OR

         screen-name(7) = 'INVOICE'.

        screen-input = '1'.

      ENDIF.

    ELSE.

      IF screen-name(5) = 'PREST'.

        screen-input = '0'.

      ENDIF.

    ENDIF.

* >> Início da inclusão:

    IF NOT p_desp_e IS INITIAL.

      IF screen-name(7) = 'FORNECE' OR

         screen-name(5) = 'MOEDA'   OR

         screen-name(7) = 'INVOICE' OR

         screen-name(7) = 'DESPESA'.

        screen-input = '1'.

      ENDIF.

    ELSE.

      IF screen-name(7) = 'DESPESA'.

        FREE: despesa.

        screen-input = '0'.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    MODIFY SCREEN.

  ENDLOOP.

  IMPORT empresa[]       FROM MEMORY ID 'E001'.

  IMPORT data[]          FROM MEMORY ID 'E002'.

  IMPORT v_data          FROM MEMORY ID 'E003'.

  IMPORT v_control2      FROM MEMORY ID 'E007'.

  READ TABLE empresa INDEX 1.

  READ TABLE data INDEX 1.

  IF NOT v_control2 IS INITIAL.

    IMPORT itab_selreg[] FROM MEMORY ID 'E008'.

...

 

...

  PERFORM matchcode_carta USING 'L'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR carta-high.

  PERFORM matchcode_carta USING 'H'.

AT SELECTION-SCREEN.

  IF sy-ucomm = 'BACK'.

    LEAVE TO TRANSACTION '/PWS/ZYCBR102'.

  ELSEIF sy-ucomm = 'ONLI'.

    PERFORM seleciona_parametros.

    IF p_trava  IS INITIAL AND

       p_despes IS INITIAL AND

* >> Início da inclusão:

       p_desp_e IS INITIAL AND

* << Fim da inclusão

       p_com    IS INITIAL AND

       p_credit IS INITIAL AND

       p_comiss IS INITIAL AND

       p_juros  IS INITIAL AND

       p_prest  IS INITIAL.

      PERFORM seleciona_trava.

      PERFORM seleciona_despesa.

      PERFORM seleciona_com_contrato.

      PERFORM seleciona_carta_credito.

      PERFORM seleciona_comissao.

      PERFORM seleciona_juros.

      PERFORM seleciona_prestconta.

    ELSE.

      IF NOT p_trava IS INITIAL.

        PERFORM seleciona_trava.

      ENDIF.

      IF NOT p_despes IS INITIAL.

        PERFORM seleciona_despesa.

      ENDIF.

* >> Início da inclusão:

      IF NOT p_desp_e IS INITIAL.

        PERFORM seleciona_desp_e.

      ENDIF.

* << Fim da inclusão

      IF NOT p_com IS INITIAL.

        PERFORM seleciona_com_contrato.

      ENDIF.

      IF NOT p_credit IS INITIAL.

        PERFORM seleciona_carta_credito.

      ENDIF.

      IF NOT p_comiss IS INITIAL.

        PERFORM seleciona_comissao.

      ENDIF.

      IF NOT p_juros IS INITIAL.

...

 

...

      itab_zycbt004-kostl     TO itab_selreg-kostl,

      itab_zycbt004-prctr     TO itab_selreg-prctr,

      itab_zycbt002-dtpagto   TO itab_selreg-dtpagto,

      itab_zycbt002-vlir      TO itab_selreg-vlir,

      itab_zycbt002-dtpagtoir TO itab_selreg-dtpagtoir,

      itab_zycbt001-bukrs     TO itab_selreg-bukrs.

    APPEND itab_selreg.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt004, itab_zycbt015, itab_selreg.

ENDFORM.

* >> Início da inclusão:

FORM parameter_cambio.

  IMPORT v_codmodul FROM MEMORY ID 'E141'.

  IMPORT v_desp     FROM MEMORY ID 'E015'.

  IF v_desp = 'X'.

    p_desp_e = 'X'.

  ENDIF.

  CASE v_codmodul.

    WHEN 'IN' OR 'OP'.

      GET PARAMETER ID '/PWS/ZYCBP343' FIELD despesa-low.

      FREE MEMORY ID '/PWS/ZYCBP343'.

      IF NOT despesa-low IS INITIAL.

        APPEND despesa.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM seleciona_desp_e.

  IF data-high IS INITIAL.

    SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

           fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      INTO TABLE itab_zycbt118

      FROM /pws/zycbt118

      WHERE bukrs IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto LE v_data

        AND status   NE 'E'

        AND codmod   EQ 'E'

        AND waers    IN moeda

        AND nrseq    IN despesa

        AND benefic  IN fornece

        AND frgzu    NE '1'.

  ELSE.

    SELECT nrseq nrdesp tpdesp bukrs codmodul nrref dtvencto benefic

           fcambio kursf ftaxa waers vlme kostl prctr frpagto txtinf

           frgzu estrat frgsx1 frgsx2 frgsx3 frgsx4 frgsx5 nlib

           seq aprova bname dtbname hrbname frggr

      INTO TABLE itab_zycbt118

      FROM /pws/zycbt118

      WHERE bukrs IN empresa

        AND ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvencto IN data

        AND status   NE 'E'

        AND codmod   EQ 'E'

        AND waers    IN moeda

        AND nrseq    IN despesa

        AND benefic  IN fornece

        AND frgzu    NE '1'.

  ENDIF.

  IF NOT itab_zycbt118[] IS INITIAL.

    SELECT tpdesp

           ftipo

           txtdesc

      FROM /pws/zycbt015 INTO TABLE itab_zycbt015

       FOR ALL ENTRIES IN itab_zycbt118

     WHERE tpdesp = itab_zycbt118-tpdesp

       AND ftipo = 'E'.

  ENDIF.

  LOOP AT itab_zycbt118.

    CLEAR: itab_selreg, itab_zycbt015.

    READ TABLE itab_zycbt015 WITH KEY tpdesp = itab_zycbt118-tpdesp

                                      ftipo = 'E'.

    IF sy-subrc = 0.

      MOVE itab_zycbt015-txtdesc TO itab_selreg-tipo.

    ENDIF.

    CLEAR: v_me, v_usd.

    v_me    = itab_zycbt118-vlme.

    MOVE:

      text-032                TO itab_selreg-mod,

      itab_zycbt118-nrseq     TO itab_selreg-nrchave,

      itab_zycbt118-nrdesp    TO itab_selreg-docto,

      itab_zycbt118-bukrs     TO itab_selreg-bukrs,

      '/PWS/ZYCBT118'         TO itab_selreg-tab,

      itab_zycbt118-dtvencto  TO itab_selreg-dtvencto,

      v_taxa_dia              TO itab_selreg-txdia,

      itab_zycbt118-waers     TO itab_selreg-waers,

      itab_zycbt118-vlme      TO itab_selreg-vlme,

      v_usd                   TO itab_selreg-vlusd,

      itab_zycbt118-fcambio   TO itab_selreg-fcamb,

      itab_zycbt118-frpagto   TO itab_selreg-frpagto,

      itab_zycbt118-benefic   TO itab_selreg-lifnr,

      itab_zycbt118-txtinf    TO itab_selreg-txtinf,

      'ED'                    TO itab_selreg-fmd,

      itab_zycbt118-codmodul  TO itab_selreg-codmodul,

      itab_zycbt118-kostl     TO itab_selreg-kostl,

      itab_zycbt118-prctr     TO itab_selreg-prctr,

      itab_zycbt118-frgzu     TO itab_selreg-frgzu,

      itab_zycbt118-estrat    TO itab_selreg-estrat,

      itab_zycbt118-frgsx1    TO itab_selreg-frgsx1,

      itab_zycbt118-frgsx2    TO itab_selreg-frgsx2,

      itab_zycbt118-frgsx3    TO itab_selreg-frgsx3,

      itab_zycbt118-frgsx4    TO itab_selreg-frgsx4,

      itab_zycbt118-frgsx5    TO itab_selreg-frgsx5,

      itab_zycbt118-nlib      TO itab_selreg-nlib,

      itab_zycbt118-seq       TO itab_selreg-seq,

      itab_zycbt118-aprova    TO itab_selreg-aprova,

      itab_zycbt118-bname     TO itab_selreg-bname,

      itab_zycbt118-dtbname   TO itab_selreg-dtbname,

      itab_zycbt118-hrbname   TO itab_selreg-hrbname,

      itab_zycbt118-frggr     TO itab_selreg-frggr.

    APPEND itab_selreg.

  ENDLOOP.

  CLEAR: v_tipo, v_taxa_dia, itab_zycbt118, /pws/zycbt015, itab_selreg.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCB105

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 071

 

Texto: (5 caracteres)

"005PA"

 

Comprimento máximo: 5

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 072

 

Texto: (10 caracteres)

"Exportação"

 

Comprimento máximo: 10

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 073

 

Texto: (5 caracteres)

"005PB"

 

Comprimento máximo: 5

 

 

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

Modificações efetuadas em REPT /PWS/ZYGLR002

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): DESPESA

 

Texto: (19 caracteres)

"Nº Despesa:"

 

Referência ao Dictionary: NÃO

 

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

Incluído texto de seleção:

 

Idioma: PT

 

Variável (SELECT-OPTION / PARAMETER): P_DESP_E

 

Texto: (16 caracteres)

"Despesas"

 

Referência ao Dictionary: NÃO

 

 

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

Modificações efetuadas em Área de Menu /PWS/ZYCB

 

> Entrar na transação SE43

> Selecinar menu de área /PWS/ZYCB

> Clicar em modificar

> Expandir pasta Exportação

> Entre as pastas Valores Mantidos no Exterior e Rotina de Pagamento, criar pasta Despesas

> Inserir as 3 transações abaixo na pasta Despesa (assim como na pasta Importação):

 

Entrada de menu

Criar

Código de transação

/PWS/ZYCB105_C

 

Entrada de menu

Modificar

Código de transação

/PWS/ZYCB105_A

 

Entrada de menu

Exibir

Código de transação

/PWS/ZYCB105_E

 

 

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

Modificações efetuadas em SHLP /PWS/ZYCBA283

 

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCBA283

DESCRIÇÃO BREVE: CB - Despesas de Exportação - Faturas

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: /PWS/ZYCBV221

 

COMPORTAMENTO DE DIÁLOGO:

TIPO DE DIÁLOGO: Exibição de valores imediata

HOT KEY:

 

EXIT AJUD. PESQUISA:

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL    ISEL   EXAJ   ELEM. DADOS       MOD  VALOR PROPOSTO

NRINVOIC X    1 1      /PWS/ZYCBL084

GSBERF        X    2 2      GSBER

NRPARCF X    3 3      RATNR

BUKRS             4 4      BUKRS

KUNAG             5 5      KUNAG

NAME1             6 6      NAME1_GP

WAERS             7 7      WAERS

WERKS             8 8      WERKS_D

J_1BBRANCH      9 9      J_1BBRANC_

DTBL             10 10      /PWS/ZYCBL039

DTVENCTO      11 11      /PWS/ZYCBL034

FKDAT             12 12      FKDAT

VLAVINC      13 13      /PWS/ZYCBL059

 

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

Modificações efetuadas em SHLP /PWS/ZYCBA284

 

CRIAR AJUDA DE PESQUISA: /PWS/ZYCBA284

DESCRIÇÃO BREVE: CB - Despesas de Exportação - Ordem de Pagamento

 

DEFINIÇÃO

 

OBTENÇÃO DE DADOS

MÉTODO DE SELEÇÃO: /PWS/ZYCBV222

 

COMPORTAMENTO DE DIÁLOGO:

TIPO DE DIÁLOGO: Exibição de valores imediata

HOT KEY:

 

EXIT AJUD. PESQUISA:

 

PARÂMETROS:

 

PARAM.    IMP EXP POSL    ISEL   EXAJ   ELEM. DADOS       MOD  VALOR PROPOSTO

NRSEQ        X   1       1      /PWS/ZYGLL1342

TIPO_OP     2      2      /PWS/ZYGLL1352

NRINVOIC     3      3      /PWS/ZYCBL084

GSBERF            4      4      GSBER

NRPARCF     5      5      /PWS/ZYGLL1343

BUKRS            6      6      BUKRS

BCO_ME            7      7      /PWS/ZYGLL1348

WAERS            8      8      WAERS

WERKS            9      9      WERKS_D

J_1BBRANCH     10      10      J_1BBRANC_

DTCREDEXT     11      11      /PWS/ZYCBL159

VLR_EXTERIOR     12      12      /PWS/ZYGLL1344

 

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

Modificações efetuadas em VIEW /PWS/ZYCBV221

 

CRIAR VISAO : /PWS/ZYCBV221

DESCRIÇÃO BREVE: CB - Faturas de Despesas de Exportação

 

TABELAS/CONDIÇÕES JOIN

 

TABELAS:                 CONDIÇÕES JOIN:

/PWS/ZYCBT017            TABELA          NOME CPO   =   TABELA      NOME CPO

KNA1                    /PWS/ZYCBT017 MANDT    =  KNA1    MANDT

                        /PWS/ZYCBT017 KUNAG    =  KNA1    KUNNR

 

CPOS. VISÃO

 

CAMPO VISÃO:     NOME TAB:        NOME CAMPO:     Chv:

MANDT          /PWS/ZYCBT017 MANDT           X

NRINVOIC   /PWS/ZYCBT017 NRINVOIC        X

GSBERF          /PWS/ZYCBT017 GSBERF          X

NRPARCF   /PWS/ZYCBT017 NRPARCF         X

BUKRS          /PWS/ZYCBT017 BUKRS

KUNAG          /PWS/ZYCBT017 KUNAG

NAME1          KNA1       NAME1

WAERS          /PWS/ZYCBT017 WAERS

WERKS          /PWS/ZYCBT017 WERKS

J_1BBRANCH   /PWS/ZYCBT017 J_1BBRANCH

DTBL          /PWS/ZYCBT017 DTBL

DTVENCTO   /PWS/ZYCBT017 DTVENCTO

FKDAT          /PWS/ZYCBT017 FKDAT

VLAVINC   /PWS/ZYCBT017 VLAVINC

 

 

 

 

CONDIÇÕES DE SELEÇÃO

 

TABELA:          NOME CPO.:   OPERADOR:       VL COMP:       AND/OR

/PWS/ZYCBT017   STATUS       NE            'X'

 

STATUS AT.

 

ACESSO:

(X) - SÓ LER

(_) - LER E MODIFICAR

 

 

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

Modificações efetuadas em VIEW /PWS/ZYCBV222

 

CRIAR VISAO : /PWS/ZYCBV222

DESCRIÇÃO BREVE: CB - Ordens de Pagamento de Despesas de Exportação

 

TABELAS/CONDIÇÕES JOIN

 

TABELAS:                 CONDIÇÕES JOIN:

/PWS/ZYCBT226            TABELA          NOME CPO   =   TABELA      NOME CPO

 

 

CPOS. VISÃO

 

CAMPO VISÃO:     NOME TAB:        NOME CAMPO:     Chv:

MANDT          /PWS/ZYCBT226 MANDT           X

NRSEQ          /PWS/ZYCBT226 NRSEQ           X

TIPO_OP   /PWS/ZYCBT226 TIPO_OP

NRINVOIC   /PWS/ZYCBT226 NRINVOIC

GSBERF          /PWS/ZYCBT226 GSBERF

NRPARCF   /PWS/ZYCBT226 NRPARCF

BUKRS          /PWS/ZYCBT226 BUKRS

BCO_ME          /PWS/ZYCBT226 BCO_ME

WAERS          /PWS/ZYCBT226 WAERS

WERKS          /PWS/ZYCBT226 WERKS

J_1BBRANCH   /PWS/ZYCBT226 J_1BBRANCH

DTCREDEXT   /PWS/ZYCBT226 DTCREDEXT

VLR_EXTERIOR   /PWS/ZYCBT226 VLR_EXTERIOR

 

 

 

CONDIÇÕES DE SELEÇÃO

 

TABELA:          NOME CPO.:   OPERADOR:       VL COMP:       AND/OR

 

 

STATUS AT.

 

ACESSO:

(X) - SÓ LER

(_) - LER E MODIFICAR