Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Empréstimos
Data/Hora da Publicação: 05/11/2009 00:00:00
Data/Hora Última Alteração: 04/03/2010 11:15:06
Descrição da Nota: EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA
Sintoma
Ao contabilizar o empréstimo, rotina mensal de imp/fin, não esta considerando a tabela de-para na
categoria da moeda.
Solução
Considerar a tabela de-para de categoria de moeda /pws/zycbt009, antes de buscar taxa.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09327 Data: 05/11/2009 Hora: 16:51:16
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09327
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00121
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA
----------------------------------------------------------------------------------------------------
Palavras Chave:
EMPRÉSTIMO - ROTINAS MENSAIS - CONSIDERAR DE-PARA CATEGORIA DA MOEDA
----------------------------------------------------------------------------------------------------
Objetos da nota:
MERG F6DK972763 20091105 150210 PWSCB
RELE F6DK972792 20091105 150409 PWSCB
REPS /PWS/MZYCA111F01
REPS /PWS/MZYCA111TOP
REPS /PWS/ZYCBI112
REPS /PWS/ZYCBI113
REPS /PWS/ZYCBR112
REPS /PWS/ZYCBR113
----------------------------------------------------------------------------------------------------
Modificações efetuadas em MERG F6DK972763 20091105 150210 PWSCB
----------------------------------------------------------------------------------------------------
Modificações efetuadas em RELE F6DK972792 20091105 150409 PWSCB
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111F01
...
defaultoption = 'Y'
textline1 = p_textline1
titel = p_titel
importing
answer = v_answer
exceptions
others = 0. "#EC *
endform.
form obtem_taxa_cambial.
v_ftaxa = /pws/zycbe128-ftaxa.
* >> Início da inclusão: FORM OBTEM_TAXA_CAMBIAL
select single kurst
from /pws/zycbt009
into /pws/zycbt009-kurst
where codpadr = v_ftaxa.
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = v_ftaxa.
endif.
* << Fim da inclusão
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = /pws/zycbe128-sldesem
i_demoeda = /pws/zycbe128-waers
i_paramoeda = wa_zycbt007-waersb
* >> Início da exclusão: FORM OBTEM_TAXA_CAMBIAL
i_ctmoeda = v_ftaxa
* << Fim da exclusão
* >> Início da inclusão: FORM OBTEM_TAXA_CAMBIAL
i_ctmoeda = /pws/zycbt009-kurst
* << Fim da inclusão
i_dtbase = sy-datum
importing
e_txc = v_taxacambial
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
...
...
text-012.
itab_zycbe033-bukrs = /pws/zycbe128-bukrs.
perform verify_null_field using /pws/zycbe128-waers
c_waers
text-013.
itab_zycbe033-waers = /pws/zycbe128-waers.
if not /pws/zycbe128-kursf is initial.
itab_zycbe033-kursf = /pws/zycbe128-kursf.
else.
v_ftaxa = /pws/zycbe128-ftaxa.
* >> Início da inclusão: FORM CONTABILIZA_IR_COMISSAO
select single kurst
from /pws/zycbt009
into /pws/zycbt009-kurst
where codpadr = v_ftaxa.
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = v_ftaxa.
endif.
* << Fim da inclusão
call function '/PWS/ZYCB_MONTANTE_CONVERTE'
exporting
i_montante = /pws/zycbe128-sldesem
i_demoeda = /pws/zycbe128-waers
i_paramoeda = wa_zycbt007-waersb
* >> Início da exclusão: FORM CONTABILIZA_IR_COMISSAO
i_ctmoeda = v_ftaxa
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_IR_COMISSAO
i_ctmoeda = /pws/zycbt009-kurst
* << Fim da inclusão
i_dtbase = /pws/zycbe128-dtdesem
importing
e_txc = itab_zycbe033-kursf
exceptions
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
fator_nao_encontrado = 6
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA111TOP
...
/pws/zycbt010,
/pws/zycbt118,
/pws/zycbt031,
/pws/zyglt009,
/pws/zycbt134,
/pws/zycbt064,
/pws/zyglt364,
/pws/zyglt025,
/pws/zycbt234,
/pws/zycbt243,
* >> Início da exclusão:
/pws/zycbt233.
* << Fim da exclusão
* >> Início da inclusão:
/pws/zycbt233,
/pws/zycbt009.
* << Fim da inclusão
CONSTANTS:
c_codlivre TYPE c VALUE 'L',
c_codvalor TYPE c VALUE 'V',
c_evento_ir_comissao TYPE /pws/zycbt011-codeven VALUE '001IC',
c_zycbt128 TYPE /pws/zycbe033-tcode VALUE 'ZYCBT128',
c_zycbt129 TYPE /pws/zycbe033-tcode VALUE 'ZYCBT129',
c_chave_despesa_financ
TYPE /pws/zyglt316-ktosl VALUE 'DSF',
c_chave_provisao_financ
TYPE /pws/zyglt316-ktosl VALUE 'PVF',
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI112
...
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt316 INDEX 1.
itab_relat-c_newko = itab_zyglt316-konth.
ENDIF.
ENDFORM.
FORM montante_converte.
* >> Início da inclusão: FORM MONTANTE_CONVERTE
select single kurst
from /pws/zycbt009
into /pws/zycbt009-kurst
where codpadr = itab_zycbt011-ctmoed.
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = itab_zycbt011-ctmoed.
endif.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = itab_relat-vlmetransf
i_demoeda = itab_relat-waers
i_paramoeda = wa_zycbt007-waersb
* >> Início da exclusão: FORM MONTANTE_CONVERTE
i_ctmoeda = itab_zycbt011-ctmoed
* << Fim da exclusão
* >> Início da inclusão: FORM MONTANTE_CONVERTE
i_ctmoeda = /pws/zycbt009-kurst
* << Fim da inclusão
i_dtbase = s_dtentr
IMPORTING
e_montante = itab_relat-vlmitransf
e_txc = itab_relat-kursf
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI113
...
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt316 INDEX 1.
itab_relat-c_newko = itab_zyglt316-konth.
ENDIF.
ENDFORM.
FORM montante_converte.
* >> Início da inclusão: FORM MONTANTE_CONVERTE
select single kurst
from /pws/zycbt009
into /pws/zycbt009-kurst
where codpadr = itab_zycbt011-ctmoed.
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = itab_zycbt011-ctmoed.
endif.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = itab_relat-vlmetransf
i_demoeda = itab_relat-waers
i_paramoeda = wa_zycbt007-waersb
* >> Início da exclusão: FORM MONTANTE_CONVERTE
i_ctmoeda = itab_zycbt011-ctmoed
* << Fim da exclusão
* >> Início da inclusão: FORM MONTANTE_CONVERTE
i_ctmoeda = /pws/zycbt009-kurst
* << Fim da inclusão
i_dtbase = s_dtentr
IMPORTING
e_montante = itab_relat-vlmitransf
e_txc = itab_relat-kursf
EXCEPTIONS
i_demoeda_nao_encontrado = 1
i_paramoeda_nao_encontrado = 2
i_ctmoeda_nao_encontrado = 3
i_dtbase_nao_encontrada = 4
taxa_nao_encontrada = 5
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR112
REPORT /pws/zycbr112 LINE-SIZE 220
LINE-COUNT 65
MESSAGE-ID /pws/zycmm
NO STANDARD PAGE HEADING.
TABLES: /pws/zycbt112,
* >> Início da exclusão:
/pws/zycbt113,"#EC *
/pws/zycbt031,"#EC *
* << Fim da exclusão
* >> Início da inclusão:
/pws/zycbt113, "#EC *
/pws/zycbt031, "#EC *
* << Fim da inclusão
/pws/zycbt039,
/pws/zycbt154,
t001,
/pws/zycbt021,
/pws/zycbt009,
sscrfields.
DATA: itab_zycbt112 LIKE /pws/zycbt112 OCCURS 10 WITH HEADER LINE,
itab_zycbt113p LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,
itab_zycbt113p_aux LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,
itab_zycbt113j LIKE /pws/zycbt113 OCCURS 20 WITH HEADER LINE,
...
...
IF s_dtentr IS INITIAL.
s_dtentr = sy-datum.
ENDIF.
IF s_nrseq IS INITIAL.
SELECT * FROM /pws/zycbt112
INTO TABLE itab_zycbt112
WHERE bukrs EQ s_bukrs
AND dtdesem LE s_dtentr
AND f_encerrado NE v_f_encerrado
AND status NE 'E'
* >> Início da exclusão: FORM SELECIONA_DADOS
AND codint IN s_codint."#EC CI_NOFIELD
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_DADOS
and codint in s_codint. "#EC CI_NOFIELD
* << Fim da inclusão
ELSE.
SELECT * FROM /pws/zycbt112
APPENDING TABLE itab_zycbt112
WHERE bukrs EQ s_bukrs
AND nrseq IN s_nrseq
AND status NE 'E'
AND codint IN s_codint.
ENDIF.
IF wa_zycbt007-fprovisao <> 'C'.
SELECT * FROM /pws/zycbt113
...
...
IN PROGRAM (itab_zyglt100-programa)
CHANGING e_subrc.
IF e_subrc NE 0.
EXIT.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM processa_periodo_j USING value(p_vlme)
value(p_dtinicio) TYPE d
* >> Início da exclusão: FORM PROCESSA_PERIODO_J
value(p_dtfim) TYPE d."#EC *
* << Fim da exclusão
* >> Início da inclusão: FORM PROCESSA_PERIODO_J
value(p_dtfim) type d. "#EC *
* << Fim da inclusão
CLEAR itab_zycbt113j.
LOOP AT itab_zycbt113j WHERE nrseq = itab_zycbt112-nrseq.
IF wa_zycbt007-fprovisao <> 'C'.
CHECK ( itab_zycbt113j-dtpagto IS INITIAL ).
ENDIF.
IF itab_zycbt113p-dtinicio => itab_zycbt113j-dtinicio AND
( itab_zycbt113p-dtfinal <= itab_zycbt113j-dtfinal OR
p_dtfim <= itab_zycbt113j-dtfinal ).
IF itab_zycbt113p-nrparc = '001'.
p_vlme = itab_zycbt112-vlme.
...
...
AND dtcont >= s_dtentr
AND bukrs EQ s_bukrs
AND codint IN s_codint
AND status <> 'S'.
ENDSELECT.
IF sy-subrc = 0.
MESSAGE i015 WITH text-044.
ENDIF.
CLEAR /pws/zycbt154.
ENDFORM.
* >> Início da exclusão: FORM PREENCHE_VARIACAO_CAMBIAL
FORM preenche_variacao_cambial USING value(p_vlme)."#EC *
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_VARIACAO_CAMBIAL
form preenche_variacao_cambial using value(p_vlme). "#EC *
* << Fim da inclusão
DATA: v_nrlines TYPE i.
CHECK NOT wa_taxa_cambial IS INITIAL.
itab_relat-vlmev =
( ( ( wa_taxa_cambial-kursf - itab_zycbt112-kursf ) * p_vlme ) /
wa_taxa_cambial-ftme ) * wa_taxa_cambial-ftmi.
DESCRIBE TABLE itab_relat LINES v_nrlines.
MODIFY itab_relat INDEX v_nrlines TRANSPORTING vlmev.
CLEAR: wa_taxa_cambial, itab_relat-vlmev.
ENDFORM.
FORM calcula_comissao.
...
...
IF sy-subrc EQ 0.
READ TABLE itab_zyglt316 INDEX 1.
v_c_newko = itab_zyglt316-konth.
ENDIF.
ENDFORM.
FORM montante_converte2.
SELECT SINGLE kurst
FROM /pws/zycbt009
INTO /pws/zycbt009-kurst
WHERE codpadr = itab_zycbt011-ctmoed.
* >> Início da inclusão: FORM MONTANTE_CONVERTE2
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = itab_zycbt011-ctmoed.
endif.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = v_vlcomis
i_demoeda = itab_relat-waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = /pws/zycbt009-kurst
i_dtbase = s_dtentr
IMPORTING
e_montante = itab_relat-vlmij
e_txc = itab_relat-kursf
...
...
REFRESH itab_lancados2.
LOOP AT itab_zycbt154 WHERE codmodul = 'IR'.
MOVE-CORRESPONDING itab_zycbt154 TO itab_lancados2.
CLEAR itab_lancados2-dtcont.
COLLECT itab_lancados2.
ENDLOOP.
ENDFORM.
FORM modo_batch_input.
CLEAR: /pws/zycbt039, itab_modo.
REFRESH: itab_modo.
* >> Início da exclusão: FORM MODO_BATCH_INPUT
SELECT * FROM /pws/zycbt039."#EC CI_NOWHERE
* << Fim da exclusão
* >> Início da inclusão: FORM MODO_BATCH_INPUT
select * from /pws/zycbt039. "#EC CI_NOWHERE
* << Fim da inclusão
itab_modo-selflag = /pws/zycbt039-modo.
itab_modo-varoption = /pws/zycbt039-descr.
APPEND itab_modo.
ENDSELECT.
SORT itab_modo DESCENDING.
CALL FUNCTION 'POPUP_TO_DECIDE_LIST'
EXPORTING
textline1 = text-092
textline2 = text-093
titel = text-094
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR113
...
IF sy-subrc EQ 0.
READ TABLE itab_zyglt316 INDEX 1.
itab_relat-c_newkoir = itab_zyglt316-konth.
ENDIF.
ENDFORM.
FORM montante_converte2.
SELECT SINGLE kurst
FROM /pws/zycbt009
INTO /pws/zycbt009-kurst
WHERE codpadr = itab_zycbt011-ctmoed.
* >> Início da inclusão: FORM MONTANTE_CONVERTE2
if sy-subrc ne 0 or /pws/zycbt009-kurst is initial.
/pws/zycbt009-kurst = itab_zycbt011-ctmoed.
endif.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'
EXPORTING
i_montante = v_vlcomis
i_demoeda = itab_relat-waers
i_paramoeda = wa_zycbt007-waersb
i_ctmoeda = /pws/zycbt009-kurst
i_dtbase = s_dtentr
IMPORTING
e_montante = itab_relat-vlmij
e_txc = itab_relat-kursf
...