CE PLUS - Nota 006290

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Empréstimos

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

Data/Hora Última Alteração: 18/02/2011 14:25:21

Descrição da Nota: FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO

Sintoma

Atualmente o programa não efetua a dedução do valor do irrf no pagamento de juros/comissão sobre

financiamento e emprestimo.

 

 

Solução

Criado novo tratamento nas funcionalidades financiamento, emprestimo e rotina mensal das comissões e

juros com irrf por conta do credor.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

IRRF SOBRE COMISSÃO DE EMPRÉSTIMO CONTABILIZADO NO COMPLEMENTO DO BOLETO

ROTINA DE PAGAMENTO - EMPRÉSTIMO - FILIAL(BUPLA)

VERIFICAÇÃO E CODE INSPECTOR

ROTINA MENSAL FINANCIAMENTO ELEMENTO PEP

PROCESSAR BOLETO - FINANCIAMENTO - FILTRO POR DATA PARC. PRIN/JUR

ROTINA MENSAL O DOCUMENTO CONTÁBIL RELATIVO AO MÊS

FINANCIAMENTO

VERIFICAÇÃO AMPLIADA, CODE INSPECTOR, ROTINA MENSAL DE CAMBIO IMPORTAÇÃO

VERIFICAÇÃO AMPLIADA, CODE INSPECTOR PROGRAMA DE EMPRESTIMO

ROTINA DE PAGAMENTO - CAMPO DATA "DE" "ATÉ"

ROTINA MENSAL - KOSTL EMPRESTIMO TABELA 129 - JUROS E COMISSÃO

REFINANCIAMENTO - FINANCIAMENTO - BLOQUEIO JUROS/COMISSÃO

Informações Complementares

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

Nota Número 06290 Data: 31/03/2008 Hora: 16:26:22

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

 

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

Nota Número              : 06290

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00041

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

Referência às notas relacionadas:

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

 

00490  - 00001 - 6.0    - 00022  - ROTINA MENSAL O DOCUMENTO CONTÁBIL RELATIVO AO MÊS

02175  - 00002 - 6.0    - 00025  - ROTINA DE PAGAMENTO - CAMPO DATA "DE" "ATÉ"

02651  - 00003 - 6.0    - 00025  - PROCESSAR BOLETO - FINANCIAMENTO - FILTRO POR DATA PARC. PRIN/JUR

03282  - 00004 - 6.0    - 00026  - ROTINA MENSAL - KOSTL EMPRESTIMO TABELA 129 - JUROS E COMISSÃO

03791  - 00005 - 7.0    - 00001  - ROTINA DE PAGAMENTO - EMPRÉSTIMO - FILIAL(BUPLA)

03813  - 00006 - 7.0    - 00001  - ROTINA MENSAL FINANCIAMENTO ELEMENTO PEP

04196  - 00007 - 7.0    - 00002  - IRRF SOBRE COMISSÃO DE EMPRÉSTIMO CONTABILIZADO NO COMPLEMENTO DO

05088  - 00008 - 7.0    - 00003  - REFINANCIAMENTO - FINANCIAMENTO - BLOQUEIO JUROS/COMISSÃO

05587  - 00009 - 7.0    - 00004  - VERIFICAÇÃO E CODE INSPECTOR

05648  - 00010 - 7.0    - 00004  - VERIFICAÇÃO AMPLIADA, CODE INSPECTOR, ROTINA MENSAL DE CAMBIO IMP

05775  - 00011 - 7.0    - 00004  - VERIFICAÇÃO AMPLIADA, CODE INSPECTOR PROGRAMA DE EMPRESTIMO

06164  - 00012 - 7.0    - 00004  - FINANCIAMENTO

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

FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO

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

Palavras Chave:

FINANCIAMENTO/EMPRESTIMO - JUROS E COMISSÃO COM IRRF DEDUZIDO

 

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

Objetos da nota:

DYNP /PWS/SAPMZYCA111                        0103

DYNP /PWS/SAPMZYCA111                        0104

DYNP /PWS/SAPMZYCM101                        0103

REPS /PWS/MZYCA111F01

REPS /PWS/MZYCA111O01

REPS /PWS/MZYCM101F01

REPS /PWS/ZYCBI112

REPS /PWS/ZYCBI112X

REPS /PWS/ZYCBI113

REPS /PWS/ZYCBI113X

REPS /PWS/ZYCBR113

REPS /PWS/ZYGLR001

REPS /PWS/ZYGLR003

TABD /PWS/ZYCBE113

TABD /PWS/ZYCBE129

TABD /PWS/ZYCBT113

TABD /PWS/ZYCBT129

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA111                        0103

 

* Efetuado o download da tela 103 para arquivo.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCA111                        0104

 

* Efetuado o download da tela 104 para arquivo.

 

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

Modificações efetuadas em DYNP /PWS/SAPMZYCM101                        0103

 

* Efetuado o download da tela 103 para arquivo.

 

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

Modificações efetuadas em REPS /PWS/MZYCA111F01

 

...

        ( v_vlmeamj *

        ( ( itab_zycbt129j-txjtotal /

 

 

 100 ) / /pws/zycbt010-nrdias )

                                  * itab_zycbt129j-nrdias_j ).

    ELSE.

      itab_zycbt129j-vlme     =

        ( v_vlmeamj *

        ( ( itab_zycbt129j-txjtotal / 100 ) / /pws/zycbt010-nrdias )

                                  * itab_zycbt129j-nrdias ).

    ENDIF.

    CHECK itab_zycbt129j-vlme > 0.

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

    IF /pws/zycbe129-reajbase EQ 'X' AND

       /pws/zycbe129-ded_fat  EQ 'X'.

      CLEAR: /pws/zycbe129-reajbase,

             /pws/zycbe129-ded_fat.

    ENDIF.

    MOVE: /pws/zycbe129-reajbase TO itab_zycbt129j-reajbase,

          /pws/zycbe129-ded_fat  TO itab_zycbt129j-ded_fat.

    IF ( itab_zycbt129j-aliqir > 0 ).

      IF /pws/zycbe129-reajbase IS INITIAL.

* << Fim da inclusão

    itab_zycbt129j-vlir     =

      ( ( itab_zycbt129j-aliqir / 100 ) * itab_zycbt129j-vlme ).

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

      ELSE.

        IF itab_zycbt129j-aliqir < 100.

          itab_zycbt129j-vlir     =

            ( itab_zycbt129j-vlme /

            ( ( 100 - itab_zycbt129j-aliqir  ) / 100 ) )

            * ( itab_zycbt129j-aliqir / 100 ).

        ENDIF.

      ENDIF.

    ENDIF.

