Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 11/07/2011 00:00:00
Data/Hora Última Alteração: 12/07/2011 10:42:26
Descrição da Nota: ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZAÇÃO
Sintoma
O programa estava exibindo valores incorretos na somatória do valor MI por contrato e tipo de
contrato.
Na contabilização da provisão de juros o sistema está levando a taxa de pagamento para a conversão
do valor MI
Solução
O programa foi ajustado para considerar a taxa correta para efetuar a somatória
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 11308 Data: 11/07/2011 Hora: 10:02:35
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 11308
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00008
Agrupamento : 00076
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01054 - 00001 - 6.0 - 00023 - ROTINA MENSAL COM TRANSFERÊNCIA DE LONGO PARA CURTO, GERAVA F-30
01309 - 00002 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO CONTABILIZAÇÃO SEPARADA DE ACC E ACE = S
01441 - 00003 - 6.0 - 00023 - ROTINA MENSAL EXPORTAÇÃO - VALOR MI SUBTOTAL E TOTAL
04627 - 00004 - 7.0 - 00002 - ROTINA MENSAL EM JPY
04930 - 00005 - 7.0 - 00003 - CODE INSPECTOR(ROTINA MENSAL)
05063 - 00006 - 7.0 - 00003 - ROTINA MENSAL EXPORTAÇÃO - NÃO GERA CONTABILIZAÇÃO
05316 - 00007 - 7.0 - 00003 - ROTINA MENSAL EXPORTAÇÃO - SEPARAÇÃO ACC/ACE - CONTABILIZAÇÃO
09009 - 00008 - 8.0 - 00001 - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL -DUPLICIDADE LP/CP-EXIT
10485 - 00009 - 8.0 - 00004 - ROTINA MENSAL EXPORTAÇÃO - ESTORNO MENSAL - DUPLICIDADE PROVISÕES
10636 - 00010 - 8.0 - 00005 - ROTINA MENSAL EXP-CLEARING-ERRO JUROS ACC X PRÉ E SEPARAÇÃO ACC/A
----------------------------------------------------------------------------------------------------
ROTINA MENSAL - SOMATÓRIA VALOR MI, TAXA DA OB08 PARA CONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL - SOMATÓRIA VALOR MI - TAXA DA OB08 PARA CONTABILIZAÇÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI003
REPS /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI003
...
v_vlirprov like /pws/zycbt154-vlme,
v_faux,
v_waers like /pws/zycbt001-waers,
v_nrdias(8) type n,
v_tjuros like /pws/zycbt004-vlme,
v_primeiro type c,
v_conta_dif type c,
v_vlmej2 like /pws/zycbt001-vlme,
v_vlmeir2 like /pws/zycbt001-vlme,
v_conta_dif_parametro type c.
* >> Início da inclusão: FORM EXIBE_RELATORIO
data: v_vlmij_contr type /pws/zycbt001-vlme.
* << Fim da inclusão
data: begin of itab_sub_tipo occurs 5,
tpcontab(02) type c,
tpcontr like /pws/zycbt001-tpcontr,
waers like /pws/zycbt001-waers,
vlmej like /pws/zycbt001-vlme,
vlme_mes like /pws/zycbt001-vlme,
vlmeir like /pws/zycbt001-vlme,
vlmij like /pws/zycbt001-vlmi,
vlmi_mes like /pws/zycbt001-vlmi,
end of itab_sub_tipo.
...
...
itab_relat-vlirprov = v_vlmeir2 - v_vlirprov.
modify itab_relat index v_sytabix
transporting vlrprov vlirprov.
clear: v_vlmej2, v_vlmeir2.
endif.
endif.
if not v_conta_dif_parametro is initial.
clear: v_vlmej2, v_vlmeir2.
endif.
endat.
* >> Início da inclusão: FORM EXIBE_RELATORIO
perform calcula_vlmi using aux_relat-tpcontr
aux_relat-waers
aux_relat-vlmej
aux_relat-txc
changing v_vlmij.
v_vlmij_contr = v_vlmij_contr + v_vlmij.
* << Fim da inclusão
at end of nrseqc.
if itab_relat-tpcontab is initial or
itab_relat-tpcontab eq 'PR' or
( itab_relat-tpcontab eq 'C' and
wa_zycbt007-fprovisao ne 'C' ).
v_faux = 'X'.
sum.
clear v_tjuros.
loop at itab_zycbt004 where nrseqc = aux_relat-nrseqc
and tpdesp(1) = 'J'.
...
...
else.
itab_relat-vlirprov = itab_relat-vlmeir.
itab_relat-vlrprov = itab_relat-vlmej.
modify itab_relat index v_sytabix transporting
vlrprov vlirprov.
endif.
move itab_relat-vlmej to v_vlmej.
move itab_relat-vlmij to v_vlmij.
move itab_relat-vlmeir to v_vlmeir.
uline.
* >> Início da exclusão: FORM EXIBE_RELATORIO
perform calcula_vlmi using aux_relat-tpcontr
aux_relat-waers
v_vlmej
v_txc
changing v_vlmij.
* << Fim da exclusão
* >> Início da inclusão: FORM EXIBE_RELATORIO
read table itab_tcurx with key currkey = aux_relat-waers.
if sy-subrc eq 0 and
itab_tcurx-currdec eq 0.
v_vlmij = v_vlmij_contr /
( 10 ** ( itab_tcurx-currdec - 2 ) ).
else.
itab_tcurx-currdec = 2.
endif.
* << Fim da inclusão
format color col_normal intensified on.
write: / sy-vline,
text-106,
172 v_vlmej currency v_waers,
v_waers,
(16) v_vlmij currency wa_zycbt007-waersb.
write: 225 v_vlmeir currency v_waers no-zero.
write: at v_tamr sy-vline.
format color off.
format color col_normal intensified off.
...
...
172 itab_relat-vlrprov currency v_waers,
v_waers,
225 itab_relat-vlirprov currency v_waers no-zero.
write: at v_tamr sy-vline.
format color off.
uline.
endif.
clear v_primeiro.
perform exibe_top_relatorio.
clear: v_vlmej2, v_vlmeir2.
* >> Início da inclusão: FORM EXIBE_RELATORIO
clear v_vlmij_contr.
* << Fim da inclusão
endat.
if not v_faux is initial.
clear v_faux.
if itab_relat-f_encerrado = 'I'.
if not v_vlmej is initial.
move-corresponding itab_relat to itab_msg.
itab_msg-tpmsg = 'W'.
write v_vlmej to v_vlmejc currency itab_relat-waers.
concatenate text-015 v_vlmejc into itab_msg-msg.
append itab_msg.
...
...
if itab_relat-tpcontab is initial.
itab_sub_tipo-tpcontab = itab_relat-tpcontab.
itab_sub_tipo-tpcontr = itab_relat-tpcontr.
itab_sub_tipo-waers = itab_relat-waers.
itab_sub_tipo-vlmej = itab_relat-vlmej.
itab_sub_tipo-vlme_mes = itab_relat-vlme_mes.
if <fs_itab_relat> is assigned.
perform calcula_vlmi using <fs_itab_relat>-tpcontr
<fs_itab_relat>-waers
itab_relat-vlmej
* >> Início da exclusão: FORM EXIBE_RELATORIO
<fs_itab_relat>-txc
* << Fim da exclusão
* >> Início da inclusão: FORM EXIBE_RELATORIO
itab_relat-txc
* << Fim da inclusão
changing itab_sub_tipo-vlmij.
else.
itab_sub_tipo-vlmi_mes = itab_relat-vlmi_mes.
endif.
itab_sub_tipo-vlmeir = itab_relat-vlmeir.
collect itab_sub_tipo.
itab_total-tpcontab = itab_relat-tpcontab.
itab_total-waers = itab_relat-waers.
itab_total-vlmej = itab_relat-vlmej.
if <fs_itab_relat> is assigned.
perform calcula_vlmi using <fs_itab_relat>-tpcontr
<fs_itab_relat>-waers
itab_relat-vlmej
* >> Início da exclusão: FORM EXIBE_RELATORIO
<fs_itab_relat>-txc
* << Fim da exclusão
* >> Início da inclusão: FORM EXIBE_RELATORIO
itab_relat-txc
* << Fim da inclusão
changing itab_total-vlmij.
else.
itab_total-vlmij = itab_relat-vlmij.
endif.
itab_total-vlmeir = itab_relat-vlmeir.
itab_total-vlme_mes = itab_relat-vlme_mes.
itab_total-vlmi_mes = itab_relat-vlmi_mes.
collect itab_total.
if wa_zycbt007-fprovisao is initial.
if itab_relat-tpcontr(1) eq 'A'.
...
...
changing value(v_vlrjprov).
if wa_itab_relat-tpcontab = 'T' and p_vlmej is initial.
exit.
endif.
move-corresponding wa_itab_relat to itab_contabil.
itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.
if wa_itab_relat-tpcontr(1) = 'P' or
wa_itab_relat-tpcontr(1) = 'S'.
itab_contabil-nrparcp = wa_itab_relat-nrparcj.
endif.
* >> Início da exclusão: FORM PREENCHE_ITAB_CONTABIL
itab_contabil-kursf = wa_itab_relat-txc.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ITAB_CONTABIL
itab_contabil-kursf = v_kursf.
* << Fim da inclusão
itab_contabil-dtcont = s_dtentr.
itab_contabil-vlme = p_vlmej.
if wa_zycbt007-fprovisao = space.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
itab_contabil-vlrprov = itab_contabil-vlme.
append itab_contabil.
clear itab_contabil.
* >> Início da inclusão: FORM PREENCHE_ITAB_CONTABIL
clear v_kursf.
* << Fim da inclusão
else.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
if not p_impr is initial.
itab_contabil-vlrprov = itab_contabil-vlme.
endif.
endif.
if ( /pws/zyglt009-calc_rot_sep eq 'S' or
/pws/zyglt009-cont_rot_sep eq 'S' ) and
wa_zycbt007-fprovisao = 'C'.
itab_contabil-subtotal = 'X'.
endif.
append itab_contabil.
clear v_vlrjprov.
v_vlrjprov = itab_contabil-vlme.
clear itab_contabil.
* >> Início da inclusão: FORM PREENCHE_ITAB_CONTABIL
clear v_kursf.
* << Fim da inclusão
endform.
form get_parameters_001.
clear wa_zycbt007.
if not s_bukrs is initial.
select single * from /pws/zycbt007
into wa_zycbt007
where bukrs eq s_bukrs.
endif.
clear itab_zycbt011.
select * from /pws/zycbt011
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
v_defator like tcurr-ffact,
v_parafator like tcurr-tfact,
v_separa type c,
v_vlprov_aux like /pws/zycbt004-vlme,
v_fprov type /pws/zycbt007-fprovisao,
v_liq type c.
data: v_jace type c,
v_dtpagto type sy-datum.
data: v_vinculacao type c.
data: v_msg(150) type c.
* >> Início da inclusão:
data: v_kursf type /pws/zycbe033-kursf.
* << Fim da inclusão
constants: v_jl(2) type c value 'JL'.
selection-screen begin of block a1 with frame title text-001.
parameters: s_bukrs like /pws/zycbt001-bukrs obligatory,
s_dtentr like sy-datum obligatory.
parameters: p_agrup as checkbox.
selection-screen end of block a1.
selection-screen begin of block b2 with frame title text-046.
parameters: s_rbrotm radiobutton group rg1,
s_rbrotd radiobutton group rg1,
s_rbrela radiobutton group rg1.
...
...
v_ftpj like itab_relat-ftpj,
v_tpcontab like itab_relat-tpcontab.
itab_relat_aux[] = itab_relat[].
if wa_zycbt007-fprovisao eq 'C'.
delete itab_relat
where tpcontab eq 'C' and
vlrprov is initial.
endif.
loop at itab_relat.
v_tabix = sy-tabix.
* >> Início da inclusão: FORM PROCESSA_ABERTO
if itab_relat-vlmej > 0 and
v_kursf is initial.
v_kursf = itab_relat-txc.
endif.
* << Fim da inclusão
itab_contabil_aux[] = itab_contabil[].
select name1
up to 1 rows
into (lfa1-name1)
from lfa1
where lifnr = itab_relat-bco.
endselect.
if sy-subrc eq 0.
itab_relat-descbanc = lfa1-name1.
else.
...
...
v_cont = v_cont + 1.
endloop.
read table itab_contabil_aux with key
nrcorresp = wa_itab_relat-nrseqc
tpcontab = wa_itab_relat-tpcontab.
if sy-subrc ne 0 and
not itab_relat-vlrprov is initial and
wa_itab_relat-nrparcj = v_cont.
move-corresponding wa_itab_relat to itab_contabil.
itab_contabil-nrparcp = wa_itab_relat-nrparcp.
* >> Início da exclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = wa_itab_relat-txc.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = v_kursf.
* << Fim da inclusão
itab_contabil-dtcont = s_dtentr.
itab_contabil-vlme = itab_relat-vlrprov.
itab_contabil-vlmeir = itab_relat-vlirprov.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
append itab_contabil.
clear itab_contabil.
* >> Início da inclusão: FORM PROCESSA_ABERTO
clear v_kursf.
* << Fim da inclusão
endif.
...
...
v_nrparcj = itab_relat-nrparcj.
add itab_relat-vlmej to v_vlmej_w.
add itab_relat-vlmeir to v_vlmeir_w.
add itab_relat-vlrprov to v_vlprov.
add itab_relat-vlirprov to v_vlprovir.
if not itab_relat-vlrprov is initial.
move-corresponding wa_itab_relat to itab_contabil.
itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.
itab_contabil-nrparcp = wa_itab_relat-nrparcj.
itab_contabil-dtcont = s_dtentr.
* >> Início da exclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = wa_itab_relat-txc.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = v_kursf.
* << Fim da inclusão
itab_contabil-vlme = wa_itab_relat-vlrprov.
itab_contabil-vlmeir = wa_itab_relat-vlirprov.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
append itab_contabil.
clear itab_contabil.
* >> Início da inclusão: FORM PROCESSA_ABERTO
clear v_kursf.
* << Fim da inclusão
endif.
else.
...
...
nrcorresp = itab_relat-nrseqc.
if sy-subrc ne 0.
if not itab_relat-vlmej_contr is initial.
itab_contabil-vlrprov = itab_relat-vlmej_contr.
elseif not itab_relat-vlmej_ace is initial.
itab_contabil-vlrprov = itab_relat-vlmej_ace.
endif.
endif.
endif.
endif.
* >> Início da exclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = wa_itab_relat-txc.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = v_kursf.
* << Fim da inclusão
itab_contabil-dtcont = s_dtentr.
if /pws/zyglt009-calc_rot_sep = 'S'.
itab_contabil-vlme = itab_relat-vlmej.
else.
itab_contabil-vlme = itab_relat-vlrprov.
endif.
itab_contabil-vlmeir = itab_relat-vlirprov.
if wa_zycbt007-fprovisao <> space.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
endif.
append itab_contabil.
clear itab_contabil.
* >> Início da inclusão: FORM PROCESSA_ABERTO
clear v_kursf.
* << Fim da inclusão
endif.
else.
add itab_relat-vlrprov to v_vlprov.
endif.
endif.
endif.
else.
clear v_vlmej_w.
add itab_relat-vlmetransf to v_vlmej_w.
move-corresponding wa_itab_relat to itab_contabil.
itab_contabil-vlmetransf = wa_itab_relat-vlmetransf.
itab_contabil-nrparcp = wa_itab_relat-nrparcp.
* >> Início da exclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = wa_itab_relat-txc.
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_ABERTO
itab_contabil-kursf = v_kursf.
* << Fim da inclusão
itab_contabil-dtcont = s_dtentr.
itab_contabil-vlme = itab_relat-vlrprov.
if wa_zycbt007-fprovisao <> space.
itab_contabil-nrcorresp = wa_itab_relat-nrseqc.
endif.
append itab_contabil.
clear itab_contabil.
* >> Início da inclusão: FORM PROCESSA_ABERTO
clear v_kursf.
* << Fim da inclusão
endif.
v_bukrs = itab_relat-bukrs.
v_waers = itab_relat-waers.
v_gsber = itab_relat-gsber.
v_tpcontr = itab_relat-tpcontr.
v_d_newko = itab_relat-d_newko.
v_c_newko = itab_relat-c_newko.
v_bco = itab_relat-bco.
v_ftpj = itab_relat-ftpj.
v_nrseq = itab_relat-nrseqc.
...