CE PLUS - Nota 000370

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 30/11/2005 00:00:00

Data/Hora Última Alteração: 20/06/2011 11:58:21

Descrição da Nota: PERÍODO DE VIGÊNCIA DA MP252.

Sintoma

O programa deve tratar outro período para a vigência da MP 252 no Calculo de Pis e Cofins!

 

 

 

Solução

Fazer o tratamento com outras entradas da tabela /PWS/ZYCIT438.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

INCLUIR PERDA DA VALIDADE DA MP252 NA TABELA DE PARÂMETROS /PWS/ZYCIT438

Informações Complementares

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

Nota Número 00370 Data: 30/11/2005 Hora: 11:44:25

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

 

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

Nota Número              : 00370

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00021

Agrupamento              : 00090

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

Referência às notas relacionadas:

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

 

00185  - 00001 - 6.0    - 00021  - INCLUIR PERDA DA VALIDADE DA MP252 NA TABELA DE PARÂMETROS /PWS/Z

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

PERÍODO DE VIGÊNCIA DA MP252.

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

Palavras Chave:

MP252 - CÁLCULO DE PIS E COFINS - VIGÊNCIA - /PWS/ZYCIT438

 

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

Objetos da nota:

REPS /PWS/MZYCI023F03

REPS /PWS/MZYCI023F04

REPS /PWS/MZYCI023X01

REPS /PWS/MZYCI058F01

REPS /PWS/MZYCI058F03

REPS /PWS/MZYCI058TOP

REPS /PWS/MZYCI058X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F03

 

...

ENDFORM.

FORM load_iicms USING p_tipo.

  CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,

          v_advpis, v_advcof, v_desp.

 DATA itab_zycit003_rateio LIKE /pws/zycit003 OCCURS 0 WITH HEADER LINE.

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

  SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP252'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = ' '

       and   lei = 'MP252'.

  ENDIF.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP255'.

  IF sy-subrc NE 0.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = ' '

     and   lei = 'MP255'.

  ENDIF.

  CLEAR v_nova.

* << Fim da inclusão

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

  SELECT SINGLE * FROM /pws/zycit438 WHERE lei = 'MP252'.

* << Fim da exclusão

  IF /pws/zycie085-dtuserc IS INITIAL.

    /pws/zycie085-dtuserc = sy-datum.

  ENDIF.

  IF NOT itab_it[] IS INITIAL.

    SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_rateio

...

 

...

    v_advicms = ( /pws/zycie003-advalicms / 100 ).

  ENDIF.

  v_advpis  = ( itab_it-advalpis / 100 ).

  v_advcof  = ( itab_it-advalcofins / 100 ).

  IF /pws/zycit000-pis_cof EQ 'X'.

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

    IF /pws/zycit438-vigencia IS INITIAL.

      PERFORM mp_antiga.

* << Fim da exclusão

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

    IF NOT itab_zycit438[] IS INITIAL.

      IF NOT /pws/zycie085-dtreg IS INITIAL.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

* << Fim da inclusão

    ELSE.

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

      IF NOT /pws/zycie085-dtreg IS INITIAL .

        if not /pws/zycit438-vigencia_ate is initial.

          IF /pws/zycit438-vigencia     <= /pws/zycie085-dtreg and

             /pws/zycit438-vigencia_ate >= /pws/zycie085-dtreg.

            PERFORM mp_nova.

* << Fim da exclusão

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

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

              IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

                 itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

                 NOT itab_zycit438-vigencia IS INITIAL.

                v_nova = 'X'.

              ENDIF.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_antiga.

* << Fim da exclusão

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

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          ENDIF.

        else.

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

          IF /pws/zycie085-dtreg LT /pws/zycit438-vigencia.

            PERFORM mp_antiga.

* << Fim da exclusão

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

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_nova.

* << Fim da exclusão

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

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

             IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

                 itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

                 NOT itab_zycit438-vigencia IS INITIAL.

                v_nova = 'X'.

              ENDIF.

* << Fim da inclusão

          ENDIF.

        endif.

      ELSE.

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

        if not /pws/zycit438-vigencia_ate is initial.

          IF /pws/zycit438-vigencia     <= /pws/zycie085-dtuserc and

             /pws/zycit438-vigencia_ate >= /pws/zycie085-dtuserc.

            PERFORM mp_nova.

* << Fim da exclusão

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

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_antiga.

* << Fim da exclusão

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

      CLEAR v_nova.

* << Fim da inclusão

          ENDIF.

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

        else.

          IF /pws/zycie085-dtuserc LT /pws/zycit438-vigencia.

* << Fim da exclusão

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

    IF v_nova IS INITIAL.

* << Fim da inclusão

            PERFORM mp_antiga.

          ELSE.

            PERFORM mp_nova.

          ENDIF.

        endif.

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

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da exclusão

  IF itab_it-nrseqd IS INITIAL.

    SELECT SINGLE * FROM /pws/zycit078 INTO wa_zycit078 WHERE

     nrseqli = /pws/zycie003-nrseqli.

    IF sy-subrc EQ 0.

      v_nratoc     = wa_zycit078-reg_drawback.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI023F04

 

