CE PLUS - Nota 004644

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.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

RATEIO DO SEGURO NA DI DEVE SER PELO VALOR FOB

ERRO NO CÁLCULO DE DESPESAS E VALORES DA NF UTILIZANDO GRANEL + CIF

DECLARAÇÃO DE IMPORTAÇÃO (DI) - VARIAÇÃO CAMBIAL

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.

...

...

...

...

...