CE PLUS - Nota 002695

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.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES NA VARIAÇÃO CAMBIAL DA DI

VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

VALORES DE IMPOSTOS AO CARREGAR DI ESTÃO ZERADOS. APÓS REFRESH FICA OK

O VALOR DO RATEIO DO FRETE NA DI GRANEL ESTÁ CALCULADO ERRADO.

ERRO NA PASTA PAGAMENTO E VALOR DE FRETE DE DI DE NACIONALIZAÇÃO

TRATAMENTO DE EXIT NA DI

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.