* << Fim da inclusão

    itab_zycbt129j-txtinf   = /pws/zycbe129-txtinf.

    itab_zycbt129j-vliof    =

      ( ( itab_zycbt129j-aliqiof / 100 ) * itab_zycbt129j-vlme ).

  ELSE.

    CONCATENATE v_conc_nrparc /pws/zycbe129-nrparc

    INTO v_conc_nrparc SEPARATED BY space.

  ENDIF.

  MOVE:  /pws/zycbe129-kostl    TO itab_zycbt129j-kostl,

         /pws/zycbe129-aufnr    TO itab_zycbt129j-aufnr,

         /pws/zycbe129-kstrg    TO itab_zycbt129j-kstrg,

...

 

...

      itab_zycbt129c-vlme     = /pws/zycbe128-vlcomis.

      itab_zycbt129c-nrdias   = 0.

    ELSEIF /pws/zycbe128-tpcomis EQ 'V'.

      itab_zycbt129c-vlme = ( /pws/zycbe128-vlcomis /

 /pws/zycbe128-nrparc ).

    ENDIF.

  ELSEIF /pws/zycbe128-fpagto_c EQ 'L'.

    itab_zycbt129c-vlme = /pws/zycbe129-vlme.

  ENDIF.

  MODIFY itab_zycbt129c INDEX /pws/zycbe129-nrparc.

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

  IF ( /pws/zycbe129-reajbase EQ 'X' AND

       /pws/zycbe129-ded_fat  EQ 'X' ) OR

       /pws/zycbe129-remissivel NE 'S'.

     CLEAR: /pws/zycbe129-reajbase,

            /pws/zycbe129-ded_fat.

  ENDIF.

  MOVE:  /pws/zycbe129-reajbase TO itab_zycbt129c-reajbase,

         /pws/zycbe129-ded_fat  TO itab_zycbt129c-ded_fat.

  IF ( itab_zycbt129c-aliqir > 0 ).

    IF /pws/zycbe129-reajbase   IS INITIAL OR

       /pws/zycbe129-remissivel NE 'S'.

* << Fim da inclusão

  itab_zycbt129c-vlir =

    ( ( itab_zycbt129c-aliqir / 100 ) * itab_zycbt129c-vlme ).

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

    ELSE.

      IF itab_zycbt129c-aliqir < 100.

        itab_zycbt129c-vlir     =

          ( itab_zycbt129c-vlme /

          ( ( 100 - itab_zycbt129c-aliqir  ) / 100 ) )

          * ( itab_zycbt129c-aliqir / 100 ).

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  itab_zycbt129c-vliof =

    ( ( itab_zycbt129c-aliqiof / 100 ) * itab_zycbt129c-vlme ).

  itab_zycbt129c-remissivel = /pws/zycbe129-remissivel.

  itab_zycbt129c-txtinf     = /pws/zycbe129-txtinf.

  MOVE:  /pws/zycbe129-kostl    TO itab_zycbt129c-kostl,

         /pws/zycbe129-aufnr    TO itab_zycbt129c-aufnr,

         /pws/zycbe129-kstrg    TO itab_zycbt129c-kstrg,

         /pws/zycbe129-prctr    TO itab_zycbt129c-prctr,

         /pws/zycbe129-ps_posid TO itab_zycbt129c-ps_posid,

         /pws/zycbe129-nplnr    TO itab_zycbt129c-nplnr,

...

 

...

  PERFORM fill_date1_f02.

ENDFORM.

FORM clear_date_batch.

  CLEAR: itab_zycbt034,

         itab_zycbe033,

         itab_zycbt032.

  REFRESH: itab_zycbt034, itab_zycbe033, itab_zycbt032.

ENDFORM.

FORM verify_null_field USING value(p_field)

                             value(p_fieldname)

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

                             value(p_description)."#EC *

* << Fim da exclusão

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

                             value(p_description).          "#EC *

* << Fim da inclusão

  IF p_field IS INITIAL.

    itab_zycbt034-campo = p_fieldname.

    itab_zycbt034-descricao = p_description.

    APPEND itab_zycbt034.

  ENDIF.

ENDFORM.

FORM popup_message USING value(p_textline1)

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

                         value(p_titel). "#EC *

* << Fim da exclusão

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

                         value(p_titel).                    "#EC *

* << Fim da inclusão

  CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

       EXPORTING

            defaultoption = 'Y'

            textline1     = p_textline1

            titel         = p_titel

       IMPORTING

            answer        = v_answer

       EXCEPTIONS

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

            OTHERS        = 0."#EC *

* << Fim da exclusão

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

            OTHERS        = 0.                              "#EC *

* << Fim da inclusão

ENDFORM.

FORM obtem_taxa_cambial.

  v_ftaxa = /pws/zycbe128-ftaxa.

  CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

       EXPORTING

            i_montante                 = /pws/zycbe128-sldesem

            i_demoeda                  = /pws/zycbe128-waers

            i_paramoeda                = wa_zycbt007-waersb

            i_ctmoeda                  = v_ftaxa

            i_dtbase                   = sy-datum

...

 

...

  ENDIF.

  SELECT nrseq dtpagto status

         FROM /pws/zycbt118

         INTO (/pws/zycbt118-nrseq, /pws/zycbt118-dtpagto,

               /pws/zycbt118-status)

         UP TO 1 ROWS

         WHERE nrref   =  /pws/zycbe128-nrseq AND

               dtpagto <> '00000000'          AND

               status  <> 'E'                 AND

               codmodul = 'EM'.

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

  ENDSELECT.                                       "#EC CI_NOFIELD

* << Fim da exclusão

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

  ENDSELECT.                                            "#EC CI_NOFIELD

* << Fim da inclusão

  IF sy-subrc EQ 0.

    MESSAGE i015 WITH text-035 text-034.

    v_erro_exclusao = 'X'.

  ELSE.

    SELECT *

           INTO TABLE itab_zycbt118

           FROM /pws/zycbt118

           WHERE nrref  =  /pws/zycbe128-nrseq AND

                 status <> 'E'                 AND

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

                 codmodul = 'EM'.                 "#EC CI_NOFIELD

* << Fim da exclusão

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

                 codmodul = 'EM'.                       "#EC CI_NOFIELD

* << Fim da inclusão

    IF sy-subrc EQ 0.

      PERFORM popup_message USING text-031 text-032.

      IF v_answer = 'J'.

        PERFORM verifica_parcelas.

        IF v_apagar = 'S'.

          PERFORM reverse_document_zycbt128.

          IF v_erro_exclusao IS INITIAL.

            PERFORM reverse_document_zycbt129.

            IF v_erro_exclusao IS INITIAL.

              PERFORM exclui_emprestimo.

...

 

...

      v_diasj = v_diasj + /pws/zycbe129-nrdias.

    WHEN '0104'.

      v_diasc = v_diasc + /pws/zycbe129-nrdias.

  ENDCASE.

ENDFORM.

