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.
6.0
Produto:
Nota
Descrição
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.