CE PLUS - Nota 005088

Módulo: CÂMBIO IMPORTAÇÃO

Funcionalidade: Re-Financiamento

Data/Hora da Publicação: 26/10/2007 00:00:00

Data/Hora Última Alteração: 18/02/2011 09:51:50

Descrição da Nota: REFINANCIAMENTO - FINANCIAMENTO - BLOQUEIO JUROS/COMISSÃO

Sintoma

- Quando refinanciar mais de uma parcela de principal de um mesmo financiamento, atualizar documento

de pagamento de todas parcelas refinanciadas.

- Criar opção de bloqueio de juros/comissão para que não efetue pagamento do mesmo quando o

financiamento tiver sido refinanciado.

 

 

Solução

Efetuar desenvolvimento gravando os dados das parcelas de principal e criando campo para bloquear

pagamento de juros/comissão, quando o mesmo for de financiamento refinanciado. Consistências nos

programas de financiamento, rotina mensal importação e rotina de pagamento(processar boleto)

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR

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

IMPORTAÇÃO FIANCIAMENTO

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

FINANCIAMENTO - RELATÓRIO DE MENSAGENS DE CONTABILIZAÇÃO

Informações Complementares

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

Nota Número 05088 Data: 26/10/2007 Hora: 11:01:05

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

 

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

Nota Número              : 05088

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00018

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

Referência às notas relacionadas:

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

 

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

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

02946  - 00003 - 6.0    - 00026  - PARÂMETRO /PWS/ZYGL007 CFM SIM - DUMP VERSÃO 4.7 OU SUPERIOR

04735  - 00004 - 7.0    - 00002  - FINANCIAMENTO - RELATÓRIO DE MENSAGENS DE CONTABILIZAÇÃO

04805  - 00005 - 7.0    - 00003  - IMPORTAÇÃO FIANCIAMENTO

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

REFINANCIAMENTO - FINANCIAMENTO - BLOQUEIO JUROS/COMISSÃO

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

Palavras Chave:

REFINANCIAMENTO FINANCIAMENTO BLOQUEIO JUROS COMISSÃO ROTINA PAGAMENTO

DOCUMENTO PRICIPAL FINANCIAMENTO ORIGEM ROTINA MENSAL PROCESSAR BOLETO

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

Objetos da nota:

DTEL /PWS/ZYGLL1366

REPS /PWS/MZYCM101F01

REPS /PWS/ZYCBR112

REPS /PWS/ZYGLR001

REPT /PWS/SAPMZYCM101

TABD /PWS/ZYCBE113

TABD /PWS/ZYCBT113

 

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

Modificações efetuadas em DTEL /PWS/ZYGLL1366

 

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

Elemento de dados incluído: /PWS/ZYGLL1366

Classe de desenvolvimento: /PWS/ZYGL

Idioma original: PT

Descrição breve incluída: (52 caracteres), idioma: PT

"GL - Bloqueio Pagto Juros Financiamento Refinanciado"

Categoria de dados: Domínio

Domínio: XFELD

ID parâmetro:

Nome componente default:

Documentar modificações: NÃO

Nome da ajuda de pesquisa:

Parâmetro da ajuda de pesquisa:

Comprimento máximo do denominador breve: 10

Denominador breve incluído (10 caracteres), idioma: PT

"Bloq.Pg.Ju"

Comprimento máximo do denominador médio: 20

Denominador médio incluído (20 caracteres), idioma: PT

"Bloqueio Pagto Juros"

Comprimento máximo do denominador longo: 40

Denominador longo incluído (40 caracteres), idioma: PT

"Bloqueio Pagto Juros Financ.Refinanciado"

Comprimento máximo do título: 52

Título incluído (52 caracteres), idioma: PT

"GL - Bloqueio Pagto Juros Financiamento Refinanciado"

 

 

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

Modificações efetuadas em REPS /PWS/MZYCM101F01

 

...

  SELECT MAX( nrseq ) INTO (v_nrseqc)

         FROM /pws/zycbt112

         WHERE nrseq < text-118

           AND nrseq LIKE v_ano.

  v_count = v_nrseqc+0(8) + 1.

  CONCATENATE v_count sy-datum+2(2) INTO /pws/zycbe112-nrseq.

  v_nrseqc     = /pws/zycbe112-nrseq.

  v_nrseqcview = /pws/zycbe112-nrseq.

ENDFORM.

FORM save_changes.

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

  DATA: v_tabix LIKE sy-tabix,

        v_min   LIKE v_soma_vlme,

* << Fim da exclusão

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

  DATA: v_min   LIKE v_soma_vlme,

