CE PLUS - Nota 003422

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 10/04/2007 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:07:31

Descrição da Nota: AJUSTE CALCULO DO ICMS RESPEITANDO PARAMETRO DA /PWS/ZYCIT062

Sintoma

O programa do ato concessório não esta respeitando os parametros da tabela /pws/zycit062 para

realizar o calculo do valor de ICMS

 

 

Solução

Ajustar o programa para realizar o calculo do ICMS de acordo com os aparametros da tabela

/pws/zycit062.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

TRATAMENTO PARA INFORMAR QUAL O LOTE ESTÁ REALIZANDO O LANÇAMENTO

CORREÇÃO DO CALCULO DO VALOR DE ICMS NA NACIONALIZAÇÃO E TAXA DE MOEDA.

Informações Complementares

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

Nota Número 03422 Data: 10/04/2007 Hora: 16:20:12

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

 

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

Nota Número              : 03422

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00161

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

Referência às notas relacionadas:

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

 

02212  - 00001 - 6.0    - 00025  - TRATAMENTO PARA INFORMAR QUAL O LOTE ESTÁ REALIZANDO O LANÇAMENTO

02801  - 00002 - 6.0    - 00026  - CORREÇÃO DO CALCULO DO VALOR DE ICMS NA NACIONALIZAÇÃO E TAXA DE

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

AJUSTE CALCULO DO ICMS RESPEITANDO PARAMETRO DA /PWS/ZYCIT062

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

Palavras Chave:

PARAMETRO - CALCULO - ICMS - ATO - CONCESSÓRIO

/PWS/ZYCIT062 - /PWS/SAPMZYCI040

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

Objetos da nota:

REPS /PWS/MZYCI040F03

REPS /PWS/MZYCI040I01

REPS /PWS/MZYCI040TOP2

REPS /PWS/SAPMZYCI040

 

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

Modificações efetuadas em REPS /PWS/MZYCI040F03

 

...

                                itab_zycit246-juroscof ) / 100.

      itab_zycit246-afrmm = 25.

      IF NOT itab_zycit246-i_txmoeda IS INITIAL.

        /pws/zycie470-afrmm = ( ( itab_zycit246-vlfrete * v_propor )

                     * ( 25 / 100 ) ) * itab_zycit279_ap-i_txmoeda.

      ENDIF.

      /pws/zycie470-mafrmm = ( /pws/zycie470-afrmm *

                                itab_zycit246-multaafrmm ) / 100.

      /pws/zycie470-jafrmm = ( /pws/zycie470-afrmm *

                                itab_zycit246-jurosafrmm ) / 100.

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

      v_txic = ( 100 - itab_zycit279_ap-i_txicms ) / 100.

      IF v_txic <= 0.

        v_txic = 1.

* << Fim da exclusão

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

      SELECT SINGLE c~region

          FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON

                   a~bukrs  = b~bukrs

               AND a~branch = b~branch )

               INNER JOIN adrc AS c ON

                   b~adrnr  = c~addrnumber )

          INTO v_regio

          WHERE a~docnum EQ itab_zycit279_ap-docnum.

      IF sy-subrc EQ 0 .

        SELECT SINGLE * FROM /pws/zycit062

             WHERE regio = v_regio.

* << Fim da inclusão

      ENDIF.

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

      IF /pws/zycit321-ut_imp EQ 'X'.

* << Fim da exclusão

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

      IF /pws/zycit062-susp_nf EQ 'S'.

        itab_zycit279_ap-baseicms =

          ( itab_zycit279_ap-baseicms * v_propor ) +

                      /pws/zycie470-ii + /pws/zycie470-ipi +

                      /pws/zycie470-pis + /pws/zycie470-cofins.

