Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 22/06/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:41:45
Descrição da Nota: AO FAZER A VARIAÇÃO CAMBIAL DA DI, LEVA VALOR INCORRETO.
Sintoma
Ao fazer a variação cambial da DI, leva um valor incorreto.
Solução
ajustar cálculo de valor FOB
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04011 Data: 22/06/2007 Hora: 09:00:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04011
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00001
Agrupamento : 00171
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04009 - 00001 - 7.0 - 00001 - ERRO NO CÁLCULO DE DESPESAS E VALORES DA NF UTILIZANDO GRANEL + C
----------------------------------------------------------------------------------------------------
AO FAZER A VARIAÇÃO CAMBIAL DA DI, LEVA VALOR INCORRETO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
VARIAÇÃO CAMBIAL - DI - VALOR INCORRETO - DIFERENÇA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
IF NOT itab_it-qtd_itend IS INITIAL.
t_vmle_d2 = t_vmle2 = t_vmle2 + v_tot_fre.
ELSE.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.
t_vmle2 = t_vmle.
ENDIF.
ENDIF.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.
WHEN 'CIF'.
* >> Início da inclusão: FORM LOAD_ITAX
clear v_difgran .
* << Fim da inclusão
IF NOT itab_it-qtd_itend IS INITIAL.
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc EQ 0.
v_difgran =
( ( ( ( itab_zycit003-vlreal * itab_zycit003-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( ( itab_it-vlfre + itab_it-vlseg ) / /pws/zycie085-ukursfob ) )
/ itab_zycit003-qtd_iten ) *
( itab_zycit003-qtd_iten - itab_zycit003-qtd_itend ).
t_vmle =
( ( ( ( itab_zycit003-vlreal * itab_zycit003-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( v_tot_fre + v_tot_seg ) ) - v_difgran ).
* >> Início da inclusão: FORM LOAD_ITAX
itab_it-vlfob = t_vmle.
/pws/zycie100a-vlfob = t_vmle.
* << Fim da inclusão
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg .
v_difgran = ( ( ( ( ( itab_zycit003-vlreal *
/pws/zycie085-ukursfob ) * itab_zycit003-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( itab_it-vlfre + itab_it-vlseg ) )
/ itab_zycit003-qtd_iten ) *
( itab_zycit003-qtd_iten - itab_zycit003-qtd_itend ).
t_ivmle_d2 = t_ivmle =
( ( ( ( ( itab_zycit003-vlreal *
/pws/zycie085-ukursfob ) * itab_zycit003-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( itab_it-vlfre + itab_it-vlseg ) ) - v_difgran )
+ v_desp_fren + t_ivfre + t_ivseg .
ENDIF.
* >> Início da inclusão: FORM LOAD_ITAX
ELSE.
t_vmle =
( ( ( itab_it-vlreal * itab_it-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( v_tot_fre + v_tot_seg ) ) .
* << Fim da inclusão
itab_it-vlfob = t_vmle.
/pws/zycie100a-vlfob = t_vmle.
* >> Início da exclusão: FORM LOAD_ITAX
ELSE.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_ITAX
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg .
t_ivmle_d2 = t_ivmle =
( ( ( ( itab_it-vlreal *
/pws/zycie085-ukursfob ) * itab_it-qtd_iten ) +
itab_it-vlfre_fat + itab_it-vlseg_fat ) -
( itab_it-vlfre + itab_it-vlseg ) )
+ v_desp_fren + t_ivfre + t_ivseg .
* << Fim da inclusão
* >> Início da exclusão: FORM LOAD_ITAX
t_ivmle_d2 = t_ivmle = t_ivmle + v_desp_fren +
t_ivfre + t_ivseg +
( t_dif_seg * /pws/zycie085-ukursfob ).
IF NOT v_desp_fren IS INITIAL.
IF NOT /pws/zycie085-ukursfob IS INITIAL.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg +
( v_desp_fren / /pws/zycie085-ukursfob ) + t_dif_seg.
ELSE.
MESSAGE i015 WITH text-221.
ENDIF.
ELSE.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre +
v_tot_seg + t_dif_seg.
ENDIF.
* << Fim da exclusão
ENDIF.
t_vmle2 = t_vmle.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.
ENDCASE.
ELSE.
CASE s_inco1_ci.
WHEN 'FOB'.
t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.
WHEN 'C&F'.
...