* << Fim da inclusão

        wa_mensagem LIKE LINE OF itab_mensagem,

        v_comissao(01) TYPE c.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

                  WHERE bukrs EQ /pws/zycbe112-bukrs.

  v_soma_vlme = 0.

  v_min = 5 / 100.

  LOOP AT itab_zycbt113c.

    v_soma_vlme = v_soma_vlme + itab_zycbt113c-vlme.

...

 

...

                   FROM /pws/zycbt112

                   INTO wa_zycbt112_log

                   WHERE nrseq = itab_zycbt112-nrseq.

            PERFORM monta_log_cfm USING    wa_zycbt112_log

                                          '/PWS/ZYCBT112'

                                  CHANGING wa_log.

            PERFORM grava_log USING '/PWS/ZYCBT112'

                                    wa_log

                                    'A'.

          ENDIF.

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

          LOOP AT itab_zycbt116 WHERE nrfinanc = itab_zycbt112-nrseq.

* << Fim da inclusão

          UPDATE /pws/zycbt113 SET belnr_p =  itab_zycbt032-belnr

                         WHERE  nrseq   = itab_zycbt112-nrseq

                            AND tpparc  = 'P'

                            AND nrparc  = itab_zycbt116-nrparc.

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

          ENDLOOP.

* << Fim da inclusão

          IF wa_zycbt007-cfm = 'X'.

            SELECT SINGLE *

                   FROM /pws/zycbt113

...

 

...

  PERFORM verify_null_field USING v_newkof

                                  'C_NEWKO'

                                  text-018.

ENDFORM.

FORM gera_novas_parcelas.

  DATA : v_flag.

  DATA:

    wa_mensagem LIKE LINE OF itab_mensagem.

  CLEAR : v_flag, v_nrdias.

  LOOP AT itab_zycbt113p .

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

    v_tabix = sy-tabix.

* << Fim da inclusão

    PERFORM get_parameters_112.

    IF itab_zycbt113p-dtpagto NE ' ' AND

       itab_zycbt113p-dtpagto NE '00000000'.

      CONTINUE.

    ENDIF.

    READ TABLE itab_zycbt113pa WITH KEY nrparc = itab_zycbt113p-nrparc.

    IF itab_zycbt113p-vlme EQ itab_zycbt113pa-vlme AND

       itab_zycbt113p-dtvecto EQ itab_zycbt113pa-dtvecto AND

       itab_zycbt113p-belnr EQ itab_zycbt113pa-belnr.

      IF v_mdparc EQ 'X'.

...

 

...

          ELSE.

            itab_zycbt113p-ftransf = 'S'.

          ENDIF.

          MODIFY itab_zycbt113p.

          UPDATE /pws/zycbt113 SET belnr    = itab_zycbt032-belnr

                              belnr_lp = itab_zycbt113p-belnr_lp

                              ftransf  = itab_zycbt113p-ftransf

                        WHERE nrseq    = /pws/zycbe112-nrseq

                          AND nrparc   = itab_zycbt113p-nrparc

                          AND tpparc   = 'P'.

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

          DESCRIBE TABLE itab_zycbt113p LINES v_li.

          IF v_li = v_tabix.

            CALL FUNCTION 'POPUP_TO_CONFIRM_STEP'

                 EXPORTING

                      defaultoption  = ''

                      textline1      = text-125

                      textline2      = text-126

                      titel          = text-124

                      cancel_display = ''

                 IMPORTING

                      answer         = v_answer

                 EXCEPTIONS

                      OTHERS         = 1.

            IF v_answer EQ 'J'.

              UPDATE /pws/zycbt113 SET   bloq_juros = 'X'

                                   WHERE nrseq  = itab_zycbt112-nrseq

                                     AND ( tpparc = 'J' or tpparc = 'C' ).

            ENDIF.

          ENDIF.

* << Fim da inclusão

        ELSE.

          LOOP AT itab_zycbt032.

            wa_mensagem-tpmsg = c_erro.

            wa_mensagem-msg = itab_zycbt032-msg.

            APPEND wa_mensagem TO itab_mensagem.

          ENDLOOP.

          CLEAR itab_zycbt113p-belnr.

          MODIFY itab_zycbt113p.

          UPDATE /pws/zycbt113 SET belnr    = ' '

                              belnr_lp = ' '

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCBR112

 

...

 

             AND tpparc = 'P'

             AND status NE 'E'.

 

    SELECT nrseq tpparc nrparc nrdias dtinicio dtfinal vlme dtpagto

           kostl ps_posid

            INTO TABLE itab_pagas

            FROM /pws/zycbt113

            FOR ALL ENTRIES IN itab_zycbt112

                    WHERE nrseq = itab_zycbt112-nrseq

                      AND tpparc = 'C'

                      AND dtinicio <= s_dtentr

                      AND ( dtpagto = '00000000' OR dtpagto = space )

                      AND status NE 'E'

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

                      AND status NE 'E'.