* << Fim da inclusão

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

        /pws/zycie470-icms   =

                         ( ( ( itab_zycit279_ap-baseicms * v_propor +

             itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *

                                 itab_zycit279_ap-i_txicms ) / 100.

* << Fim da exclusão

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

      ENDIF.

      IF NOT /pws/zycit062-flag_icms IS INITIAL AND

             /pws/zycit062-susp_nf EQ 'S'.

        itab_zycit246-i_vlicms   =

              ( ( itab_zycit279_ap-baseicms /

               (  1 - ( itab_zycit246-i_txicms / 100 ) ) )

                              * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

      ELSE.

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

        /pws/zycie470-icms   =

                           (  ( itab_zycit279_ap-baseicms * v_propor

                               ) * itab_zycit279_ap-i_txicms ) / 100.

* << Fim da exclusão

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

        itab_zycit246-i_vlicms   =

              (  itab_zycit279_ap-baseicms

                              * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

      ENDIF.

      /pws/zycie470-micms  =

                                  ( /pws/zycie470-icms *

                                     itab_zycit246-multaicms ) / 100.

      /pws/zycie470-mii    = ( /pws/zycie470-ii *

                                     itab_zycit246-multaii ) / 100.

      /pws/zycie470-mipi   = ( /pws/zycie470-ipi *

                                     itab_zycit246-multaipi ) / 100.

      /pws/zycie470-jii    =

               ( /pws/zycie470-ii * itab_zycit246-i_txselic ) / 100.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

                          * ( 25 / 100 ) ) * itab_zycit246-i_txmoeda.

      ENDIF.

      itab_zycit246-vmultaafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-multaafrmm ) / 100.

      itab_zycit246-vjurosafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-jurosafrmm ) / 100.

      v_txic = ( 100 - itab_zycit246-i_txicms ) / 100.

      IF v_txic <= 0.

        v_txic = 1.

      ENDIF.

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

      SELECT SINGLE c~region

          FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON

                   a~bukrs  = b~bukrs

               AND a~branch = b~branch )

               INNER JOIN adrc AS c ON

                   b~adrnr  = c~addrnumber )

          INTO v_regio

          WHERE a~docnum EQ itab_zycit246-docnum.

      IF sy-subrc EQ 0 .

        SELECT SINGLE * FROM /pws/zycit062

             WHERE regio = v_regio.

      ENDIF.

      IF NOT /pws/zycit062-flag_icms IS INITIAL AND

             /pws/zycit062-susp_nf EQ 'S'.

        itab_zycit279_ap-baseicms =

          ( itab_zycit279_ap-baseicms * v_propor ) +

                      itab_zycit246-i_vlii + itab_zycit246-i_vlipi +

                      itab_zycit246-vlpis + itab_zycit246-vlcof.

* << Fim da inclusão

      itab_zycit246-i_vlicms   =

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

                         (  ( itab_zycit279_ap-baseicms * v_propor

                                  ) * itab_zycit246-i_txicms ) / 100.

* << Fim da exclusão

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

              ( ( itab_zycit279_ap-baseicms /

               (  1 - ( itab_zycit246-i_txicms / 100 ) ) )

                              * itab_zycit246-i_txicms ) / 100.

      ELSE.

        itab_zycit246-i_vlicms   =

              (  itab_zycit279_ap-baseicms

                              * itab_zycit246-i_txicms ) / 100.

      ENDIF.

* << Fim da inclusão

      itab_zycit246-i_multaicms  =

                                  ( itab_zycit246-i_vlicms *

                                     itab_zycit246-multaicms ) / 100.

      itab_zycit246-i_tottrib    =

                           itab_zycit246-i_vlii + itab_zycit246-i_vlipi.

      itab_zycit246-i_multaii    = ( itab_zycit246-i_vlii *

                                     itab_zycit246-multaii ) / 100.

      itab_zycit246-i_multaipi   = ( itab_zycit246-i_vlipi *

                                     itab_zycit246-multaipi ) / 100.

      itab_zycit246-i_jurosii    =

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI040TOP2

 

TABLES: ekko     ,

        t001a    ,

        t002t    ,

        t604n    ,

        marc     ,

        /pws/zycit001 ,

        /pws/zycit003 ,

        /pws/zycit085 ,

        /pws/zycit100 ,

* >> Início da inclusão:

        /pws/zycit062 ,

