CE PLUS - Nota 006715

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 09/06/2008 00:00:00

Data/Hora Última Alteração: 12/04/2011 17:00:22

Descrição da Nota: VALORES DE ACRÉSCIMO E DEDUÇÃO DE DESPESAS ESTÃO INCORRETOS NA ADIÇÃO

Sintoma

Valores de acréscimo e dedução de despesas estão incorretos na adição

 

 

Solução

Ajustar cálculo de valores .

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DI ESTÁ DUPLICANDO O VALOR DO FRETE .

AJUSTES HOMOLOGAÇÃO DI - CÁLCULOS, DESPESAS, REGIMES

CÁLCULO VALOR FOB ERRADO QUANDO TINHA DESPESA NA DI

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

Informações Complementares

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

Nota Número 06715 Data: 09/06/2008 Hora: 09:41:43

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

 

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

Nota Número              : 06715

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00005

Agrupamento              : 00050

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

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00992  - 00001 - 6.0    - 00022  - DI ESTÁ DUPLICANDO O VALOR DO FRETE .

01088  - 00002 - 6.0    - 00023  - CÁLCULO VALOR FOB ERRADO QUANDO TINHA DESPESA NA DI

01227  - 00003 - 6.0    - 00023  - VISUALIZAÇÃO DO RATEIO DE DESPESAS DA DI ESTÁ INCORRETO

01602  - 00004 - 6.0    - 00023  - AJUSTES HOMOLOGAÇÃO DI - CÁLCULOS, DESPESAS, REGIMES

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

VALORES DE ACRÉSCIMO E DEDUÇÃO DE DESPESAS ESTÃO INCORRETOS NA ADIÇÃO

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

Palavras Chave:

ACRÉSCIMO - DEDUÇÃO - DESPESAS - DI - TRANSMISSÃO - ADIÇÃO

 

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

Objetos da nota:

REPS /PWS/MZYCI023F01

REPS /PWS/MZYCI023O01

REPS /PWS/MZYCI023X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F01

 

...

FORM adic_load.

  CLEAR:   itab_itb,       itab_zycit114b, itab_zycit115b,

           itab_zycit118b, itab_zycit121b, itab_zycit121c,

           itab_zycit124b, itab_zycit049b, itab_zycit049c,

           itab_zycit195,  itab_zycit200b,

           a_vlrtot,       a_qtdeest,      a_uqtde,

           a_vmler,        a_adbase,       rtextx, itab_mercosul,

           a_vladu  ,

           v_ttad_plan, v_itad_plan,

           v_qtd_pis, v_qtd_cof.

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

  CLEAR:     v_itad_real, v_ttad_real.

* << Fim da inclusão

  REFRESH: itab_itb,       itab_zycit114b, itab_zycit115b,

           itab_zycit118b, itab_zycit121b, itab_zycit121c,

           itab_zycit124b, itab_zycit049b, itab_zycit049c,

           itab_zycit195,  itab_zycit200b, itab_mercosul,

           rtextx.

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

  LOOP AT itab_it WHERE adicao = wa_it-adicao.

* << Fim da exclusão

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

  LOOP AT itab_it.

    IF itab_it-adicao = wa_it-adicao.