FORM ver_vlprinc.

  DATA: vlprinc   LIKE /pws/zycbt128-vlme,

        vdtaux    LIKE sy-datum,

        vdtfinal  LIKE sy-datum,                            "#EC NEEDED

        vdtfinal2 LIKE sy-datum,                            "#EC NEEDED

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

        vdtfinal3 LIKE sy-datum,"#EC NEEDED

* << Fim da exclusão

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

        vdtfinal3 LIKE sy-datum,                            "#EC NEEDED

* << Fim da inclusão

        v_line    TYPE i.

  CLEAR v_ind_valor.

  LOOP AT itab_zycbt129p.

    vlprinc = vlprinc + itab_zycbt129p-vlme.

    vdtaux  = itab_zycbt129p-dtfinal.

    AT LAST.

      vdtfinal = vdtaux.

    ENDAT.

  ENDLOOP.

  IF vlprinc <> /pws/zycbe128-vlme.

...

 

...

        itab_zycbe033-kursf = v_taxacambial.

      ENDIF.

      PERFORM verify_null_field USING wa_zycbt011-blart

                                      'BLART'

                                      text-014.

      itab_zycbe033-blart  = wa_zycbt011-blart.

      PERFORM verify_null_field USING itab_zycbt129c-vlme

                                      'VLME'

                                      text-028.

      itab_zycbe033-wrbtr  = itab_zycbt129c-vlme.

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

      IF itab_zycbt129c-ded_fat EQ 'X'.

        itab_zycbe033-wrbtr = itab_zycbe033-wrbtr - itab_zycbt129c-vlir.

      ENDIF.

* << Fim da inclusão

      itab_zycbe033-d_gsber = /pws/zycbe128-gsber.

      itab_zycbe033-d_kostl = /pws/zycbe128-kostl.

      itab_zycbe033-d_prctr = /pws/zycbe128-prctr.

      itab_zycbe033-d_fipos = /pws/zycbe128-fipos.

      itab_zycbe033-d_fictr = /pws/zycbe128-fictr.

      itab_zycbe033-c_gsber = /pws/zycbe128-gsber.

      itab_zycbe033-c_kostl = /pws/zycbe128-kostl.

      itab_zycbe033-c_prctr = /pws/zycbe128-prctr.

      itab_zycbe033-c_fipos = /pws/zycbe128-fipos.

      itab_zycbe033-c_fictr = /pws/zycbe128-fictr.

...

 

...

          CLEAR v_text.

          CONCATENATE text-103 text-086 INTO v_text SEPARATED BY space.

          PERFORM processa_boleto.

      ENDCASE.

    ENDIF.

  ENDIF.

ENDFORM.

FORM modo_batch_input.

  SELECT *

         FROM /pws/zycbt039

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

         INTO CORRESPONDING FIELDS OF TABLE itab_modo."#EC CI_NOWHERE

* << Fim da exclusão

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

         INTO CORRESPONDING FIELDS OF TABLE itab_modo.  "#EC CI_NOWHERE

* << Fim da inclusão

  SORT itab_modo DESCENDING.

  CALL FUNCTION 'POPUP_TO_DECIDE_LIST'

       EXPORTING

            textline1          = text-056

            textline2          = text-057

            titel              = text-058

       IMPORTING

            answer             = v_modo_bi

       TABLES

            t_spopli           = itab_modo

       EXCEPTIONS

            not_enough_answers = 1

            too_much_answers   = 2

            too_much_marks     = 3

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

            OTHERS             = 4."#EC *

* << Fim da exclusão

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

            OTHERS             = 4.                         "#EC *

* << Fim da inclusão

       if sy-subrc = 0.

       else.

       endif.

  IF v_modo_bi EQ '3'.

    v_modo_bi = 'A'.

  ELSEIF v_modo_bi EQ '2'.

    v_modo_bi = 'E'.

  ELSEIF v_modo_bi EQ '1'.

    v_modo_bi = 'N'.

  ENDIF.

...

 

...

    v_lock = 0.

  ENDIF.

ENDFORM.

FORM verifica_despesa.

  DATA v_answer_aux.

  IF sy-tcode = '/PWS/ZYCB111_C'.

    SELECT *

           FROM /pws/zycbt118

           INTO TABLE itab_zycbt118

           WHERE nrref    = v_nrseq AND

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

                 codmodul = 'CE'.      "#EC CI_NOFIELD

* << Fim da exclusão

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

                 codmodul = 'CE'.                       "#EC CI_NOFIELD

* << Fim da inclusão

    IF sy-subrc = 0.

      CALL FUNCTION 'POPUP_TO_CONFIRM'

           EXPORTING

                text_question         = text-059

                text_button_1         = text-060

                icon_button_1         = 'ICON_OKAY'

                text_button_2         = text-061

                icon_button_2         = 'ICON_CANCEL'

                display_cancel_button = ' '

           IMPORTING

                answer                = v_answer_aux

           EXCEPTIONS

                text_not_found        = 1

                OTHERS                = 2.

       if sy-subrc = 0.

       else.

       endif.

      IF v_answer_aux = '1'.

        DELETE FROM /pws/zycbt118 WHERE nrref    = v_nrseqc2

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

                               AND codmodul = 'FR'."#EC CI_NOFIELD

* << Fim da exclusão

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

                               AND codmodul = 'FR'.     "#EC CI_NOFIELD

* << Fim da inclusão

        IF sy-subrc = 0.

          MESSAGE i015 WITH text-062.

        ENDIF.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM preenche_itab_aux.

  CASE sy-dynnr.

    WHEN '0102'.

...

 

...

           WHERE nrseq   EQ v_nrseqc AND

                 tpparc  EQ 'P'      AND

                 belnr_p NE ' '.

    ENDSELECT.

    IF sy-subrc EQ 0.

      MOVE /pws/zycbe129 TO wa_zycbt129.

      MESSAGE i015 WITH text-093 .

    ENDIF.

  ENDIF.

ENDFORM.

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

FORM estorna_parcelas_excluidas."#EC CALLED

* << Fim da exclusão

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

FORM estorna_parcelas_excluidas.                            "#EC CALLED

* << Fim da inclusão

  LOOP AT itab_excluidos.

    itab_zycbe033-mandt  = sy-mandt.

    itab_zycbe033-tcode  = 'FB08'.

    itab_zycbe033-tabela = text-008.

    itab_zycbe033-cpochv = wa_zycbt128-nrseq.

    itab_zycbe033-belnr  = itab_excluidos-belnr.

    itab_zycbe033-bukrs  = wa_zycbt128-bukrs.

    itab_zycbe033-budat  = wa_zycbt128-dtdesem.

    itab_zycbe033-gjahs  = wa_zycbt128-dtdesem+0(4).

    v_monat = itab_zycbe033-budat+2(2).

...

 

...

                   CHANGING p_ano     LIKE  T009B-BDATJ.

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs = p_bukrs

            v_date  = p_budat

       IMPORTING

            v_year  = p_ano.

