CE PLUS - Nota 002453

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 16/11/2006 00:00:00

Data/Hora Última Alteração: 22/02/2011 13:38:56

Descrição da Nota: O VALOR DO RATEIO DO FRETE NA DI GRANEL ESTÁ CALCULADO ERRADO.

Sintoma

O valor do rateio do frete na DI está calculado errado.

 

 

Solução

Corrigir o rateio de frete internacional.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

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

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 02453 Data: 16/11/2006 Hora: 13:44:19

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 02453

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00140

----------------------------------------------------------------------------------------------------

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

----------------------------------------------------------------------------------------------------

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

----------------------------------------------------------------------------------------------------

Palavras Chave:

DI - FRETE INTERNACIONAL - GRANEL - PESO EMBARCADO

PESO DESEMBARCADO

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023X01

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

    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 exclusão: FORM LOAD_IFRE

  t_ivfre = ( /pws/zycie003-ntgew / v_tntgew ) * s_frvr.

  v_tot_fre = ( /pws/zycie003-ntgew / v_tntgew ) * v_frete_nm.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_IFRE

  t_ivfre = ( /pws/zycie003-ntgew / v_ntgew ) * s_frvr.

  v_tot_fre = ( /pws/zycie003-ntgew / v_ntgew ) * v_frete_nm.

* << 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

...

 

...

    s_frvr_aux  = s_frvr_aux  + t_ivfre.

    s_frvr_aux1 = s_frvr_aux1 + v_tot_fre.

  ENDIF.

  IF itab_zycit001-inco1 EQ 'DDU'.

    IF NOT v_dif_frn IS INITIAL.

* >> Início da exclusão: FORM LOAD_IFRE

      t_vmle = t_vmle + ( /pws/zycie003-ntgew / v_tntgew ) * v_dif_frn.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_IFRE

      t_vmle = t_vmle + ( /pws/zycie003-ntgew / v_ntgew ) * v_dif_frn.

* << Fim da inclusão

    ENDIF.

  ELSE.

    IF NOT v_dif_frn IS INITIAL.

* >> Início da exclusão: FORM LOAD_IFRE

      t_vmle = t_vmle + ( /pws/zycie003-ntgew / v_tntgew ) * v_dif_frn.

* << Fim da exclusão

* >> Início da inclusão: FORM LOAD_IFRE

      t_vmle = t_vmle + ( /pws/zycie003-ntgew / v_ntgew ) * v_dif_frn.

* << Fim da inclusão

    ENDIF.

    t_ivmle2 = t_vmle2 * /pws/zycie100a-dttaxbem.

  ENDIF.

  IF s_inco1_ci NE 'FOB'.

    IF NOT /pws/zycie093-ternacion IS INITIAL.

...

 

...

     if itab_it-codregtriicms is initial.

        itab_it-codregtriicms = itab_it-codregtri.

     endif.

  endif .

    PERFORM text_item_fill.

* >> Início da exclusão: FORM FILL_ITABIT

    IF NOT itab_zycit003-qtd_itend IS INITIAL.

      IF NOT /pws/zycie093-brgewd IS INITIAL AND

         NOT itab_zycit003 IS INITIAL.

        itab_it-ntgew = itab_zycit003-ntgewd.

      ENDIF.

    ENDIF.

* << Fim da exclusão

    IF v_sub EQ 0.

      MODIFY itab_it INDEX v_idx.

    ELSE.

      APPEND itab_it.

    ENDIF.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

FORM calc_init USING p_tipo.

  CLEAR v_tcif_fat.

* >> Início da exclusão: FORM CALC_INIT

  DATA: v_qtd_iten LIKE /pws/zycie003-qtd_iten,

        v_ntgew LIKE /pws/zycit003-ntgew.

* << Fim da exclusão

* >> Início da inclusão: FORM CALC_INIT

  DATA: v_qtd_iten LIKE /pws/zycie003-qtd_iten.

* << 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'.

...

 

...

                              nrseq = itab_it-nrseq

                              ebeln = itab_it-ebeln

                              ebelp = itab_it-ebelp.

    IF itab_it-qtd_itend NE '' AND v_dit = 'N'

       AND itab_it-vlreald IS INITIAL.

* >> Início da exclusão: FORM CALC_INIT

      v_diffrete =  ( v_tdif * - 1 ) *

            ( itab_zycit003-ntgewd / v_ntgewd ).

* << Fim da exclusão

* >> Início da inclusão: FORM CALC_INIT

      v_diffrete = ( ( v_tdif * - 1 ) *

            ( itab_zycit003-ntgew / v_ntgew ) ).

* << Fim da inclusão

      itab_it-vlreald =

      (  ( ( itab_zycit003-qtd_iten *  itab_zycit003-vlreal ) -

          v_diffrete ) / itab_zycit003-qtd_iten ) .

      MODIFY itab_it.

    ENDIF.

...

 

...

      v_tdif = v_tfrefat - v_bltofat +

               v_tsegfat - v_sgtofat.

  ENDCASE.

  IF p_tipo NE 'A'.

    READ TABLE itab_zycit003 INDEX 1.

* >> Início da inclusão: FORM CALC_INIT

      v_totcif = v_tval.

* << Fim da inclusão

    IF itab_zycit003-qtd_itend IS INITIAL.

* >> Início da exclusão: FORM CALC_INIT

      v_totcif = v_tval.

* << Fim da exclusão

      v_tval3 = v_tval2 = v_tval + v_tdif .

    ELSE.

* >> Início da exclusão: FORM CALC_INIT

      IF  s_inco1_ci = 'C&F' .

        IF v_tfrefat IS INITIAL.

          v_tval3 = v_tval2 = v_tval .

        ELSE.

          v_tval3 = v_tval2 = v_tval + v_tfrefat.

        ENDIF.

      ELSE.

        v_tval3 = v_tval2 = v_tval .

      ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FORM CALC_INIT

      v_tval3 = v_tval2 = v_tval.

* << Fim da inclusão

    ENDIF.

  ENDIF.

ENDFORM.

FORM load_iicms USING p_tipo.

  CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

DATA: hkont    LIKE bsis-hkont       ,

      dmbtr    LIKE bsis-dmbtr       ,

      wrbtr    LIKE bsis-wrbtr       ,

      tpfatura LIKE /pws/zycit006-tpfatura.

DATA: END OF itab_bsis_aux.

* >> Início da inclusão:

data    v_ntgew LIKE /pws/zycit003-ntgew.

* << Fim da inclusão

DATA: v_dele.

DATA: END OF COMMON PART.