CE PLUS - Nota 003261

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.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES NA VARIAÇÃO CAMBIAL DA DI

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.

...