ENDFORM.

FORM determina_periodo USING value(p_budat)

                             value(p_bukrs)

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

                    CHANGING p_monat. "#EC *

* << Fim da exclusão

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

                    CHANGING p_monat.            "#EC *

* << Fim da inclusão

  DATA v_periv(2).

  SELECT periv

         UP TO 1 ROWS

         FROM t001

         INTO v_periv

         WHERE bukrs EQ p_bukrs.

  ENDSELECT.

  CALL FUNCTION 'DETERMINE_PERIOD'

       EXPORTING

            date                = p_budat

            version             = v_periv

       IMPORTING

            period              = p_monat

       EXCEPTIONS

            period_in_not_valid = 1

            period_not_assigned = 2

            version_undefined   = 3

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

            OTHERS              = 4."#EC *

* << Fim da exclusão

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

            OTHERS              = 4.                        "#EC *

* << Fim da inclusão

       if sy-subrc = 0.

       else.

       endif.

ENDFORM.

FORM read_text.

  CLEAR:   itab_thead, itab_tline.

  REFRESH: itab_thead, itab_tline.

  PERFORM preenche_thead.

  CALL FUNCTION 'READ_TEXT'

       EXPORTING

...

 

...

    ENDSELECT.

    IF sy-subrc NE 0.

      CLEAR v_descricao_natoper.

    ENDIF.

  ELSE.

    CLEAR v_descricao_natoper.

  ENDIF.

ENDFORM.

FORM pega_descricao_dominio USING    value(p_objeto)

                                     value(p_valor)

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

                            CHANGING p_retorno. "#EC *

* << Fim da exclusão

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

                            CHANGING p_retorno.             "#EC *

* << Fim da inclusão

  DATA: wa_dd03l  LIKE dd03l,

        tablename LIKE dd03l-tabname,

        fieldname LIKE dd03l-fieldname.

  DATA: BEGIN OF itab_dd07t OCCURS 5.

          INCLUDE STRUCTURE dd07t.

  DATA: END OF itab_dd07t.

  SPLIT p_objeto AT '-' INTO tablename fieldname.

  IF sy-subrc NE 0.

    EXIT.

  ENDIF.

...

 

...

           INTO TABLE itab_dd07t

           WHERE domname    = wa_dd03l-domname AND

                 ddlanguage = sy-langu(1).

    IF sy-subrc = 0.

      READ TABLE itab_dd07t WITH KEY domvalue_l = p_valor.

      IF sy-subrc EQ 0.

        p_retorno = itab_dd07t-ddtext.

      ELSE.

        LOOP AT itab_dd07t WHERE domvalue_l IS initial.

          IF p_valor GE itab_dd07t-domval_ld AND

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

             p_valor LE itab_dd07t-domval_hd.   "#EC PORTABLE

* << Fim da exclusão

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

             p_valor LE itab_dd07t-domval_hd.             "#EC PORTABLE

* << Fim da inclusão

            p_retorno = itab_dd07t-ddtext.

            EXIT.

          ENDIF.

        ENDLOOP.

      ENDIF.

    ENDIF.

  ENDIF.

ENDFORM.

FORM verifica_pais_filial USING p_bukrs like /pws/zycbe128-bukrs

                                p_brnch like /pws/zycbe128-j_1bbranch.

...

 

...

    IF sy-subrc = 0.

      LOOP AT itab_zycbt129c.

        v_tabix = v_tabix + 1.

        CONCATENATE itab_zycbt129c-nrseq

                    itab_zycbt129c-tpparc

                    itab_zycbt129c-nrparc

               INTO v_cpochv.

        READ TABLE itab_zycbt032 WITH KEY tcode  = c_f02

                                          tabela = c_zycbt129

                                          cpochv = v_cpochv

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

                                          tpmsg  = 'S'. "#EC *

* << Fim da exclusão

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

                                          tpmsg  = 'S'.     "#EC *

* << Fim da inclusão

        IF sy-subrc = 0.

          MESSAGE i015 WITH text-132 itab_zycbt032-msg.

          itab_zycbt129c-belnr_ci = itab_zycbt032-belnr.

          itab_zycbt129c-budat_ci = itab_zycbe033-budat.

          MOVE itab_zycbt129c     TO /pws/zycbt129.

          MODIFY /pws/zycbt129.

          COMMIT WORK.

          MODIFY itab_zycbt129c INDEX v_tabix.

          MOVE itab_zycbt129c[] TO itab_zycbt129_ant[].

        ELSE.

...

 

...

    IF sy-subrc = 0.

      LOOP AT itab_zycbt129_ant.

        CHECK NOT itab_zycbt129_ant-belnr_ci IS INITIAL.

        CONCATENATE itab_zycbt129_ant-nrseq

                    itab_zycbt129_ant-tpparc

                    itab_zycbt129_ant-nrparc

               INTO v_cpochv.

        READ TABLE itab_zycbt032 WITH KEY tcode  = c_fb08

                                          tabela = c_zycbt129

                                          cpochv = v_cpochv

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

                                          tpmsg  = 'S'."#EC *

* << Fim da exclusão

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

                                          tpmsg  = 'S'.     "#EC *

* << Fim da inclusão

        IF sy-subrc EQ 0.

          MESSAGE i030 WITH itab_zycbt129_ant-belnr_ci.

          READ TABLE itab_zycbt129c WITH KEY

                                 nrseq  = itab_zycbt129_ant-nrseq

                                 nrparc = itab_zycbt129_ant-nrparc.

          CLEAR itab_zycbt129c-belnr_ci.

          CLEAR itab_zycbt129c-budat_ci.

          MODIFY itab_zycbt129c TRANSPORTING belnr_ci budat_ci

                           WHERE nrseq  = itab_zycbt129_ant-nrseq

                             AND nrparc = itab_zycbt129_ant-nrparc.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA111O01

 

...

        READ TABLE itab_zycbt031

                              WITH KEY nrcorresp = /pws/zycbe129-nrseq

                                       tpparc    = /pws/zycbe129-tpparc

                                       nrparc    = /pws/zycbe129-nrparc.

        IF sy-subrc = 0 AND NOT /pws/zycbe129-nrparc IS INITIAL.

          IF screen-name <> 'MARK'.

            screen-input = '0'.

            MODIFY SCREEN.

          ENDIF.

        ENDIF.

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

        IF screen-name EQ '/PWS/ZYCBE129-DED_FAT' OR

           screen-name EQ '/PWS/ZYCBE129-REAJBASE' .

          IF v_status_s NE 0 OR v_status_s IS INITIAL

.

          IF /PWS/ZYCBE129-remissivel EQ 'S'.

            screen-input = '1'.

          ELSE.

            screen-input = '0'.

            /PWS/ZYCBE129-REAJBASE = space.

            /PWS/ZYCBE129-DED_FAT = space.

          ENDIF.

          MODIFY screen.

          ENDIF.

        ENDIF.