...

          itab_it-basecofins  = itab_it-basepis  =

                ( t_ivadu * ( (  1 + v_advicms *  ( v_advii + v_advipi *

                ( 1 + v_advii ) ) ) / ( ( 1 - v_advpis - v_advcof ) *

                ( 1 - v_advicms ) ) ) ).

endform.

* >> Início da inclusão:

form vigencia_mp.

      IF NOT /pws/zycie085-dtreg IS INITIAL .

        if not itab_zycit438-vigencia_ate is initial.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg and

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg.

            PERFORM mp_nova.

          ELSE.

            PERFORM mp_antiga.

          ENDIF.

        else.

          IF /pws/zycie085-dtreg LT itab_zycit438-vigencia.

            PERFORM mp_antiga.

          ELSE.

            PERFORM mp_nova.

          ENDIF.

        endif.

      ELSE.

        if not itab_zycit438-vigencia_ate is initial.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc and

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc.

            PERFORM mp_nova.

          ELSE.

            PERFORM mp_antiga.

          ENDIF.

        else.

          IF /pws/zycie085-dtuserc LT itab_zycit438-vigencia.

            PERFORM mp_antiga.

          ELSE.

            PERFORM mp_nova.

          ENDIF.

        endif.

      ENDIF.

endform.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI023X01

 

...

      itab_zycbt032  LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,

      itab_zycbe033  LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE,

      itab_zycbt036  LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE,

      itab_zycbt013  LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,

      itab_zycbt012  LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE.

* >> Início da inclusão:

 data: begin of itab_zycit438 occurs 0 .

       include structure /pws/zycit438.

 data: end of itab_zycit438.

* << Fim da inclusão

data:

        v_modo_bi                  ,

        v_belnrf05 LIKE itab_zycbt032-belnr,

        v_belnr     LIKE bkpf-belnr,

        v_sgtxt    LIKE bseg-sgtxt,

...

 

...

        v_xb   LIKE t_icms,

        v_xc   LIKE t_icms,

        v_fatx TYPE p DECIMALS 8,

        v_faty TYPE p DECIMALS 8,

        v_tot_real LIKE /pws/zycie003-vlreal,

* >> Início da exclusão:

        v_fatpc LIKE t_icms.

* << Fim da exclusão

* >> Início da inclusão:

        v_fatpc LIKE t_icms,

        v_nova.

* << Fim da inclusão

data:  wa_it000      LIKE /pws/zycit000,

       wa_zycit078   like /pws/zycit078.

data: end of common part.

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F01

 

...

    PERFORM fill_criar.

  ELSE.

    IF sy-tcode <> '/PWS/ZYCI023_C' AND sy-tcode <> '/PWS/ZYCI058_C'.

      /pws/zycie085-dtusera   = sy-datum.

      /pws/zycie085-usernamea = sy-uname.

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

    ELSE.

* << Fim da exclusão

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

    ELSEif v_salvo ne 'X'.

        v_salvo = 'X'.

* << Fim da inclusão

        PERFORM fill_nrseq.

        MESSAGE i015 WITH text-013 /pws/zycie085-nrseqdi.

    ENDIF.

  ENDIF.

  MODIFY /pws/zycit085 FROM /pws/zycie085.

...

 

...

      APPEND itab_zycit095.

    ENDIF.

  ENDIF.

ENDFORM.

FORM fill_criar.

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

   v_salvo = 'X'.

* << Fim da inclusão

  /pws/zycie085-mandt     = sy-mandt.

  /pws/zycie085-dtuserc   = sy-datum.

  /pws/zycie085-usernamec = sy-uname.

  /pws/zycie085-tpdi      = v_dit.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058F03

 

...

  clear : v_fatx, v_xa , v_xb , v_xc, v_faty, v_fatpc.

  clear: t_ivdesp.

  select single * from t001 where bukrs = /pws/zycie085-bukrs.

  select single * from /pws/zycit000 into /pws/zycit000

  where land1 = t001-land1.

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

  select single * from /pws/zycit438 where lei = 'MP252'.

* << Fim da exclusão

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

  SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP252'.

  IF sy-subrc NE 0.

    SELECT  * FROM /pws/zycit438 INTO TABLE itab_zycit438

       WHERE regio = ' '

       and   lei = 'MP252'.

  ENDIF.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = v_region

     AND   lei = 'MP255'.

  IF sy-subrc NE 0.

  SELECT  * FROM /pws/zycit438 APPENDING TABLE itab_zycit438

     WHERE regio = ' '

     and   lei = 'MP255'.

  ENDIF.

  CLEAR v_nova.

* << Fim da inclusão

  if /pws/zycie085-dtuserc is initial.

    /pws/zycie085-dtuserc = sy-datum.

  endif.

  loop at itab_zycit049 where baseicms eq 'X' and not vlreal is initial.

    if /pws/zycit000-flag_txsisc is initial or v_dit ne 'N' or

...

 

