Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 06/09/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:48:43
Descrição da Nota: ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO
Sintoma
Erro na DI em jpy , processo granel: valor do seguro está incorreto e variação cambial do cenário
de frete rodoviário não está ok.
Solução
corrigir rateio de seguro e tratar valor do frete rodoviário quando JPY.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04644 Data: 06/09/2007 Hora: 11:11:06
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04644
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00011
----------------------------------------------------------------------------------------------------
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
04140 - 00002 - 7.0 - 00002 - RATEIO DO SEGURO NA DI DEVE SER PELO VALOR FOB
04287 - 00003 - 7.0 - 00002 - DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL
----------------------------------------------------------------------------------------------------
ERRO DI JPY + GRANEL NO VALOR DO SEGURO E VARIAÇÃO DO RODOVIÁRIO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ERRO - JPY - GRANEL - VALOR DO SEGURO - VARIAÇÃO CAMBIAL
DI - FRETE RODOVIÁRIO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_RATEIO_CUSTO
FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
REPS /PWS/LZYCIGF2F01
REPS /PWS/MZYCI016F01
REPS /PWS/MZYCI016I01
REPS /PWS/MZYCI016O01
REPS /PWS/MZYCI016X01
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F02
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023F04
REPS /PWS/MZYCI023O01
REPS /PWS/MZYCI023X01
REPT /PWS/SAPMZYCI016
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA
...
IF NOT /pws/zycit093-ternacion IS INITIAL.
READ TABLE t_zycit003 WITH KEY
nrseq = t_zycit100-nrseq
ebeln = t_zycit100-ebeln
ebelp = t_zycit100-ebelp .
IF NOT v_tntgew IS INITIAL.
itab_di-vlfren = ( ( t_zycit003-ntgew / v_tntgew ) *
/pws/zycit093-ternacion ) * /pws/zycie085-ukursfre .
ENDIF.
ENDIF.
* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA
PERFORM retorna_decimais USING /pws/zycie085-waersfre
CHANGING itab_di-vlfren.
* << Fim da inclusão
itab_di-vldi = itab_di-vlfob + itab_di-vlseg +
itab_di-vlfre + itab_di-vlfren.
itab_matuse-reclassifica = 'X' .
modify itab_matuse transporting reclassifica
where ebeln = t_zycit100-ebeln
and ebelp = t_zycit100-ebelp.
COLLECT itab_di.
CLEAR itab_di.
ENDLOOP.
CLEAR: v_rec_ia, v_rec_ia_1.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCIGF2F01
...
AND NOT itab_di-vlseg IS INITIAL.
IF NOT /pws/zycit000-provseg IS INITIAL.
CONTINUE.
ENDIF.
READ TABLE itab_zycbt011 WITH KEY codeven = '001VS'.
READ TABLE itab_zycbt012 WITH KEY
codaux = itab_matuse_aux2-j_1bmatuse
codeven = '001VS'.
vl_variacao = itab_di-vlseg - itab_bsis_aux-dmbtr.
IF itab_zycbe033-tcode = 'F-51'.
* >> Início da exclusão: FORM LANCTOS_VARIACAO
PERFORM move_lanctos USING itab_di-vlfre
* << Fim da exclusão
* >> Início da inclusão: FORM LANCTOS_VARIACAO
PERFORM move_lanctos USING itab_di-vlseg
* << Fim da inclusão
vl_variacao.
ELSEIF itab_zycbe033-tcode = 'F-05'.
IF vl_variacao > '0.03'.
PERFORM move_lanctos_f05 USING vl_variacao.
ELSE.
v_erro_f05 = 'S'.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
ENDLOOP.
IF /pws/zycie100a-dttaxbem IS INITIAL.
MOVE itab_it-dttaxbem TO /pws/zycie100a-dttaxbem.
ENDIF.
IF p_tipo NE 'B' OR t_ivmle IS INITIAL OR v_dit = 'N'.
t_ivmle_d2 = t_ivmle = t_vmle * /pws/zycie100a-dttaxbem.
ENDIF.
PERFORM valor_cfr USING p_tipo.
IF s_inco1_ci EQ 'CIF'.
IF NOT itab_it-qtd_itend IS INITIAL.
* >> Início da inclusão: FORM LOAD_ITAX
IF NOT v_tcfr IS INITIAL.
t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.
v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.
ENDIF.
ELSE.
* << Fim da inclusão
READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq
ebeln = itab_it-ebeln
ebelp = itab_it-ebelp.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM LOAD_ITAX
v_cif_fat = ( itab_zycit003-vlreal * itab_it-qtd_itend ) +
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_ITAX
v_cif_fat = ( itab_zycit003-vlreal * itab_it-qtd_iten ) +
* << Fim da inclusão
itab_it-vlfre_fat + itab_it-vlseg_fat .
ENDIF.
* >> Início da exclusão: FORM LOAD_ITAX
ELSE.
* << Fim da exclusão
IF NOT v_tcfr IS INITIAL.
* >> Início da exclusão: FORM LOAD_ITAX
t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.
v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_ITAX
t_ivseg = itab_it-vlseg =
( v_cif_fat / ( v_tcif_fat ) ) * s_stvr.
v_tot_seg = ( v_cif_fat / ( v_tcif_fat ) ) * v_sgtofat.
* << Fim da inclusão
ENDIF.
ENDIF.
ELSE.
IF NOT v_tcfr IS INITIAL.
t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.
v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.
ENDIF.
ENDIF.
IF NOT /pws/zycit000-rat_seg_fob IS INITIAL.
CASE s_inco1_ci.
...
...
ENDIF.
CLEAR itab_zycit100_temp.
REFRESH itab_zycit100_temp.
LOOP AT itab_it.
MOVE-CORRESPONDING itab_it TO itab_zycit100_temp.
APPEND itab_zycit100_temp.
READ TABLE itab_inco WITH KEY ebeln = itab_it-ebeln.
IF sy-subrc EQ 0.
itab_it-inco_item = itab_inco-inco1.
ENDIF.
* >> Início da inclusão: FORM FILL_ITABIT
read table itab_zycit003 with key ebeln = itab_it-ebeln
* << Fim da inclusão
* >> Início da exclusão: FORM FILL_ITABIT
IF NOT itab_it-vlfre_fat IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
ebelp = itab_it-ebelp.
if sy-subrc eq 0.
IF NOT itab_it-vlfre_fat IS INITIAL and
not itab_zycit003-qtd_iten is initial.
* << Fim da inclusão
itab_it-vlreal = itab_it-vlreal +
* >> Início da exclusão: FORM FILL_ITABIT
( itab_it-vlfre_fat / itab_it-qtd_iten ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
( itab_it-vlfre_fat / itab_zycit003-qtd_iten ).
* << Fim da inclusão
CLEAR itab_it-vlfre_fat.
ENDIF.
* >> Início da exclusão: FORM FILL_ITABIT
IF NOT itab_it-vlseg_fat IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
IF NOT itab_it-vlseg_fat IS INITIAL and
not itab_zycit003-qtd_iten is initial.
* << Fim da inclusão
itab_it-vlreal = itab_it-vlreal +
* >> Início da exclusão: FORM FILL_ITABIT
( itab_it-vlseg_fat / itab_it-qtd_iten ).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_ITABIT
( itab_it-vlseg_fat / itab_zycit003-qtd_iten ).
* << Fim da inclusão
CLEAR itab_it-vlseg_fat.
* >> Início da inclusão: FORM FILL_ITABIT
ENDIF.
* << Fim da inclusão
ENDIF.
MODIFY itab_it.
ENDLOOP.
ENDFORM.
...
...
...
...
...