* << Fim da inclusão

      ENDLOOP.

  ENDCASE.

ENDMODULE.

MODULE taxa OUTPUT.

  IF NOT /pws/zycbe128-kursf IS INITIAL.

    LOOP AT SCREEN.

      IF screen-name = 'V_COMPRA'

         OR screen-name = 'V_MEDIA'

         OR screen-name = 'V_VENDA'.

        screen-input = '0'.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM101F01

 

...

        WHERE tptxjur = itab_zycbt113j-tptxjur.

      v_vlmeamj = /pws/zycbe112-vlme.

      LOOP AT itab_zycbt113p WHERE

                    dtfinal <= itab_zycbt113j-dtinicio.

        v_vlmeamj = v_vlmeamj - itab_zycbt113p-vlme.

      ENDLOOP.

      itab_zycbt113j-vlme     =

        ( v_vlmeamj *

        ( ( itab_zycbt113j-txjtotal / 100 ) / /pws/zycbt010-nrdias )

                                      * itab_zycbt113j-nrdias ).

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

      IF /pws/zycbe113-reajbase EQ 'X' AND

         /pws/zycbe113-ded_fat  EQ 'X'.

         CLEAR: /pws/zycbe113-reajbase,

                /pws/zycbe113-ded_fat.

      ENDIF.

      MOVE: /pws/zycbe113-reajbase   TO itab_zycbt113j-reajbase,

            /pws/zycbe113-ded_fat    TO itab_zycbt113j-ded_fat.

      IF ( itab_zycbt113j-aliqir > 0 ).

        IF /pws/zycbe113-reajbase IS INITIAL.

* << Fim da inclusão

      itab_zycbt113j-vlir     =

        ( ( itab_zycbt113j-aliqir / 100 ) * itab_zycbt113j-vlme ).

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

        ELSE.

          IF itab_zycbt113j-aliqir < 100.

            itab_zycbt113j-vlir     =

              ( itab_zycbt113j-vlme /

              ( ( 100 - itab_zycbt113j-aliqir  ) / 100 ) )

              * ( itab_zycbt113j-aliqir / 100 ).

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da inclusão

      itab_zycbt113j-txtinf   = /pws/zycbe113-txtinf.

    ELSE.

      MESSAGE i015 WITH text-052.

    ENDIF.

    IF /pws/zycbe113-nrdias <> itab_zycbt113j-nrdias

       OR /pws/zycbe113-dtfinal <> itab_zycbt113j-dtfinal.

      itab_zycbt113j-dtvecto = itab_zycbt113j-dtfinal.

    ENDIF.

  ENDIF.

  MOVE mark TO itab_zycbt113j-mark.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI112

 

...

    ENDIF.

    itab_msg-nrseq    = itab_zycbt112-nrseq.

    itab_msg-nrfinanc = itab_zycbt112-nrfinanc.

    itab_msg-codint   = itab_zycbt112-codint.

    itab_msg-tpmsg    = 'E'.

    APPEND itab_msg.

  ELSE.

    itab_relat-vlmej =

      itab_relat-vlmej * ( 10 ** ( itab_tcurx-currdec - 2 ) ).

    MOVE-CORRESPONDING itab_relat TO wa_taxa_cambial.

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

    IF itab_zycbt113j-reajbase IS INITIAL.

* << Fim da inclusão

    itab_relat-vlmeir =

      itab_relat-vlmej * ( itab_zycbt113j-aliqir / 100 ).

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

    ELSE.

      itab_relat-vlmeir =

              ( itab_relat-vlmej /

              ( ( 100 - itab_zycbt113j-aliqir ) / 100 ) )

              * ( itab_zycbt113j-aliqir / 100 ).

    ENDIF.

* << Fim da inclusão

    IF v_nrdias = v_dias_mes AND

       NOT s_rbrotd IS INITIAL.

      itab_relat-vlme_mes = itab_relat-vlmej.

    ELSEIF v_nrdias <> v_dias_mes AND

       NOT s_rbrotd IS INITIAL.

      CALL FUNCTION '/PWS/ZYCB_JUROS_CALCULA'

           EXPORTING

                i_vlme                       = v_vlmeaux

                i_txj                        = p_txj

                i_nrdiabase                  = v_nrdiabase

...

 

...

                me_nao_encontrada            = 10

                ctg_cambio_nao_encontrada    = 11

                dtbase_nao_encontrada        = 12

                OTHERS                       = 13."#EC *

      IF sy-subrc = 0.

        itab_relat-vlme_mes =

        itab_relat-vlme_mes * ( 10 ** ( itab_tcurx-currdec - 2 ) ).

      ENDIF.

    ENDIF.

  ENDIF.

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

  itab_relat-ded_fat = itab_zycbt113j-ded_fat.

* << Fim da inclusão

  APPEND itab_relat.

  CLEAR itab_relat.

ENDFORM.

FORM seleciona_parametros_gerais.

  SELECT * FROM /pws/zycbt009

           INTO TABLE itab_zycbt009.

  SELECT * FROM /pws/zycbt010

           INTO TABLE itab_zycbt010.

  SELECT * FROM tcurx

         INTO TABLE itab_tcurx

...

 

...

    ENDON.

    CLEAR: v_ok, v_ok2.

    IF itab_relat-vlmej > 0 OR

       itab_relat-vlmeir > 0.

      IF wa_zycbt007-fprovisao = 'C' AND itab_relat-tpcontab = ' '

                                     AND v_ok = 0.

        PERFORM totaliza_juros_ir.

        v_tjuros = v_tjuros - itab_relat-vlrjprov + itab_relat-vlpagj.

        v_tir = v_tir - itab_relat-vlrjprov2 + itab_relat-vlpagir.

        v_ok = 1.

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

        IF NOT itab_relat-ded_fat IS INITIAL.

          v_tjuros = v_tjuros - itab_relat-vlmeir.

        ENDIF.

* << Fim da inclusão

      ENDIF.

      IF wa_zycbt007-fprovisao = 'C' AND itab_relat-tpcontab = 'C'

                                     AND v_ok2 = 0.

        PERFORM totaliza_comissao.

        v_tcomis  = v_tcomis - itab_relat-vlrjprov3 +

                                    itab_relat-vlpagc.

        v_ok2 = 1.

      ENDIF.

    ENDIF.

    IF ( v_tjuros > 0 OR v_tir > 0 ) AND

...

 

...

  UPDATE /pws/zycbt021 SET data    = sy-datum

                      hora    = sy-uzeit

                      usuario = sy-uname

                WHERE codrel  = '112'.

  IF NOT wa_zycbt007-fprovisao = 'C'.

    PERFORM lancamento_estorno.

  ENDIF.

  PERFORM lancamento_provisao.

ENDFORM.

