Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 16/03/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:40:24
Descrição da Nota: EM DI COM MOEDAS DIFERENTES E GRANEL, VALOR ADUANEIRO FICA ERRADO
Sintoma
Tem dois pedidos CFR com moedas diferentes.
Não estou conseguindo chegar no valor FOB da DI e nem no valor aduaneiro .
Solução
Tratar moedas antes de abater valor de frete quando possuir granel.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03261 Data: 16/03/2007 Hora: 10:37:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03261
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00156
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02123 - 00001 - 6.0 - 00024 - AJUSTES NA VARIAÇÃO CAMBIAL DA DI
----------------------------------------------------------------------------------------------------
EM DI COM MOEDAS DIFERENTES E GRANEL, VALOR ADUANEIRO FICA ERRADO
----------------------------------------------------------------------------------------------------
Palavras Chave:
DI - MOEDAS DIFERENTES - GRANEL - VALOR ADUANEIRO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
FORM calc_init USING p_tipo.
CLEAR v_tcif_fat.
DATA: v_qtd_iten LIKE /pws/zycie003-qtd_iten.
* >> Início da inclusão: FORM CALC_INIT
DATA: v_diffrete LIKE v_tdif ,
v_diffrete_aux LIKE v_tdif .
* << Fim da inclusão
IF itab_zycit049[] IS INITIAL.
SELECT * FROM /pws/zycit049 INTO TABLE itab_zycit049
WHERE nrseq = /pws/zycie085-nrseqdi.
ENDIF.
IF p_tipo = 'I'.
LOOP AT itab_zycit049.
v_tabix = sy-tabix.
IF NOT itab_zycit049-vldp IS INITIAL.
IF itab_zycit049-waers NE wa_zycbt007-waersb.
PERFORM taxa_converte USING itab_zycit049-waers
...
...
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.
* << Fim da exclusão
CLEAR v_ntgewd.
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.
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.
v_diffrete = ( ( v_tdif * - 1 ) *
( itab_zycit003-ntgew / v_ntgew ) ).
ENDIF.
* >> Início da inclusão: FORM CALC_INIT
IF /pws/zycie093-waersfre NE itab_zycit003-waers .
v_diffrete_aux = v_diffrete .
PERFORM calc_conv_moeda USING /pws/zycie093-waersfre
itab_zycit003-waers
CHANGING v_diffrete_aux.
itab_it-vlreald =
( ( ( itab_zycit003-qtd_iten * itab_zycit003-vlreal ) -
v_diffrete_aux ) / itab_zycit003-qtd_iten ) .
ELSE.
* << Fim da inclusão
itab_it-vlreald =
( ( ( itab_zycit003-qtd_iten * itab_zycit003-vlreal ) -
v_diffrete ) / itab_zycit003-qtd_iten ) .
* >> Início da inclusão: FORM CALC_INIT
ENDIF.
* << Fim da inclusão
MODIFY itab_it.
ENDIF.
ENDLOOP.
LOOP AT itab_it.
...