* << Fim da inclusão

    CASE s_inco1_ci.

      WHEN 'C&F'.

        itab_it-vlreal_aux2 =

      ( ( ( itab_it-vlreal *  itab_it-qtd_iten ) + itab_it-vldiffob +

            itab_it-vlfre_me ) / itab_it-qtd_iten ) -

          ( itab_it-frn / itab_it-qtd_iten ) .

      WHEN 'CIF'.

        itab_it-vlreal_aux2 =

     ( ( ( itab_it-vlreal *  itab_it-qtd_iten ) + itab_it-vldiffob +

           itab_it-vlfre_me + itab_it-vlseg_me )

...

 

...

         ( itab_it-frn / itab_it-qtd_iten ) .

      WHEN 'FOB'.

        itab_it-vlreal_aux2 = itab_it-vlreal -

         ( itab_it-frn / itab_it-qtd_iten ) .

    ENDCASE.

    APPEND itab_it TO itab_itb.

    IF itab_it-qtd_itend IS INITIAL.

      v_itad_plan = v_itad_plan + itab_it-netpr * itab_it-qtd_iten.

    ELSE.

      v_itad_plan = v_itad_plan + itab_it-netpr * itab_it-qtd_itend.

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

      ENDIF.

      IF itab_it-qtd_itend IS INITIAL.

        v_itad_real = v_itad_real + itab_it-vlreal * itab_it-qtd_iten.

      ELSE.

        v_itad_real = v_itad_real + itab_it-vlreal * itab_it-qtd_itend.

      ENDIF.

    ENDIF.

    IF itab_it-qtd_itend IS INITIAL.

      v_ttad_plan = v_ttad_plan + itab_it-netpr * itab_it-qtd_iten.

      v_ttad_real = v_ttad_real + itab_it-vlreal * itab_it-qtd_iten.

    ELSE.

      v_ttad_plan = v_ttad_plan + itab_it-netpr * itab_it-qtd_itend.

      v_ttad_real = v_ttad_real + itab_it-vlreal * itab_it-qtd_itend.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023O01

 

...

 

MODULE fill_struct049b OUTPUT.

* >> Início da exclusão: MODULE FILL_STRUCT049B

  DATA: v_ntgew_adic      LIKE /pws/zycie006-ntgew ,

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049B

  DATA:

* << Fim da inclusão

        v_wa_it122-vldp   LIKE wa_it122-vldp  ,

        v_wa_it122-vlreal LIKE wa_it122-vlreal.

  CLEAR: itab_zycit049b-vldp  , itab_zycit049b-vlreal,

* >> Início da exclusão: MODULE FILL_STRUCT049B

         v_wa_it122-vldp      , v_wa_it122-vlreal    ,

         v_ttad_plan .

  LOOP AT itab_it.

    IF itab_it-qtd_itend IS INITIAL.

      v_ttad_plan = v_ttad_plan + itab_it-netpr * itab_it-qtd_iten.

    ELSE.

      v_ttad_plan = v_ttad_plan + itab_it-netpr * itab_it-qtd_itend.

    ENDIF.

  ENDLOOP.

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049B

         v_wa_it122-vldp      , v_wa_it122-vlreal    .

* << Fim da inclusão

  READ TABLE itab_zycit122 WITH KEY codigo = itab_zycit049b-coddesp.

  wa_it122-reduz = itab_zycit122-descricao_reduz.

  LOOP AT itab_zycit049 WHERE coddesp = itab_zycit049b-coddesp

                             AND tipo = 'A'

                             AND NOT vldp IS initial.

    MOVE itab_zycit049b TO wa_it122.

    wa_it122-waers = itab_zycit049-waers.

    READ TABLE itab_zycit122 WITH KEY codigo = itab_zycit049b-coddesp.

    wa_it122-reduz = itab_zycit122-descricao_reduz.

    IF NOT itab_zycit049-vldp IS INITIAL.

      IF v_adics EQ '1'.

        v_wa_it122-vldp   = v_wa_it122-vldp   + itab_zycit049-vldp.

        v_wa_it122-vlreal = v_wa_it122-vlreal + itab_zycit049-vlreal.

      ELSE.

        IF itab_zycit049-peso EQ 'X'.

* >> Início da exclusão: MODULE FILL_STRUCT049B

          CLEAR: wa_it122-vldp, wa_it122-vlreal, v_ntgew_adic.

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049B

          CLEAR : wa_it122-vldp, wa_it122-vlreal, v_ntgew_adic.

* << Fim da inclusão

          LOOP AT itab_it WHERE adicao = wa_it-adicao.

            v_ntgew_adic = v_ntgew_adic + itab_it-ntgew.

          ENDLOOP.

          v_wa_it122-vldp   = v_wa_it122-vldp +

                              ( v_ntgew_adic / v_tntgew ) *

                               itab_zycit049-vldp.

          v_wa_it122-vlreal = v_wa_it122-vlreal +

                               ( v_ntgew_adic / v_tntgew ) *

                               itab_zycit049-vlreal.

        ELSEIF itab_zycit049-proporplan = 'X'.

          v_wa_it122-vldp   = v_wa_it122-vldp +

                ( v_itad_plan / v_ttad_plan  ) *

                itab_zycit049-vldp.

          v_wa_it122-vlreal = v_wa_it122-vlreal +

                ( v_itad_plan / v_ttad_plan  ) *

                    itab_zycit049-vlreal.

* >> Início da inclusão: MODULE FILL_STRUCT049B

        ELSEIF itab_zycit049-divabs = 'X'.

          v_wa_it122-vldp  = v_wa_it122-vldp +

          ( 1 / v_adics ) * itab_zycit049-vldp.

          v_wa_it122-vlreal  = v_wa_it122-vlreal +

          ( 1 / v_adics ) * itab_zycit049-vlreal.

        ELSE.

          IF /pws/zycit062-bs_rat_icms EQ 'CIF'.

            v_wa_it122-vlreal = ( itab_zycit049-vlreal *

            ( itab_it-vlfob + ( itab_it-vlfre / /pws/zycie085-ukursfre )

               + ( itab_it-vlseg / /pws/zycie085-ukursseg ) )

             / ( /pws/zycie085-vlfob  + v_bltofat + v_sgtofat ) ) .

            v_wa_it122-vldp = ( itab_zycit049-vldp *

            ( itab_it-vlfob + ( itab_it-vlfre / /pws/zycie085-ukursfre )

               + ( itab_it-vlseg / /pws/zycie085-ukursseg ) )

             / ( /pws/zycie085-vlfob  + v_bltofat + v_sgtofat ) ) .

* << Fim da inclusão

        ELSE.

* >> Início da inclusão: MODULE FILL_STRUCT049B

            IF NOT v_tot_real IS INITIAL.

* << Fim da inclusão

          v_wa_it122-vldp   = v_wa_it122-vldp +

* >> Início da exclusão: MODULE FILL_STRUCT049B

                ( v_itad_plan / v_ttad_plan  ) *

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049B

                    ( v_itad_real / v_ttad_real  ) *

* << Fim da inclusão

                    itab_zycit049-vldp.

          v_wa_it122-vlreal = v_wa_it122-vlreal +

* >> Início da exclusão: MODULE FILL_STRUCT049B

                ( v_itad_plan / v_ttad_plan  ) *

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049B

                    ( v_itad_real / v_ttad_real ) *

* << Fim da inclusão

                    itab_zycit049-vlreal.

* >> Início da inclusão: MODULE FILL_STRUCT049B

            ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

* >> Início da inclusão: MODULE FILL_STRUCT049B

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

  wa_it122-vldp   = wa_it122-vldp   + v_wa_it122-vldp.

  wa_it122-vlreal = wa_it122-vlreal + v_wa_it122-vlreal.

ENDMODULE.

...

 

...

          v_wa_it123-vlreal = v_wa_it123-vlreal +

                             ( v_ntgew_adic / v_tntgew ) *

                              itab_zycit049-vlreal.

        ELSEIF itab_zycit049-proporplan = 'X'.

          v_wa_it123-vldp   = v_wa_it123-vldp +

                ( v_itad_plan / v_ttad_plan  ) *

                itab_zycit049-vldp.

          v_wa_it123-vlreal = v_wa_it123-vlreal +

                ( v_itad_plan / v_ttad_plan  ) *

                    itab_zycit049-vlreal.

* >> Início da inclusão: MODULE FILL_STRUCT049C

        ELSEIF itab_zycit049-divabs = 'X'.

          v_wa_it123-vldp  = ( 1 / v_adics ) * itab_zycit049-vldp.

          v_wa_it123-vlreal  = ( 1 / v_adics ) * itab_zycit049-vlreal.

        ELSE.

          IF /pws/zycit062-bs_rat_icms EQ 'CIF'.

            v_wa_it123-vlreal = ( itab_zycit049-vlreal *

            ( itab_it-vlfob + ( itab_it-vlfre / /pws/zycie085-ukursfre )

               + ( itab_it-vlseg / /pws/zycie085-ukursseg ) )

             / ( /pws/zycie085-vlfob  + v_bltofat + v_sgtofat ) ) .

            v_wa_it123-vldp = ( itab_zycit049-vldp *

            ( itab_it-vlfob + ( itab_it-vlfre / /pws/zycie085-ukursfre )

               + ( itab_it-vlseg / /pws/zycie085-ukursseg ) )

             / ( /pws/zycie085-vlfob  + v_bltofat + v_sgtofat ) ) .

* << Fim da inclusão

        ELSE.

* >> Início da inclusão: MODULE FILL_STRUCT049C

            IF NOT v_tot_real IS INITIAL.

* << Fim da inclusão

          v_wa_it123-vldp   = v_wa_it123-vldp +

* >> Início da exclusão: MODULE FILL_STRUCT049C

                ( v_itad_plan / v_ttad_plan  ) *

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049C

                    ( v_itad_real / v_ttad_real  ) *

* << Fim da inclusão

                    itab_zycit049-vldp.

          v_wa_it123-vlreal = v_wa_it123-vlreal +

* >> Início da exclusão: MODULE FILL_STRUCT049C

                ( v_itad_plan / v_ttad_plan  ) *

* << Fim da exclusão

* >> Início da inclusão: MODULE FILL_STRUCT049C

                    ( v_itad_real / v_ttad_real ) *

* << Fim da inclusão

                    itab_zycit049-vlreal.

* >> Início da inclusão: MODULE FILL_STRUCT049C

            ENDIF.

          ENDIF.

* << Fim da inclusão

        ENDIF.

      ENDIF.

    ENDIF.

  ENDLOOP.

  wa_it123-vldp   = wa_it123-vldp   + v_wa_it123-vldp.

  wa_it123-vlreal = wa_it123-vlreal + v_wa_it123-vlreal.

  IF wa_it123-vldp < 0.

    wa_it123-vldp   = wa_it123-vldp   * -1.

    wa_it123-vlreal = wa_it123-vlreal * -1.

  ENDIF.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

* >> Início da inclusão:

 

data:

      v_itad_real type /pws/zycit003-vlreal,

      v_ttad_real type /pws/zycit003-vlreal.

      v_ttad_real type /pws/zycit003-vlreal,

      v_ntgew_adic      LIKE /pws/zycie006-ntgew .

* << Fim da inclusão

DATA: END OF COMMON PART.