Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina Mensal
Data/Hora da Publicação: 09/10/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:14:26
Descrição da Nota: ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC/ACE
Sintoma
Ao executar a Rotina Mensal de Exportação, com separação de ACC/ACE, o programa separa corretamente
os valores, mas a conta de ACE não deve ser utilizada e sim a de ACC. No cenário a data de pagamento
no exterior esta preenchida na liquidação, com fleg ao lado, só que a data da vinculação é maior que
a data de pagamento no exterior, por isso tem que ser conta de ACC.
Solução
Ao buscar a conta de provisão do período de ACE do programa(ftpj = E), verificar se a data de
pagamento no exterior é maior que a data da vinculação. Se não for, a conta deverá ser de ACC e não
de ACE;
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09178 Data: 09/10/2009 Hora: 15:03:53
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09178
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04193 - 00001 - 7.0 - 00002 - ROTINA MENSAL EXPORTAÇÃO - JUROS ACC X PRÉ
05938 - 00002 - 7.0 - 00004 - ROTINA MENSAL EXPORTAÇÃO - JUROS SOBRE DIAS INCORRETOS - VALOR IN
----------------------------------------------------------------------------------------------------
ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC/ACE
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA MENSAL EXPORTAÇÃO - CONTABILIZAÇÃO NA CONTA DE ACC ACE
DATA DE PAGAMENTO NO EXTERIOR DATA LIQUIDAÇÃO DATA VINCULAÇAO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI003
REPS /PWS/ZYCBR003
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI003
...
when 3.
endcase.
read table itab_contas index 1.
if sy-subrc = 0.
itab_relat-c_newko = itab_contas-konth.
endif.
clear itab_zycbt011.
v_tpcontr = itab_relat-tpcontr.
if /pws/zyglt009-cont_rot_sep eq 'S'.
if itab_relat-tpcontr(1) eq 'A' and
* >> Início da exclusão: FORM PREENCHE_CONTAS
itab_relat-ftpj eq 'E'.
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_CONTAS
itab_relat-ftpj eq 'E'
and ( v_jace is initial or
( not v_jace is initial and
not v_dtpagto is initial and
not itab_zycbt005-dtvincul is initial and
not v_dtpagto < itab_zycbt005-dtvincul ) ).
* << Fim da inclusão
v_codeven = '005E'.
else.
concatenate '005' itab_relat-tpcontr into v_codeven.
endif.
else.
concatenate '005' itab_zycbt001-tpcontr into v_codeven.
endif.
read table itab_zycbt011 with key codeven = v_codeven.
itab_relat-blart = itab_zycbt011-blart.
itab_relat-d_sgtxt = itab_zycbt011-txtdesc.
...
...
v_codaux1 = 'J'.
endif.
v_codaux2 = v_tpcontr.
if itab_zycbt001-tpcontr eq 'A' or
itab_zycbt001-tpcontr eq 'E' or
itab_zycbt001-tpcontr eq 'TR'.
if /pws/zyglt009-cont_rot_sep eq 'S'.
if itab_relat-ftpj = 'A'.
v_codaux3 = 'ACC'.
elseif itab_relat-ftpj = 'E'.
* >> Início da inclusão: FORM PREENCHE_CONTAS
if v_jace is initial or
( not v_jace is initial and
not v_dtpagto is initial and
not itab_zycbt005-dtvincul is initial and
not v_dtpagto < itab_zycbt005-dtvincul ).
* << Fim da inclusão
v_codaux3 = 'ACE'.
* >> Início da inclusão: FORM PREENCHE_CONTAS
else.
v_codaux3 = 'ACC'.
endif.
* << Fim da inclusão
else.
clear v_codaux3.
endif.
else.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR003
...
v_imp type i,
v_ec type i,
v_nrparcj type /pws/zycbt002-nrparc,
v_programa type sy-cprog,
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.
* >> Início da inclusão:
data: v_jace type c,
v_dtpagto type sy-datum.
* << Fim da inclusão
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.
selection-screen end of block b2.
...
...
clear v_dias_mes.
if not s_rbrotd is initial.
perform data_inicio.
if itab_relat-dtde =< v_dtinicio and
itab_relat-dtate => v_dtinicio.
v_dias_mes = itab_relat-dtate - v_dtinicio.
else.
v_dias_mes = itab_relat-dtate - itab_relat-dtde.
endif.
endif.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
v_jace = 'X'.
v_dtpagto = p_dtfim.
* << Fim da inclusão
perform preenche_itab_relat.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
clear: v_jace, v_dtpagto.
* << Fim da inclusão
check not itab_relat is initial.
check itab_relat-dtde =< itab_relat-dtate.
v_dtate = itab_relat-dtate.
perform processa_calculo_juros using p_vlme
itab_zycbt002j-txjtotal
itab_zycbt002j-tptxjur
...
...
v_txjtotal = itab_zycbt005-txjtotal.
v_tptxjur = itab_zycbt005-tptxjur.
else.
v_txjtotal = itab_zycbt002j-txjtotal.
v_tptxjur = itab_zycbt002j-tptxjur.
endif.
itab_relat-vlme = p_vlme.
itab_relat-ftpj = 'E'.
itab_relat-dtde = v_dtate.
itab_relat-dtate = p_dtfim.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
v_jace = 'X'.
v_dtpagto = p_dtfim.
* << Fim da inclusão
perform preenche_itab_relat.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
clear: v_jace, v_dtpagto.
* << Fim da inclusão
check not itab_relat is initial.
check itab_relat-dtde =< itab_relat-dtate.
perform processa_calculo_juros using p_vlme
v_txjtotal
v_tptxjur
v_dtate
...
...
v_txjtotal = itab_zycbt005-txjtotal.
v_tptxjur = itab_zycbt005-tptxjur.
else.
v_txjtotal = itab_zycbt002j-txjtotal.
v_tptxjur = itab_zycbt002j-tptxjur.
endif.
itab_relat-vlme = p_vlme.
itab_relat-ftpj = 'E'.
itab_relat-dtde = itab_zycbt005-dtvincul.
itab_relat-dtate = p_dtfim.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
v_jace = 'X'.
v_dtpagto = p_dtfim.
* << Fim da inclusão
perform preenche_itab_relat.
* >> Início da inclusão: FORM PROCESSA_PERIODO_JACE
clear: v_jace, v_dtpagto.
* << Fim da inclusão
check not itab_relat is initial.
check itab_relat-dtde =< itab_relat-dtate.
if v_dtate is initial.
v_dtate = itab_relat-dtde.
endif.
perform processa_calculo_juros using p_vlme
...