Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 03/10/2007 00:00:00
Data/Hora Última Alteração: 03/03/2010 17:19:20
Descrição da Nota: ROTINA MENSAL - ERRO NO CALCULO
Sintoma
Ao rodar uma rotina mensal para mais de 1 contrato de emprestimo, o programa não apresenta a linha
de diferença a provisionar do ultimo contrato e considera o valor relacionado na linha de total a
provisionar de todos os contratos para o ultimo e contabiliza este valor.
Solução
foi adicionado uma verificação para que o programa considere o numero do contrato para somar as
parcelas.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04894 Data: 03/10/2007 Hora: 15:05:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04894
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00015
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ROTINA MENSAL - ERRO NO CALCULO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL - ERRO NO CALCULO DE JUROS E COMISSÃO EMPREST.
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI113
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI113
...
INTO TABLE itab_zycbt010.
IF NOT itab_zycbt128[] IS INITIAL.
SELECT * FROM tcurx
INTO TABLE itab_tcurx
FOR ALL ENTRIES IN itab_zycbt128
WHERE currkey = itab_zycbt128-waers.
ENDIF.
ENDFORM.
FORM exibe_relatorio.
DATA: v_parcela LIKE /pws/zycbt113-nrparc,
* >> Início da inclusão: FORM EXIBE_RELATORIO
v_last_nrseq TYPE /pws/zycbt128-nrseq,
* << Fim da inclusão
v_tpcontab TYPE c.
PERFORM exibe_cabecalho_relatorio.
SORT itab_relat BY tpcontab
nrseq nrparcj nrparcp nremprest.
CLEAR v_tabix.
LOOP AT itab_relat.
v_tabix = v_tabix + 1.
CLEAR: v_vlpagj2, v_vlpagir2, v_vlpagc2, v_quebra.
IF itab_relat-tpcontab <> 'C' AND wa_zycbt007-fprovisao = 'C'.
READ TABLE itab_zycbt031 WITH KEY nrcorresp = itab_relat-nrseq
...
...
itab_relat-vlmeir CURRENCY itab_relat-waers,
itab_relat-kursf NO-ZERO.
WRITE: itab_relat-nrseq.
IF NOT itab_relat-vlmetransf IS INITIAL.
WRITE: text-015.
ELSEIF itab_relat-tpcontab = 'C'.
WRITE: text-092, itab_relat-tpemprest.
ENDIF.
WRITE: AT v_tamr sy-vline.
v_waers = itab_relat-waers.
* >> Início da inclusão: FORM EXIBE_RELATORIO
v_last_nrseq = wa_itab_relat-nrseq.
* << Fim da inclusão
MOVE itab_relat TO wa_itab_relat.
AT END OF nrparcj.
* >> Início da inclusão: FORM EXIBE_RELATORIO
IF v_last_nrseq EQ wa_itab_relat-nrseq.
* << Fim da inclusão
PERFORM quebra USING wa_itab_relat.
v_quebra = 'X'.
* >> Início da inclusão: FORM EXIBE_RELATORIO
ENDIF.
* << Fim da inclusão
ENDAT.
AT END OF nrseq.
IF v_quebra IS INITIAL.
PERFORM quebra USING wa_itab_relat.
ENDIF.
ENDAT.
IF NOT v_faux IS INITIAL.
CLEAR v_faux.
IF itab_relat-f_encerrado = 'I'.
IF NOT v_vlmej IS INITIAL.
...