CE PLUS - Nota 003094

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Captação

Data/Hora da Publicação: 13/02/2007 00:00:00

Data/Hora Última Alteração: 10/03/2010 14:29:18

Descrição da Nota: CAPTAÇÃO - CALCULO JUROS DE CONTRATO NA PARCELA VIGENTE COM SLPAGAR

Sintoma

 

Criei um contrato de pré pagamento no valor de 500.000,00 com 5 parcelas de juros e 5 parcelas de

principal. 2) Paguei a 1ª parcela de juros sobre o total do contrato corretamente, mas ao entrar em

captação - modificar e dar um ENTER para o programa recalcular o valor da 2ª parcela de juros, ao

invés do valor de juros ficar igual a 6.944,44 (que é sobre 500.000,00), está continuando igual a

5.555,56 (sendo que ainda não liquidei nada do contrato). OBS: Esse valor de 5.555,56 foi gerado na

criação do contrato e está correto, mas ao entrar em captação - modificar como ainda não tenho

nenhuma liquidação para esse contrato, os juros devem ser calculados sobre o saldo do contrato.

 

Solução

 

Ajuste efetuado, para que o programa efetue o calculo do juros apenas na parcela vigente, para o

cenário de quando não existe vinculação e liquidação

Versões Tratadas

6.0

Informações Complementares

 

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

Nota Número 03094 Data: 13/02/2007 Hora: 17:46:21

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

 

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

Nota Número              : 03094

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00026

Agrupamento              : 00153

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

CAPTAÇÃO - CALCULO JUROS DE CONTRATO NA PARCELA VIGENTE COM SLPAGAR

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

Palavras Chave:

CAPTAÇÃO - CALCULO JUROS DE CONTRATO NA PARCELA VIGENTE COM SLPAGAR

 

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

Objetos da nota:

REPS /PWS/MZYCB001F01

REPS /PWS/MZYCB001I01

REPS /PWS/MZYCB001TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCB001F01

 

...

    CLEAR itab_zycbt002-vlme.

    IF itab_zycbt002-txjtotal > 0 AND

       v_dias > 0.

      itab_zycbt002-vlme = v_slpagar *

                           itab_zycbt002-txjtotal

                           / 100 * v_dias / v_nrdias.

    ENDIF.

    itab_zycbt002-vlme = itab_zycbt002-vlme + v_liquid.

  ELSE.

    v_calc = ' '.

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

    IF itab_zycbt002-nrdiasj IS INITIAL.

      itab_zycbt002-vlme =

         ( ( /pws/zycbe001-slpagar * ( itab_zycbt002-txjtotal / 100 ) )

              / itab_zycbt010-nrdias )

       * ( itab_zycbt002-dtfinal - itab_zycbt002-dtinicio ).

    ELSE.

      itab_zycbt002-vlme =

        ( ( /pws/zycbe001-slpagar * ( itab_zycbt002-txjtotal / 100 ) )

       / itab_zycbt010-nrdias ) * ( itab_zycbt002-nrdiasj ).

    ENDIF.

      IF sy-tcode eq c_transacao_a.

        v_calc = 'X'.

      ENDIF.

* << Fim da inclusão

  ENDIF.

ENDFORM.

FORM get_parameters3_002.

  DATA: v_dtinicio LIKE sy-datum,

        v_codeven LIKE /pws/zycbt011-codeven,

        v_nrdias  TYPE i,

        v_banco_c LIKE /pws/zycbt001-bconegoc.

  CLEAR wa_zycbt007.

  SELECT SINGLE * FROM /pws/zycbt007

                  INTO wa_zycbt007

...

 

...

    ENDIF.

  ENDIF.

  IF ( /pws/zycbe001-tpcontr(1) EQ 'P' OR

       /pws/zycbe001-tpcontr(1) EQ 'S' ) AND

     /pws/zycbe001-ffrcalc EQ 'C'    AND

     itab_zycbt002-fjur    EQ ' ' .

    IF itab_zycbt002-belnr   NE  ' ' .

      v_calc = 'X'.

    ELSE.

      v_calc = 'X'.

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

      v_cambiais = 'X'.

* << Fim da inclusão

      PERFORM calcj_pre_cambiais.

    ENDIF.

  ENDIF.

  IF v_calc EQ ' '.

    IF itab_zycbt002-dtpagto IS INITIAL.

      IF NOT itab_zycbt002-txjtotal IS INITIAL.

        IF NOT itab_zycbt002-tptxjur IS INITIAL.

          READ TABLE itab_zycbt010

               WITH KEY tptxjur = itab_zycbt002-tptxjur.

          IF NOT itab_zycbt010-nrdias IS INITIAL.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001I01

 

...

MODULE atualiza_zyglt209 INPUT.

  LOOP AT itab_zyglt209.

    MOVE: /pws/zygle209-bcofav TO itab_zyglt209-bcofav.

    MODIFY itab_zyglt209.

  ENDLOOP.

ENDMODULE.

MODULE dias_juros INPUT.

  IF sy-dynnr EQ '0102'.

    PERFORM pt_linear.

    LOOP AT itab_zycbt002.

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

      IF v_cambiais = 'X' AND sy-tcode eq c_transacao_a.

        CLEAR v_cambiais.

        EXIT.

      ENDIF.

* << Fim da inclusão

      IF itab_zycbt002-escalonado NE 'X'.

        PERFORM dias_juros.

      ENDIF.

      MODIFY itab_zycbt002.

      v_dtfinal = itab_zycbt002-dtfinal.

      IF v_dtfinal IS INITIAL.

        v_dtfinal = v_dtaux.

      ENDIF.

      IF itab_zycbt002-nrdias EQ '00000' AND

        itab_zycbt002-dtinicio = itab_zycbt002-dtfinal.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB001TOP

 

...

  v_juros            LIKE /pws/zycbt002-vlme,

  v_resposta,

  v_salvo(1),

  v_aviso(1),

  v_del2(1),

  v_del3(1),

  v_del4(1),

  v_del5(1),

  v_erro_bi(1),

  v_calc(1),

* >> Início da inclusão:

  v_cambiais(1),

* << Fim da inclusão

  v_pagto(1),

  v_beln             LIKE /pws/zycbt004-belnr,

  v_altcanc(1),

  v_altliq(1),

  v_numseq           LIKE /pws/zycbt091-nrseql,

  v_altval(1),

  v_vlliq_me         LIKE /pws/zycbt091-vlme,

  v_vlliq_mi         LIKE /pws/zycbt091-vlmi,

  v_juros_ok(1),

  v_parc_ant         LIKE /pws/zycbt091-nrseql,

...