FORM processa_subtotal_waers USING p_v_vlmej p_v_vlmeir."#EC *

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

data: v_vlmej(16)  type n,

      v_vlmeir(16) type n.

* << Fim da exclusão

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

data: v_vlmej  type wrbtr,

      v_vlmeir type wrbtr.

* << Fim da inclusão

v_vlmej  = p_v_vlmej.

v_vlmeir = p_v_vlmeir.

  IF v_vlmej > 0 OR

     v_vlmeir > 0.

    ULINE.

    PERFORM preenche_itab_contabil USING p_v_vlmej

                                         p_v_vlmeir.

    FORMAT COLOR 2 INVERSE OFF INTENSIFIED ON.

    WRITE:      sy-vline,

                text-006,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI112X

 

...

        vlrjprov    LIKE /pws/zycbt154-vlme,

        vlrprov2    LIKE /pws/zycbt154-vlme,

        vlrjprov2   LIKE /pws/zycbt154-vlme,

        vlrprov3    LIKE /pws/zycbt154-vlme,

        vlrjprov3   LIKE /pws/zycbt154-vlme,

        vlpagj      LIKE /pws/zycbt154-vlme,

        vlpagir     LIKE /pws/zycbt154-vlme,

        vlpagc      LIKE /pws/zycbt154-vlme,

        dtfpar      LIKE sy-datum,

        ps_posid    LIKE /pws/zycbt113-ps_posid,

* >> Início da inclusão:

        ded_fat     LIKE /pws/zycbt113-ded_fat,

* << Fim da inclusão

      END OF itab_relat.

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/ZYCBI113

 

...

        itab_msg-msg = text-021.

    ENDCASE.

    itab_msg-nrseq     = itab_zycbt128-nrseq.

    itab_msg-nremprest = itab_zycbt128-nremprest.

    itab_msg-tpmsg     = 'E'.

    APPEND itab_msg.

  ELSE.

    itab_relat-vlmej =

       itab_relat-vlmej * ( 10 ** ( itab_tcurx-currdec - 2 ) ).

    MOVE-CORRESPONDING itab_relat TO wa_taxa_cambial.

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

    IF itab_zycbt129j-reajbase IS INITIAL.

* << Fim da inclusão

    itab_relat-vlmeir =

       itab_relat-vlmej * ( itab_zycbt129j-aliqir / 100 ).

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

    ELSE.

      itab_relat-vlmeir =

              ( itab_relat-vlmej /

              ( ( 100 - itab_zycbt129j-aliqir ) / 100 ) )

              * ( itab_zycbt129j-aliqir / 100 ).

* << Fim da inclusão

  ENDIF.

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

  ENDIF.

* << Fim da inclusão

  IF wa_zycbt007-fprovisao = 'C'.

    itab_relat-vlrprov  = itab_relat-vlmej - itab_zycbt129j-vlrprov.

    itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  ELSEIF wa_zycbt007-fprovisao = space.

    itab_relat-vlrprov  = itab_relat-vlmej.

    itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  ENDIF.

  itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  itab_relat-vlrprovir =

     itab_relat-vlrprov * ( itab_zycbt129j-aliqir / 100 ).

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

  itab_relat-ded_fat = itab_zycbt129j-ded_fat.

* << Fim da inclusão

  APPEND itab_relat.

  CLEAR itab_relat.

ENDFORM.

FORM seleciona_parametros_gerais.

  SELECT SINGLE * FROM /pws/zyglt009

              WHERE bukrs EQ s_bukrs.

  SELECT * FROM /pws/zycbt009

           INTO TABLE itab_zycbt009.

  SELECT * FROM /pws/zycbt010

           INTO TABLE itab_zycbt010.

...

 

...

          CONTINUE.

        ENDIF.

      ENDIF.

    ENDIF.

    CHECK itab_relat-f_encerrado IS INITIAL.

    IF ( NOT itab_relat-vlmej IS INITIAL AND

       NOT itab_relat-vlrprov IS INITIAL ) OR

       ( NOT itab_relat-vlmeir IS INITIAL AND

       NOT itab_relat-vlrprovir IS INITIAL ) OR

       itab_relat-tpcontab = 'T'.

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

        IF NOT itab_relat-ded_fat IS INITIAL.

          itab_relat-vlrprov = itab_relat-vlrprov - itab_relat-vlmeir.

          itab_relat-vlmej = itab_relat-vlmej - itab_relat-vlmeir.

          MODIFY itab_relat.

        ENDIF.

* << Fim da inclusão

      MOVE itab_relat TO wa_itab_relat.

      IF itab_relat-vlmetransf IS INITIAL.

        ADD itab_relat-vlmej TO v_vlmej_w.

        ADD itab_relat-vlmeir TO v_vlmeir_w.

        v_vlrprov_w = itab_relat-vlrprov.

      ELSE.

        ADD itab_relat-vlmetransf TO v_vlmej_w.

      ENDIF.

      PERFORM processa_subtotal_waers USING v_vlmej_w

                                            v_vlmeir_w

...

 

...

  itab_relat-kostl       = itab_zycbt129j-kostl.

  itab_relat-prctr       = itab_zycbt128-prctr.

  itab_relat-fipos       = itab_zycbt128-fipos.

  itab_relat-fictr       = itab_zycbt128-fictr.

  itab_relat-blart       = v_blart.

  itab_relat-c_sgtxt     = v_c_sgtxt.

  itab_relat-d_sgtxt     = v_d_sgtxt.

  itab_relat-tpemprest   = itab_zycbt128-tpemprest.

  itab_relat-dtfpar      = itab_pagas-dtfinal.

  itab_relat-aliqir      = itab_pagas-aliqir.

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

  IF itab_pagas-reajbase IS INITIAL.

* << Fim da inclusão

  itab_relat-vlmeir      =

         itab_relat-vlme * ( itab_relat-aliqir / 100 ).

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

  ELSE.

    itab_relat-vlmeir =

            ( itab_relat-vlmej /

            ( ( 100 - itab_relat-aliqir ) / 100 ) )

            * ( itab_relat-aliqir / 100 ).

  ENDIF.

  itab_relat-ded_fat = itab_pagas-ded_fat.

* << Fim da inclusão

  IF wa_zycbt007-fprovisao = 'C'.

    itab_relat-vlrprov  = itab_relat-vlmej - itab_zycbt129j-vlrprov.

    itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  ELSEIF wa_zycbt007-fprovisao = space.

    itab_relat-vlrprov  = itab_relat-vlmej.

    itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  ENDIF.

  itab_relat-vlrjprov = itab_zycbt129j-vlrprov.

  itab_relat-vlrprovir =

     itab_relat-vlrprov * ( itab_zycbt129j-aliqir / 100 ).

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBI113X

 

