Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Custo Efetivo
Data/Hora da Publicação: 24/04/2007 00:00:00
Data/Hora Última Alteração: 09/03/2010 09:35:13
Descrição da Nota: DIFERENÇA DE UM CENTAVO NO CUSTO CAUSADO PELA CONVERSÃO DE MOEDA
Sintoma
No custo está apresentando uma diferença de dois centavos mas não deveria haver diferença.
Solução
Atualização do programa de custo efetivo para desconsiderar a diferença quando esta for igual a um
centavo para o item. Ajustada a função de rateio para lançar o valor de frete corretamente na nota
fiscal.
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03526 Data: 24/04/2007 Hora: 08:10:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03526
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00027
Agrupamento : 00163
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
DIFERENÇA DE UM CENTAVO NO CUSTO CAUSADO PELA CONVERSÃO DE MOEDA
----------------------------------------------------------------------------------------------------
Palavras Chave:
DIFERENÇA - CENTAVO - CUSTO - EFETIVO
/PWS/SAPMZYCI010
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI010F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI010F03
...
ELSE.
READ TABLE it_bkpf WITH KEY
bukrs = it_zycit006_aux2-bukrs
belnr = it_zycit006_aux2-belnr_p
gjahr = it_zycit006_aux2-dt_belnrp(04).
v_vlreal = v_vlreal * it_bkpf-kursf.
ENDIF.
WHEN 'PC'.
ENDCASE.
itab_zycit036_aux2-vldif = v_vlreal - itab_zycit036_aux2-vlmov.
* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX
v_vlreal = abs( itab_zycit036_aux2-vldif ).
IF v_vlreal EQ '0.01'.
CLEAR itab_zycit036_aux2-vldif.
ENDIF.
* << Fim da inclusão
itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.
MODIFY itab_zycit036_aux2.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM trata_origem
TABLES
itab_zycit036_aux3 STRUCTURE /pws/zycit036
itab_zycit036_plan STRUCTURE /pws/zycit036
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RATEIO_CUSTO
...
v_vlfrete LIKE /pws/zycit100-vlfre,
v_seg LIKE /pws/zycie006-vlseg,
v_tot_desp LIKE /pws/zycit036-vlreal,
v_plan LIKE /pws/zycit001-netpr,
v_tot LIKE /pws/zycit003-netpr,
v_tot_vlreal LIKE /pws/zycit003-vlreal,
v_linha TYPE sy-tabix,
v_index LIKE sy-tabix,
v_line_rateio TYPE i,
v_line_ac TYPE i,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_ac_fre LIKE /pws/zycit100-vlfre,
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_ac_fre LIKE /pws/zycit036-vlreal,
v_fre_tp LIKE /pws/zycit036-vlreal,
* << Fim da inclusão
v_ac_seg LIKE /pws/zycit100-vlseg,
vl_ii LIKE itab_zycit100-vlii,
vl_ipi LIKE itab_zycit100-vlipi,
vl_icms LIKE itab_zycit100-vlicms,
vltot_ii LIKE /pws/zycit036-vlreal,
vltot_ipi LIKE /pws/zycit036-vlreal,
vltot_icms LIKE /pws/zycit036-vlreal,
vl_imp LIKE /pws/zycit036-vlreal,
v_ori LIKE /pws/zycit140-origem,
v_taxa LIKE /pws/zycie085-ukursfob,
...
...
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
it_desp-vlseg = it_desp-vlseg * ( 10 ** ( tcurx-currdec - 2 ) ).
v_ac_seg = v_ac_seg + it_desp-vlseg.
ENDIF.
IF NOT /pws/zycit085-ukursfre IS INITIAL AND
NOT itab_zycit100a-vlfre IS INITIAL.
SELECT SINGLE * FROM /pws/zycit093
WHERE nrseqce = /pws/zycit085-nrbl.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
it_desp-vlfre = itab_zycit100a-vlfre * v_taxa_usd
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_fre_tp = itab_zycit100a-vlfre.
v_fre_tp = v_fre_tp * v_taxa_usd
* << Fim da inclusão
/ /pws/zycit085-ukursfre.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
it_desp-vlfre = v_fre_tp.
* << Fim da inclusão
SELECT SINGLE * FROM tcurx
WHERE currkey = /pws/zycit093-waersfre.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
it_desp-vlfre = it_desp-vlfre * ( 10 ** ( tcurx-currdec - 2 ) ).
...
...
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
it_desp-vlseg = it_desp-vlseg * ( 10 ** ( tcurx-currdec - 2 ) ).
v_ac_seg = v_ac_seg + it_desp-vlseg.
ENDIF.
IF NOT /pws/zycit085-ukursfre IS INITIAL AND
NOT itab_zycit100a-vlfre IS INITIAL.
SELECT SINGLE * FROM /pws/zycit093
WHERE nrseqce = /pws/zycit085-nrbl.
* >> Início da exclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
it_desp-vlfre = itab_zycit100a-vlfre / /pws/zycit085-ukursfre
.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RATEIO_CUSTO
v_fre_tp = itab_zycit100a-vlfre.
v_fre_tp = v_fre_tp / /pws/zycit085-ukursfre.
it_desp-vlfre = v_fre_tp.
* << Fim da inclusão
SELECT SINGLE * FROM tcurx
WHERE currkey = /pws/zycit093-waersfre.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
it_desp-vlfre = it_desp-vlfre * ( 10 ** ( tcurx-currdec - 2 ) ).
v_ac_fre = v_ac_fre + it_desp-vlfre.
ENDIF.
vl_imp = itab_zycit100a-vlii.
vltot_ii = vltot_ii + vl_imp.
...