Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação de Fatura
Data/Hora da Publicação: 30/08/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:19:22
Descrição da Nota: LIQUIDAÇÃO COM ARBITRAGEM - CALCULO PROVISÃO JUROS
Sintoma
Nos calculos de Juros dos contratos de ACC de Arbitragem - Ao concluir a liquidação de uma captação
de JPY, cujo a liquidação é feita com faturas em USD o programa está calculando e provisionando
errado o valor dos juros considerando casas decimais e aumentando algarismos no número inteiro.
Solução
Verifica na tabela tcurx as casas decimais da moeda e fazer o calculo que corrige os zeros a mais ou
a menos, assim calcua corretamente a provisão de juros. Alterar os campos da tela referente a este
juros, para exibir corretamente de acordo com a moeda.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02011 Data: 30/08/2006 Hora: 14:58:56
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02011
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00024
Agrupamento : 00129
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO COM ARBITRAGEM - CALCULO PROVISÃO JUROS
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO COM ARBITRAGEM CALCULO PROVISÃO JUROS
JPY
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB004 0100
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB004F03
REPS /PWS/MZYCB004I01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB004 0100
MODIFICAR CAMPO da table control TC_FATURAS: /PWS/ZYCBE006-VLJUR_ACC
NOME : DE: /PWS/ZYCBE006-VLJUR_ACC PARA: V_VLJUR_ACC
CPO. REF. DE: /PWS/ZYCBE006-WAERS PARA: V_WAERS_C
MODIFICAR CAMPO da table control TC_FATURAS: /PWS/ZYCBE006-VLJUR_ACE
NOME : DE: /PWS/ZYCBE006-VLJUR_ACE PARA: V_VLJUR_ACE
CPO. REF. DE: /PWS/ZYCBE006-WAERS PARA: V_WAERS_C
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
...
ENDIF.
ENDIF.
LOOP AT itab_zycbt005.
itab_zycbt005-vlme = itab_zycbt005-slpagar.
IF itab_zycbt005-waers NE itab_zycbt005-waers_c.
* >> Início da exclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme = itab_zycbt005-vlme / itab_zycbt005-parid.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ITAB_ZYCBT005
itab_zycbt005-vlme =
( itab_zycbt005-vlme / itab_zycbt005-parid ) * 100.
* << Fim da inclusão
PERFORM verifica_casas_decimais
USING
itab_zycbt005-vlme
itab_zycbt005-waers
itab_zycbt005-waers_c
...
...
IF sy-tcode EQ c_transacao_c.
IF wa_zycbt007-fltxt = 'X'.
v_ftxt = 'X'.
ENDIF.
ENDIF.
* >> Início da exclusão: FORM CARREGA_ZYCBE006
MOVE: itab_zycbt005-vljur_acc TO /pws/zycbe006-vljur_acc,
itab_zycbt005-vljur_ace TO /pws/zycbe006-vljur_ace.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ZYCBE006
MOVE: itab_zycbt005-vljur_acc TO v_vljur_acc,
itab_zycbt005-vljur_ace TO v_vljur_ace.
* << Fim da inclusão
PERFORM move_zycbe006.
/pws/zycbe006-nrinvoic = itab_zycbt005-nrinvoic.
/pws/zycbe006-nrparcf = itab_zycbt005-nrparcf.
/pws/zycbe006-gsberf = itab_zycbt005-gsberf.
/pws/zycbe006-dtvencto = itab_zycbt005-dtvencto.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
v_index = sy-tabix.
IF itab_zycbt005_t-waers EQ itab_zycbt005_t-waers_c.
v_calc_jur = itab_zycbt005_t-vlme.
ELSE.
v_calc_jur = itab_zycbt005_t-vlme * itab_zycbt005_t-parid.
* >> Início da inclusão: FORM PROVISIONA_DIFERENCA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005_t-waers_c.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
v_calc_jur = v_calc_jur * ( 10 ** ( tcurx-currdec - 2 ) ).
* << Fim da inclusão
ENDIF.
PERFORM seta_data_juros.
IF v_dt_pgt = 'X'.
v_dtcalcjur = /pws/zycbe006-dtpagext.
ELSEIF v_dtliq = 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F03
...
v_decimais_c = 2.
ENDIF.
CHECK v_decimais NE v_decimais_c.
IF v_decimais EQ 0.
p_valor_aj = p_valor / 100.
* >> Início da exclusão: FORM VERIFICA_CASAS_DECIMAIS
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_CASAS_DECIMAIS
ELSEIF v_decimais NE 2.
* << Fim da inclusão
p_valor_aj = p_valor * 100.
ENDIF.
ENDFORM.
FORM executa_exit_p
USING value(p_exit) LIKE /pws/zyglt100-zexit.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004I01
...
ENDCASE.
ENDIF.
CLEAR itab_zycbt005-v_vljur.
CLEAR v_zycbe005.
MOVE-CORRESPONDING itab_zycbt005 TO v_zycbe005.
* >> Início da inclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers_c.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
v_calc_jur = v_calc_jur *
( 10 ** ( tcurx-currdec - 2 ) ).
* << Fim da inclusão
IF NOT /pws/zycbe001-ffrcalc IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_CALCULA_JUROS'
EXPORTING
zycbe005 = v_zycbe005
data_fim = v_dtcalcjur
...
...
WHEN 2.
MESSAGE i015 WITH text-168.
ENDCASE.
ENDIF.
ENDIF.
* >> Início da exclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers.
* << Fim da exclusão
* >> Início da inclusão: MODULE CALCULA_JUROS
SELECT SINGLE * FROM tcurx WHERE currkey = itab_zycbt005-waers_c.
* << Fim da inclusão
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
itab_zycbt005-v_vljur = itab_zycbt005-v_vljur *
( 10 ** ( tcurx-currdec - 2 ) ).
...