...

        vlrprov        LIKE /pws/zycbt129-vlrprov,

        vlrprovir      LIKE /pws/zycbt129-vlrprov,

        vlrjprov       LIKE /pws/zycbt129-vlrprov,

        vlrjprovir     LIKE /pws/zycbt129-vlrprov,

        aux(1)         TYPE c,

        vlpagj         LIKE /pws/zycbt154-vlme,

        vlpagir        LIKE /pws/zycbt154-vlme,

        vlpagc         LIKE /pws/zycbt154-vlme,

        dtfpar         LIKE sy-datum,

        nrdias_prov(5) TYPE n,

* >> Início da inclusão:

        ded_fat     LIKE /pws/zycbt129-ded_fat,

* << Fim da inclusão

      END OF itab_relat.

DATA: END OF COMMON PART.

 

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

Modificações efetuadas em REPS /PWS/ZYCBR113

 

...

DATA: BEGIN OF itab_pagas OCCURS 2,

       nrseq   LIKE /pws/zycbt113-nrseq,

       tpparc  LIKE /pws/zycbt113-tpparc,

       nrparc  LIKE /pws/zycbt113-nrparc,

       nrdias  LIKE /pws/zycbt113-nrdias,

       dtinicio LIKE /pws/zycbt113-dtinicio,

       dtfinal LIKE /pws/zycbt113-dtfinal,

       v_total LIKE /pws/zycbt113-vlme,

       dtpagto LIKE /pws/zycbt113-dtpagto,

       aliqir  LIKE /pws/zycbt129-aliqir,

* >> Início da inclusão:

       reajbase LIKE /pws/zycbt129-reajbase,

       ded_fat  LIKE /pws/zycbt129-ded_fat,

* << Fim da inclusão

      END OF itab_pagas.

DATA: wa_itab_relat LIKE itab_relat,

      wa_zycbt011 LIKE /pws/zycbt011,

      wa_zycbt007 LIKE /pws/zycbt007,

      v_contabilizado,

      v_cpochv    LIKE /pws/zycbe033-cpochv,

      v_codeven   LIKE /pws/zycbt011-codeven.

DATA: BEGIN OF wa_taxa_cambial,

        kursf LIKE tcurr-ukurs,

        ftme  LIKE tcurr-ffact,

...

 

...

    SELECT * FROM /pws/zycbt129

             INTO TABLE itab_zycbt129j

             FOR ALL ENTRIES IN itab_zycbt128

             WHERE nrseq = itab_zycbt128-nrseq

               AND dtinicio <= s_dtentr

               AND tpparc = 'J'

               AND status NE 'E' .

    IF wa_zycbt007-fprovisao <> 'C'.

      SELECT nrseq tpparc nrparc nrdias dtinicio dtfinal vlme dtpagto

             aliqir

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

             reajbase ded_fat

* << Fim da inclusão

              INTO TABLE itab_pagas

              FROM /pws/zycbt129

              FOR ALL ENTRIES IN itab_zycbt128

                      WHERE nrseq = itab_zycbt128-nrseq

                        AND tpparc = 'C'

                        AND dtinicio <= s_dtentr

                        AND dtpagto = '00000000'

                        AND status NE 'E'.

    ELSE.

      SELECT nrseq tpparc nrparc nrdias dtinicio dtfinal vlme dtpagto

             aliqir

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

             reajbase ded_fat

* << Fim da inclusão

              INTO TABLE itab_pagas

              FROM /pws/zycbt129

              FOR ALL ENTRIES IN itab_zycbt128

                      WHERE nrseq = itab_zycbt128-nrseq

                        AND tpparc = 'C'

                        AND dtinicio <= s_dtentr

                        AND status NE 'E'.

    ENDIF.

    SELECT * FROM /pws/zycbt031

             INTO TABLE itab_zycbt031

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR001

 

...

    dtinicio   LIKE /pws/zycbt113-dtinicio,

    dtfinal    LIKE /pws/zycbt113-dtfinal,

    txjfixa    LIKE /pws/zycbt113-txjfixa,

    txjvar     LIKE /pws/zycbt113-txjvar,

    txjtotal   LIKE /pws/zycbt113-txjtotal,

    aliqir     LIKE /pws/zycbt113-aliqir,

    vlme       LIKE /pws/zycbt113-vlme,

    vlir       LIKE /pws/zycbt113-vlir,

    txtinf     LIKE /pws/zycbt113-txtinf,

    bloq_juros TYPE /pws/zycbt113-bloq_juros,

* >> Início da inclusão:

    ded_fat    TYPE /pws/zycbt113-ded_fat,

* << Fim da inclusão

  END OF itab_zycbt113,

  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,

...

 

...

    APPEND itab_selreg.

  ENDLOOP.

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

ENDFORM.

FORM seleciona_financi.

  FREE itab_zycbt113.

  IF data-high IS INITIAL.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

           bloq_juros

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

           ded_fat

* << Fim da inclusão

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtfinal LE v_data

        AND status  NE 'E'

        AND tpparc  NE 'C'

        AND nrseq   IN financi.

  ELSE.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

           bloq_juros

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

           ded_fat

* << Fim da inclusão

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtfinal IN data

        AND status  NE 'E'

        AND tpparc  NE 'C'

        AND nrseq   IN financi.

  ENDIF.

  IF data-high IS INITIAL.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtvecto

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

           bloq_juros

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

           ded_fat

* << Fim da inclusão

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvecto LE v_data

        AND status  NE 'E'

        AND tpparc  EQ 'C'

        AND nrseq   IN financi.

  ELSE.

    SELECT nrseq tpparc nrparc nrfinanc dtinicio dtvecto

           txjfixa txjvar txjtotal aliqir vlme vlir txtinf

           bloq_juros

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

           ded_fat

* << Fim da inclusão

      APPENDING TABLE itab_zycbt113

      FROM /pws/zycbt113

      WHERE ( dtpagto  EQ '00000000' OR dtpagto EQ '        ' )

        AND dtvecto IN data

        AND status  NE 'E'

        AND tpparc  EQ 'C'

        AND nrseq   IN financi.

  ENDIF.

  IF NOT itab_zycbt113[] IS INITIAL.

    SELECT * FROM /pws/zycbt112 INTO TABLE itab_zycbt112

...

 

...

                  INTO v_tipo.

    ELSEIF itab_zycbt113-tpparc = 'C'.

      CONCATENATE itab_zycbt113-nrparc '/' v_nrparc '-' text-004

                  INTO v_tipo.

    ENDIF.

    CLEAR: v_me, v_usd, v_saldo.

    IF itab_zycbt113-tpparc <> 'P'.

      v_saldo = itab_zycbt113-vlme.

    ELSE.

      v_saldo = itab_zycbt113-vlme.

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

    ENDIF.

    IF itab_zycbt113-tpparc  EQ 'J' AND

       itab_zycbt113-ded_fat EQ 'X'.

      v_saldo = v_saldo - itab_zycbt113-vlir.