* << Fim da inclusão

        /pws/zycet001 ,

        /pws/zycet002 ,

        /pws/zycet003 ,

        /pws/zycet008 ,

        /pws/zycit078 ,

        /pws/zycit079 ,

        /pws/zycie085 ,

        /pws/zycet116 ,

        /pws/zycet118 ,

        /pws/zycet183 ,

...

 

...

        vltot_brl LIKE /pws/zycie246-vltot,

        v_sfob_text(22)                   ,

        v_sfrete_text(22)                 ,

        v_sseg_text(22)                   ,

        v_rfob_text(22)                   ,

        v_rfrete_text(22)                 ,

        v_rseg_text(22)                   ,

        v_txtnetpr(20)                    ,

        v_tsiscomex(4) type c             ,

        v_ver_alt type c                  .

* >> Início da inclusão:

  DATA: v_regio TYPE adrc-region.

* << Fim da inclusão

DATA: v_meins   LIKE mara-meins,

      v_gewei   LIKE mara-gewei,

      v_brgew   LIKE mara-brgew,

      v_ntgew   LIKE mara-ntgew,

      v_netpr_t LIKE mbew-stprs,

      v_waers   LIKE t001-waers,

      v_waers_t LIKE t001-waers,

      v_matkl   LIKE mara-matkl,

      v_steuc   LIKE marc-steuc,

      v_stlan_t LIKE mast-stlan,

...

 

 

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

Modificações efetuadas em REPS /PWS/SAPMZYCI040

 

...

                                  itab_zycit246-juroscof ) / 100.

        itab_zycit246-afrmm = 25.

        IF NOT itab_zycit246-i_txmoeda IS INITIAL.

          /pws/zycie470-afrmm = ( ( itab_zycit246-vlfrete * v_propor )

                       * ( 25 / 100 ) ) * itab_zycit279_ap-i_txmoeda.

        ENDIF.

        /pws/zycie470-mafrmm = ( /pws/zycie470-afrmm *

                                  itab_zycit246-multaafrmm ) / 100.

        /pws/zycie470-jafrmm = ( /pws/zycie470-afrmm *

                                  itab_zycit246-jurosafrmm ) / 100.

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

        v_txic = ( 100 - itab_zycit279_ap-i_txicms ) / 100.

        IF v_txic <= 0.

          v_txic = 1.

* << Fim da exclusão

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

        SELECT SINGLE c~region

            FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON

                     a~bukrs  = b~bukrs

                 AND a~branch = b~branch )

                 INNER JOIN adrc AS c ON

                     b~adrnr  = c~addrnumber )

            INTO v_regio

            WHERE a~docnum EQ itab_zycit279_ap-docnum.

        IF sy-subrc EQ 0 .

          SELECT SINGLE * FROM /pws/zycit062

               WHERE regio = v_regio.

* << Fim da inclusão

        ENDIF.

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

        IF /pws/zycit321-ut_imp EQ 'X'.

* << Fim da exclusão

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

        IF /pws/zycit062-susp_nf EQ 'S'.

          itab_zycit279_ap-baseicms =

            ( itab_zycit279_ap-baseicms * v_propor ) +

                        /pws/zycie470-ii + /pws/zycie470-ipi +

                        /pws/zycie470-pis + /pws/zycie470-cofins.