...

  v_advipi  = ( /pws/zycie003-advalipi / 100 ).

  v_advicms = ( /pws/zycie003-advalicms / 100 ).

  v_advpis  = ( itab_it-advalpis / 100 ).

  v_advcof  = ( itab_it-advalcofins / 100 ).

  IF /pws/zycit000-pis_cof EQ 'X'.

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

    IF /pws/zycit438-vigencia IS INITIAL.

      PERFORM mp_antiga.

* << Fim da exclusão

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

    IF NOT itab_zycit438[] IS INITIAL.

      IF NOT /pws/zycie085-dtreg IS INITIAL.

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

* << Fim da inclusão

    ELSE.

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

      IF NOT /pws/zycie085-dtreg IS INITIAL .

        if not /pws/zycit438-vigencia_ate is initial.

          IF /pws/zycit438-vigencia     <= /pws/zycie085-dtreg and

             /pws/zycit438-vigencia_ate >= /pws/zycie085-dtreg.

            PERFORM mp_nova.

* << Fim da exclusão

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

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

              IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

                 itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

                 NOT itab_zycit438-vigencia IS INITIAL.

                v_nova = 'X'.

              ENDIF.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_antiga.

* << Fim da exclusão

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

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtreg AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtreg AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

* << Fim da inclusão

          ENDIF.

        else.

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

          IF /pws/zycie085-dtreg LT /pws/zycit438-vigencia.

            PERFORM mp_antiga.

* << Fim da exclusão

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

        READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.

        IF sy-subrc EQ 0.

          IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

             itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

             NOT itab_zycit438-vigencia IS INITIAL.

            v_nova = 'X'.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_nova.

* << Fim da exclusão

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

            READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

            IF sy-subrc EQ 0.

             IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

                 itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

                 NOT itab_zycit438-vigencia IS INITIAL.

                v_nova = 'X'.

              ENDIF.

* << Fim da inclusão

          ENDIF.

        endif.

      ELSE.

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

        if not /pws/zycit438-vigencia_ate is initial.

          IF /pws/zycit438-vigencia     <= /pws/zycie085-dtuserc and

             /pws/zycit438-vigencia_ate >= /pws/zycie085-dtuserc.

            PERFORM mp_nova.

* << Fim da exclusão

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

          READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.

          IF sy-subrc EQ 0.

            IF itab_zycit438-vigencia     <= /pws/zycie085-dtuserc AND

               itab_zycit438-vigencia_ate >= /pws/zycie085-dtuserc AND

               NOT itab_zycit438-vigencia IS INITIAL.

              v_nova = 'X'.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da inclusão

          ELSE.

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

            PERFORM mp_antiga.

* << Fim da exclusão

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

      CLEAR v_nova.

* << Fim da inclusão

          ENDIF.

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

        else.

          IF /pws/zycie085-dtuserc LT /pws/zycit438-vigencia.

* << Fim da exclusão

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

    IF v_nova IS INITIAL.

* << Fim da inclusão

            PERFORM mp_antiga.

          ELSE.

            PERFORM mp_nova.

          ENDIF.

        endif.

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

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da exclusão

  if /pws/zycie100a-aliqpis is initial.

    /pws/zycie100a-aliqpis = itab_it-advalpis.

  endif.

  if /pws/zycie100a-aliqcof is initial.

    /pws/zycie100a-aliqcof = itab_it-advalcofins.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI058TOP

 

...

        v_dele            ,

        v_blart    LIKE /pws/zycbt011-blart,

        v_desp_acr LIKE /pws/zycit049-vldp,

        v_desp_brl LIKE /pws/zycit049-vldp,

        v_evento   LIKE /pws/zyglt321-codeven,

* >> Início da exclusão:

        v_required.

* << Fim da exclusão

* >> Início da inclusão:

        v_required,

        v_salvo.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI058X01

 

...

      itab_zycbt032  LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE,

      itab_zycbe033  LIKE /pws/zycbe033 OCCURS 10 WITH HEADER LINE,

      itab_zycbt036  LIKE /pws/zycbt036 OCCURS 10 WITH HEADER LINE,

      itab_zycbt013  LIKE /pws/zycbt013 OCCURS 10 WITH HEADER LINE,

      itab_zycbt012  LIKE /pws/zycbt012 OCCURS 10 WITH HEADER LINE.

* >> Início da inclusão:

 data: begin of itab_zycit438 occurs 0 .

       include structure /pws/zycit438.

 data: end of itab_zycit438.

* << Fim da inclusão

data:

        v_modo_bi                  ,

        v_belnrf05 LIKE itab_zycbt032-belnr,

        v_belnr     LIKE bkpf-belnr,

        v_sgtxt    LIKE bseg-sgtxt,

...

 

...

        v_xb   LIKE t_icms,

        v_xc   LIKE t_icms,

        v_fatx TYPE p DECIMALS 8,

        v_faty TYPE p DECIMALS 8,

        v_tot_real LIKE /pws/zycie003-vlreal,

* >> Início da exclusão:

        v_fatpc LIKE t_icms.

* << Fim da exclusão

* >> Início da inclusão:

        v_fatpc LIKE t_icms,

        v_nova.

* << Fim da inclusão

data:  wa_it000      LIKE /pws/zycit000,

       wa_zycit078   like /pws/zycit078.

data: end of common part.