* << Fim da inclusão

    ENDIF.

    v_me    = v_saldo.

    MOVE:

      text-030                    TO itab_selreg-mod,

      itab_zycbt113-nrseq         TO itab_selreg-nrchave,

      itab_zycbt113-nrfinanc      TO itab_selreg-docto,

      '/PWS/ZYCBT113'             TO itab_selreg-tab,

      itab_zycbt113-tpparc        TO itab_selreg-tpparc,

      itab_zycbt113-nrparc        TO itab_selreg-nrparc,

      v_tipo                      TO itab_selreg-tipo,

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR003

 

...

    txjfixa    LIKE /pws/zycbt129-txjfixa,

    txjvar     LIKE /pws/zycbt129-txjvar,

    txjtotal   LIKE /pws/zycbt129-txjtotal,

    aliqir     LIKE /pws/zycbt129-aliqir,

    vlme       LIKE /pws/zycbt129-vlme,

    vlir       LIKE /pws/zycbt129-vlir,

    vliof      LIKE /pws/zycbt129-vliof,

    txtinf     LIKE /pws/zycbt129-txtinf,

    dtpagto    LIKE /pws/zycbt129-dtpagto,

    dtvencto   LIKE /pws/zycbt129-dtpagto,

* >> Início da inclusão:

    ded_fat    LIKE /pws/zycbt129-ded_fat,

* << Fim da inclusão

  END OF itab_zycbt129,

  BEGIN OF itab_zycbt124 OCCURS 100,

    nrseq     LIKE /pws/zycbt124-nrseq,

    nrfech    LIKE /pws/zycbt124-nrfech,

    bukrs     LIKE /pws/zycbt124-bukrs,

    dtvencto  LIKE /pws/zycbt124-dtvencto,

    bcofech   LIKE /pws/zycbt124-bcofech,

    waers     LIKE /pws/zycbt124-waers,

    vlme      LIKE /pws/zycbt124-vlme,

    vlir      LIKE /pws/zycbt124-vlir,

...

 

...

      itab_zycbt118-frggr     TO itab_selreg-frggr.

    APPEND itab_selreg.

  ENDLOOP.

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

ENDFORM.

FORM seleciona_emprestimo.

  IF data-high IS INITIAL.

    SELECT nrseq tpparc nrparc nremprest dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir vliof txtinf

           dtpagto dtvencto

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

           ded_fat

* << Fim da inclusão

      INTO TABLE itab_zycbt129

      FROM /pws/zycbt129

      WHERE ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

        AND dtvencto LE v_data

        AND status   NE 'E'

        AND nrseq    IN emprest.

  ELSE.

    SELECT nrseq tpparc nrparc nremprest dtinicio dtfinal

           txjfixa txjvar txjtotal aliqir vlme vlir vliof txtinf

           dtpagto dtvencto

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

           ded_fat

* << Fim da inclusão

      INTO TABLE itab_zycbt129

      FROM /pws/zycbt129

      WHERE ( dtpagto  EQ '00000000' OR dtpagto  EQ '        ' )

        AND dtvencto IN data

        AND status   NE 'E'

        AND nrseq    IN emprest.

  ENDIF.

  IF NOT itab_zycbt129[] IS INITIAL.

    SELECT * FROM /pws/zycbt128 INTO TABLE itab_zycbt128

      FOR ALL ENTRIES IN itab_zycbt129

...

 

...

    ELSE.

      CONTINUE.

    ENDIF.

    SELECT MAX( nrparc ) INTO (v_nrparc) UP TO 1 ROWS

      FROM /pws/zycbt129

      WHERE nrseq  EQ itab_zycbt129-nrseq

        AND tpparc EQ itab_zycbt129-tpparc.

    IF itab_zycbt129-tpparc = 'J'.

      CONCATENATE itab_zycbt129-nrparc '/' v_nrparc '-' text-003

                  INTO v_tipo.

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

      IF NOT itab_zycbt129-ded_fat IS INITIAL.

        itab_zycbt129-vlme = itab_zycbt129-vlme - itab_zycbt129-vlir.

      ENDIF.

* << Fim da inclusão

    ELSEIF itab_zycbt129-tpparc = 'P'.

      CONCATENATE itab_zycbt129-nrparc '/' v_nrparc '-' text-004

                  INTO v_tipo.

    ELSEIF itab_zycbt129-tpparc = 'C'.

      CONCATENATE itab_zycbt129-nrparc '/' v_nrparc '-' text-005

                  INTO v_tipo.

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

      IF NOT itab_zycbt129-ded_fat IS INITIAL.

        itab_zycbt129-vlme = itab_zycbt129-vlme - itab_zycbt129-vlir.

      ENDIF.

* << Fim da inclusão

    ENDIF.

    CLEAR: v_me, v_usd.

    v_me    = itab_zycbt129-vlme.

    MOVE:

      text-038                   TO itab_selreg-mod,

      itab_zycbt129-nrseq        TO itab_selreg-nrchave,

      itab_zycbt129-nremprest    TO itab_selreg-docto,

      '/PWS/ZYCBT129'            TO itab_selreg-tab,

      itab_zycbt129-tpparc       TO itab_selreg-tpparc,

      itab_zycbt129-nrparc       TO itab_selreg-nrparc,

...

 

 

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

Modificações efetuadas em TABD /PWS/ZYCBE113

 

Componente   TipoComponente

...

GEBER         BP_GEBER

EBELN         EBELN

COD_AREA      /PWS/ZYGLL891

BLOQ_JUROS    /PWS/ZYGLL1366

* >> Inicio da Inclusão: Componentes

REAJBASE      XFELD

DED_FAT       XFELD

* << Fim da inclusão

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

Modificações efetuadas em TABD /PWS/ZYCBE129

 

Componente   TipoComponente

...

BELNR_CI      BELNR_D

BUDAT_CI      /PWS/ZYCBL033

BELNR_CICL    BELNR_D

BUDAT_CICL    /PWS/ZYCBL033

* >> Inicio da Inclusão: Componentes

REAJBASE      XFELD

DED_FAT       XFELD

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCBT113

 

Componente   TipoComponente

...

GEBER         BP_GEBER

EBELN         EBELN

COD_AREA      /PWS/ZYGLL891

BLOQ_JUROS    /PWS/ZYGLL1366

* >> Inicio da Inclusão: Componentes

REAJBASE      XFELD

DED_FAT       XFELD

* << Fim da inclusão

 

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

Modificações efetuadas em TABD /PWS/ZYCBT129

 

Componente   TipoComponente

...

BELNR_CI      BELNR_D

BUDAT_CI      /PWS/ZYCBL033

BELNR_CICL    BELNR_D

BUDAT_CICL    /PWS/ZYCBL033

* >> Inicio da Inclusão: Componentes

REAJBASE      XFELD

DED_FAT       XFELD

* << Fim da inclusão