* << Fim da inclusão

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

          /pws/zycie470-icms   =

                           ( ( ( itab_zycit279_ap-baseicms * v_propor +

               itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *

                                   itab_zycit279_ap-i_txicms ) / 100.

* << Fim da exclusão

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

        ENDIF.

        IF NOT /pws/zycit062-flag_icms IS INITIAL.

          itab_zycit246-i_vlicms   =

                ( ( itab_zycit279_ap-baseicms /

                 (  1 - ( itab_zycit246-i_txicms / 100 ) ) )

                                * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

        ELSE.

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

          /pws/zycie470-icms   =

                             (  ( itab_zycit279_ap-baseicms * v_propor

                                 ) * itab_zycit279_ap-i_txicms ) / 100.

* << Fim da exclusão

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

          itab_zycit246-i_vlicms   =

                (  itab_zycit279_ap-baseicms

                                * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

        ENDIF.

        /pws/zycie470-micms  =

                                    ( /pws/zycie470-icms *

                                       itab_zycit246-multaicms ) / 100.

        /pws/zycie470-mii    = ( /pws/zycie470-ii *

                                       itab_zycit246-multaii ) / 100.

        /pws/zycie470-mipi   = ( /pws/zycie470-ipi *

                                       itab_zycit246-multaipi ) / 100.

        /pws/zycie470-jii    =

                 ( /pws/zycie470-ii * itab_zycit246-i_txselic ) / 100.

...

 

...

                                itab_zycit246-juroscof ) / 100.

      itab_zycit246-afrmm = 25.

      IF NOT itab_zycit246-i_txmoeda IS INITIAL.

        itab_zycit246-vafrmm = ( ( itab_zycit246-vlfrete * v_propor )

                          * ( 25 / 100 ) ) * itab_zycit246-i_txmoeda.

      ENDIF.

      itab_zycit246-vmultaafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-multaafrmm ) / 100.

      itab_zycit246-vjurosafrmm = ( itab_zycit246-vafrmm *

                                itab_zycit246-jurosafrmm ) / 100.

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

      v_txic = ( 100 - itab_zycit246-i_txicms ) / 100.

      IF v_txic <= 0.

        v_txic = 1.

* << Fim da exclusão

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

      SELECT SINGLE c~region

          FROM ( ( j_1bnfdoc AS a INNER JOIN j_1bbranch AS b ON

                   a~bukrs  = b~bukrs

               AND a~branch = b~branch )

               INNER JOIN adrc AS c ON

                   b~adrnr  = c~addrnumber )

          INTO v_regio

          WHERE a~docnum EQ itab_zycit246-docnum.

      IF sy-subrc EQ 0 .

        SELECT SINGLE * FROM /pws/zycit062

             WHERE regio = v_regio.

* << Fim da inclusão

      ENDIF.

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

      IF /pws/zycit321-ut_imp EQ 'X'.

* << Fim da exclusão

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

      IF /pws/zycit062-susp_nf EQ 'S'.

        itab_zycit279_ap-baseicms =

          ( itab_zycit279_ap-baseicms * v_propor ) +

                      itab_zycit246-i_vlii + itab_zycit246-i_vlipi +

                      itab_zycit246-vlpis + itab_zycit246-vlcof.

      ENDIF.

      IF NOT /pws/zycit062-flag_icms IS INITIAL and

             /pws/zycit062-susp_nf eq 'S'.

* << Fim da inclusão

        itab_zycit246-i_vlicms   =

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

                           ( ( ( itab_zycit279_ap-baseicms * v_propor +

               itab_zycit246-vlpis + itab_zycit246-vlcof ) / v_txic ) *

                                         itab_zycit246-i_txicms ) / 100.

* << Fim da exclusão

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

              ( ( itab_zycit279_ap-baseicms /

               (  1 - ( itab_zycit246-i_txicms / 100 ) ) )

                              * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

      ELSE.

        itab_zycit246-i_vlicms   =

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

                           (  ( itab_zycit279_ap-baseicms * v_propor

                                    ) * itab_zycit246-i_txicms ) / 100.

* << Fim da exclusão

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

              (  itab_zycit279_ap-baseicms

                              * itab_zycit246-i_txicms ) / 100.

* << Fim da inclusão

      ENDIF.

      itab_zycit246-i_multaicms  =

                                  ( itab_zycit246-i_vlicms *

                                     itab_zycit246-multaicms ) / 100.

      itab_zycit246-i_tottrib    =

                           itab_zycit246-i_vlii + itab_zycit246-i_vlipi.

      itab_zycit246-i_multaii    = ( itab_zycit246-i_vlii *

                                     itab_zycit246-multaii ) / 100.

      itab_zycit246-i_multaipi   = ( itab_zycit246-i_vlipi *

                                     itab_zycit246-multaipi ) / 100.

...