Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 14/12/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:41:43
Descrição da Nota: VARIAÇÃO CAMBIAL VALOR INCORRETO - FOB INCORRETO - GRANEL
Sintoma
Script08 - C&F + GRANEL + RODOVIARIO + FRETE MOEDA DIFERENTE
Neste cenário 367I06 a variação cambial está errada.
Cenário granel - Fatura no valor C&F U$ 10.729,68 - R$ 23.866,03
DI no valor C&F U$ 10.367,72 - R$ 27.082,55
A variação cambial deveria ser de R$ 3.216,52, porém está levando uma variação cambial de R$
4.222,20.
Solução
Atualização do programa de DI o programa para calcular o valor da mercadoria (FOB) corretamente.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02695 Data: 14/12/2006 Hora: 09:39:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02695
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00144
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01227 - 00001 - 6.0 - 00023 - VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO
01357 - 00002 - 6.0 - 00023 - ERRO NA PASTA PAGAMENTO E VALOR DE FRETE DE DI DE NACIONALIZAÇÃO
02123 - 00003 - 6.0 - 00024 - AJUSTES NA VARIAÇÃO CAMBIAL DA DI
02183 - 00004 - 6.0 - 00025 - TRATAMENTO DE EXIT NA DI
02413 - 00005 - 6.0 - 00025 - VALORES DE IMPOSTOS AO CARREGAR DI ESTÃO ZERADOS. APÓS REFRESH FI
02453 - 00006 - 6.0 - 00025 - O VALOR DO RATEIO DO FRETE NA DI GRANEL ESTÁ CALCULADO ERRADO.
----------------------------------------------------------------------------------------------------
VARIAÇÃO CAMBIAL VALOR INCORRETO - FOB INCORRETO - GRANEL
----------------------------------------------------------------------------------------------------
Palavras Chave:
C&F - FOB INCORRETO - GRANEL
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
id = 1
language = 2
name = 3
object = 4
OTHERS = 5.
ENDIF.
ENDFORM.
FORM load_ifre USING p_tipo.
DATA: v_vlreal LIKE /pws/zycie003-vlreal.
CLEAR v_vlreal.
* >> Início da exclusão: FORM LOAD_IFRE
SELECT SINGLE qtd_iten FROM /pws/zycit003 INTO /pws/zycie003-qtd_iten
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IFRE
SELECT SINGLE qtd_iten ntgewd FROM /pws/zycit003 INTO
(/pws/zycie003-qtd_iten, /pws/zycie003-ntgewd)
* << Fim da inclusão
WHERE nrseq EQ /pws/zycie003-nrseq
AND ebeln EQ /pws/zycie003-ebeln
AND ebelp EQ /pws/zycie003-ebelp.
v_vlreal = /pws/zycie003-vlreal.
IF NOT /pws/zycie003-qtd_itend IS INITIAL.
t_vmle3 = t_vmle_d2 = t_vmle = v_vlreal * /pws/zycie003-qtd_itend.
t_vmle2 = /pws/zycie003-vlreal * /pws/zycie003-qtd_itend.
v_it_plan = /pws/zycie003-netpr * /pws/zycie003-qtd_itend.
ELSE.
t_vmle3 = t_vmle_d2 = t_vmle = v_vlreal * /pws/zycie003-qtd_iten.
t_vmle2 = /pws/zycie003-vlreal * /pws/zycie003-qtd_iten.
v_it_plan = /pws/zycie003-netpr * /pws/zycie003-qtd_iten.
ENDIF.
v_frete_nm = v_bltofat.
* >> Início da inclusão: FORM LOAD_IFRE
if not v_ntgewd is initial.
t_ivfre = ( /pws/zycie003-ntgewd / v_ntgewd ) * s_frvr.
v_tot_fre = ( /pws/zycie003-ntgewd / v_ntgewd ) * v_frete_nm.
else.
* << Fim da inclusão
t_ivfre = ( /pws/zycie003-ntgew / v_ntgew ) * s_frvr.
v_tot_fre = ( /pws/zycie003-ntgew / v_ntgew ) * v_frete_nm.
* >> Início da inclusão: FORM LOAD_IFRE
endif.
* << Fim da inclusão
IF /pws/zycie085-mdadicao NE 'S'.
IF /pws/zycie093-waersfre NE itab_it-waersbem.
PERFORM: calc_conv_moeda:
USING /pws/zycie093-waersfre
itab_it-waersbem
...
...
MESSAGE i015 WITH text-039 wa_it-inco1.
ENDIF.
IF /pws/zycie085-codreg EQ '03' AND /pws/zycie085-tpdi EQ 'N'.
LOOP AT itab_it.
itab_it-codregtri = '5'.
itab_it-codfunleg = '53'.
MODIFY itab_it.
ENDLOOP.
ENDIF.
MOVE itab_it[] TO itab_ita[].
* >> Início da inclusão: FORM FILL_ITABIT
clear v_ntgewd.
LOOP AT itab_zycit003.
v_ntgew = v_ntgew + itab_zycit003-ntgew.
v_ntgewd = v_ntgewd + itab_zycit003-ntgewd.
ENDLOOP.
if not v_ntgewd is initial.
/pws/zycie093-ntgew = /pws/zycie085-ntgew = v_ntgewd.
else.
* << Fim da inclusão
/pws/zycie093-ntgew = /pws/zycie085-ntgew = v_tntgew.
* >> Início da inclusão: FORM FILL_ITABIT
endif.
* << Fim da inclusão
IF /pws/zycie093-gewei_l IS INITIAL.
/pws/zycie093-gewei_l = /pws/zycie093-gewei_b.
ENDIF.
CLEAR itab_zycit100_temp.
REFRESH itab_zycit100_temp.
LOOP AT itab_it.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
v_sgtofat .
ENDIF.
v_tdif = v_tfrefat - v_bltofat .
v_bltofat = /pws/zycie093-prepaid +
/pws/zycie093-collect - /pws/zycie093-ternacion.
PERFORM calc_conv_frete CHANGING v_bltofat.
ENDCASE.
ENDIF.
CLEAR v_ntgew.
CLEAR v_tfrefat .
* >> Início da exclusão: FORM CALC_INIT
DATA: v_diffrete LIKE v_tdif,
v_ntgewd LIKE v_ntgew.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_INIT
DATA: v_diffrete LIKE v_tdif.
clear v_ntgewd.
* << Fim da inclusão
LOOP AT itab_zycit003.
v_ntgew = v_ntgew + itab_zycit003-ntgew.
v_ntgewd = v_ntgewd + itab_zycit003-ntgewd.
ENDLOOP.
LOOP AT itab_it.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
* >> Início da exclusão: FORM CALC_INIT
IF itab_it-qtd_itend NE '' AND v_dit = 'N'
AND itab_it-vlreald IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_INIT
IF itab_it-qtd_itend NE '' AND v_dit = 'N'.
if not v_ntgewd is initial.
v_diffrete = ( v_tdif * - 1 ) *
( itab_zycit003-ntgewd / v_ntgewd ).
else.
* << Fim da inclusão
v_diffrete = ( ( v_tdif * - 1 ) *
( itab_zycit003-ntgew / v_ntgew ) ).
* >> Início da inclusão: FORM CALC_INIT
endif.
* << Fim da inclusão
itab_it-vlreald =
( ( ( itab_zycit003-qtd_iten * itab_zycit003-vlreal ) -
v_diffrete ) / itab_zycit003-qtd_iten ) .
MODIFY itab_it.
ENDIF.
...
...
LOOP AT itab_it.
IF p_tipo = 'I'.
itab_it-seq = sy-tabix.
ENDIF.
READ TABLE itab_zycit003 WITH KEY
nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF NOT itab_it-vlreald IS INITIAL.
itab_it-vlreal = itab_it-vlreald.
* >> Início da inclusão: FORM CALC_INIT
ENDIF.
IF NOT itab_zycit003-ntgewd IS INITIAL.
itab_it-ntgew = itab_zycit003-ntgewd.
* << Fim da inclusão
ENDIF.
CLEAR: v_tvaln, v_qtd_iten.
IF itab_it-qtd_itend NE '' AND v_dit = 'N'.
v_qtd_iten = itab_it-qtd_itend.
ELSE.
v_qtd_iten = itab_it-qtd_iten.
ENDIF.
v_tntgew = v_tntgew + itab_it-ntgew.
v_tot_plan = v_tot_plan + ( v_qtd_iten * itab_it-netpr ).
v_tmle = v_tmle + ( ( v_qtd_iten * itab_it-vlreal ) *
...
...
v_rfrefat = v_rfrefat + ( itab_it-vlfre_fat * itab_it-dttaxbem ).
IF /pws/zycie085-waersfob NE itab_it-waers.
PERFORM: calc_conv_moeda USING itab_it-waers
/pws/zycie085-waersfob
CHANGING itab_it-vlseg_fat.
v_tsegfat = v_tsegfat + itab_it-vlseg_fat.
ELSE.
v_tsegfat = v_tsegfat + itab_it-vlseg_fat.
ENDIF.
v_rsegfat = v_rsegfat + ( itab_it-vlseg_fat * itab_it-dttaxbem ).
* >> Início da exclusão: FORM CALC_INIT
MODIFY itab_it TRANSPORTING seq vlreal.
* << Fim da exclusão
* >> Início da inclusão: FORM CALC_INIT
MODIFY itab_it TRANSPORTING seq vlreal ntgew.
* << Fim da inclusão
IF /pws/zycie085-mdadicao = 'N'.
IF itab_it-waersbem EQ /pws/zycie085-waersfob.
IF NOT itab_it-vlreald IS INITIAL.
v_tval = v_tval + ( itab_it-qtd_itend * itab_it-vlreal ).
ELSE.
v_tval = v_tval + ( itab_it-qtd_iten * itab_it-vlreal ).
ENDIF.
ELSE.
PERFORM taxa_converte USING itab_it-waersbem
/pws/zycie085-dttax
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
buzei LIKE bsis-buzei ,
tpfatura LIKE /pws/zycit006-tpfatura.
DATA: END OF itab_bsis.
DATA: BEGIN OF itab_bsis_aux OCCURS 10.
DATA: hkont LIKE bsis-hkont ,
dmbtr LIKE bsis-dmbtr ,
wrbtr LIKE bsis-wrbtr ,
tpfatura LIKE /pws/zycit006-tpfatura.
DATA: END OF itab_bsis_aux.
data v_ntgew LIKE /pws/zycit003-ntgew.
* >> Início da inclusão:
data v_ntgewd LIKE /pws/zycit003-ntgew.
* << Fim da inclusão
DATA: v_dele.
DATA: END OF COMMON PART.