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