* << Fim da exclusão

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

                      AND status NE 'E'

                      AND bloq_juros NE 'X'.

* << Fim da inclusão

 

  ELSE.

   "Precisa selecionar todas parcelas para consistência da transferência

    SELECT * FROM /pws/zycbt113

             INTO TABLE itab_zycbt113p

...

 

...

 

    SELECT nrseq tpparc nrparc nrdias dtinicio dtfinal vlme dtpagto

           kostl

           ps_posid

            INTO TABLE itab_pagas

            FROM /pws/zycbt113

            FOR ALL ENTRIES IN itab_zycbt112

                    WHERE nrseq = itab_zycbt112-nrseq

                      AND tpparc = 'C'

                      AND dtinicio <= s_dtentr

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

                      AND status NE 'E'.

* << Fim da exclusão

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

                      AND status NE 'E'

                      AND bloq_juros NE 'X'.

* << Fim da inclusão

.

  ENDIF.

  SELECT * FROM /pws/zycbt113

           INTO TABLE itab_zycbt113j

           FOR ALL ENTRIES IN itab_zycbt112

           WHERE nrseq = itab_zycbt112-nrseq

             AND tpparc = 'J'

             AND dtinicio <= s_dtentr

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

             AND status NE 'E'.

* << Fim da exclusão

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

             AND status NE 'E'

             AND bloq_juros NE 'X'.

* << Fim da inclusão

  PERFORM seleciona_parametros_gerais.

  PERFORM get_parameters_001.

ENDFORM.

FORM processa_dados.

  PERFORM processa_financiamento.

  IF wa_zycbt007-ftransf = 'X'.

    PERFORM processa_transfer_longo_curto.

  ENDIF.

  PERFORM calcula_comissao.

  IF itab_relat[] IS INITIAL AND

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYGLR001

 

...

    nrfinanc   LIKE /pws/zycbt113-nrfinanc,

    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,

* >> Início da inclusão:

    bloq_juros type /pws/zycbt113-bloq_juros,

* << 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,

...

 

...

      itab_zycbt118-frggr     TO itab_selreg-frggr.

    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

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

           bloq_juros

* << 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

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

           bloq_juros

* << 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

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

           bloq_juros

* << 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

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

           bloq_juros

* << 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

      FOR ALL ENTRIES IN itab_zycbt113

      WHERE nrseq  EQ itab_zycbt113-nrseq

        AND bukrs  IN empresa

        AND status NE 'E'

        AND waers  IN moeda

        AND lifnr  IN fornece.

  ENDIF.

  LOOP AT itab_zycbt113.

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

    IF ( itab_zycbt113-tpparc = 'J' or itab_zycbt113-tpparc = 'C' )

       AND itab_zycbt113-bloq_juros = 'X'.

      CONTINUE.

    ENDIF.

* << Fim da inclusão

    CLEAR itab_selreg.

    READ TABLE itab_zycbt112 WITH KEY nrseq = itab_zycbt113-nrseq.

    IF sy-subrc             EQ 0       AND

       itab_zycbt112-bukrs  IN empresa AND

       itab_zycbt112-status NE 'E'     AND

       itab_zycbt112-waers  IN moeda   AND

       itab_zycbt112-lifnr  IN fornece.

    ELSE.

      CONTINUE.

    ENDIF.

...

 

 

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

Modificações efetuadas em REPT /PWS/SAPMZYCM101

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 124

 

Texto: (22 caracteres)

"Salvar Refinanciamento"

 

Comprimento máximo: 22

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 125

 

Texto: (48 caracteres)

"Deseja bloquear o pagamento de juros/comissão do"

 

Comprimento máximo: 48

 

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

Incluído símbolo de texto:

 

Idioma: PT

 

Símbolo: 126

 

Texto: (23 caracteres)

"financiamento original?"

 

Comprimento máximo: 23

 

 

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

Modificações efetuadas em TABD /PWS/ZYCBE113

 

MODIFICAR ESTRUTURA: /PWS/ZYCBE113

DESCRIÇÃO BREVE: CM - Período (Principal, Juros e Comissão)

 

COMPONENTES NOVOS

 

COMPONENTE:     TP. COMP:      TAB.REF.:       CPO.REF.:    AJUD. PESQU.

BLOQ_JUROS      /PWS/ZYGLL1366

 

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

Modificações efetuadas em TABD /PWS/ZYCBT113

 

MODIFICAR TABELA TRANSPARENTE: /PWS/ZYCBT113

DESCRIÇÃO BREVE: CM - Período (Principal, Juros e Comissão)

 

CARACTERÍSTICAS

 

CAMPOS NOVOS

 

CAMPOS:         TP. CAMPO       CH: INI: TAB.VERIF.:    TAB.REF.:     CPO.RE

 

BLOQ_JUROS      /PWS/ZYGLL1366  ''  ''