Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 10/10/2013 00:00:00
Data/Hora Última Alteração: 14/10/2013 17:22:09
Descrição da Nota: NOVA LEGISLAÇÃO PARA ALTERAR BASE DE CÁLCULO DO PIS E COFINS
Sintoma
Nova legislação para alterar base de cálculo do pis e cofins
Solução
Feito tratamento para parâmetro com origem MP615 na /pws/zycit438
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13315 Data: 10/10/2013 Hora: 15:37:33
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13315
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00165
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04140 - 00001 - 7.0 - 00002 - RATEIO DO SEGURO NA DI DEVE SER PELO VALOR FOB
08949 - 00002 - 7.0 - 00010 - PROGRAMA SE PERDE AO CALCULAR VALOR CIF NA DSI
10918 - 00003 - 8.0 - 00006 - AJUSTES PARA TRATAMENTO DE DSI DE REIMPORTAÇÃO
11377 - 00004 - 8.0 - 00008 - RATEIO DE SEGURO NÃO BATE COM TOTAL DE ITENS QUANDO A MOEDA É DIF
11747 - 00005 - 8.0 - 00009 - BASE DE ICMS NÃO BATE COM TOTAL DA NOTA MESMO COM FLAG DE ARREDON
11921 - 00006 - 8.0 - 00010 - NÃO ABATE DA BASE DE II DESPESAS PARAMETRIZADAS COMO DEDUÇÃO
12524 - 00007 - 9.0 - 00002 - ERRO NO CAMPO VALOR MLE NA PASTA 3 DOS ITENS
----------------------------------------------------------------------------------------------------
NOVA LEGISLAÇÃO PARA ALTERAR BASE DE CÁLCULO DO PIS E COFINS
----------------------------------------------------------------------------------------------------
Palavras Chave:
LEGISLACAO - MP 615 - PIS - COFINS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F01
REPS /PWS/MZYCI023F03
REPS /PWS/MZYCI023X01
REPS /PWS/MZYCI058F01
REPS /PWS/MZYCI058F03
REPS /PWS/MZYCI058X01
REPS /PWS/MZYCI070F01
REPS /PWS/MZYCI070F03
REPS /PWS/MZYCI070X01
***Necessário parâmetro na /PWS/ZYCIT438
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F01
...
IF NOT /pws/zycit000-rat_seg_fob IS INITIAL.
CASE s_inco1_ci.
WHEN 'CIF'.
t_dif_seg = /pws/zycie003-vlseg_fat - v_tot_seg .
ENDCASE.
ENDIF.
CASE s_inco1_ci.
WHEN 'FOB'.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle + t_ivseg + t_ivfre.
* << Fim da inclusão
t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.
IF t_ivadu LT 0 AND v_neg EQ 'X'.
CLEAR t_ivadu.
MESSAGE i015 WITH text-294 text-295 .
EXIT.
ENDIF.
v_casasd = t_ivseg.
v_casasd2 = t_ivfre.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.
...
...
IF /pws/zycie085-waersfob NE itab_it-waersbem.
PERFORM: calc_conv_moeda:
USING /pws/zycie085-waersfob
itab_it-waersbem
CHANGING t_vmle2.
ENDIF.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle2 + t_ivseg .
* << Fim da inclusão
t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.
IF t_ivadu LT 0 AND v_neg EQ 'X'.
CLEAR t_ivadu.
MESSAGE i015 WITH text-294 text-295 .
EXIT.
ENDIF.
v_casasd = t_ivseg.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .
WHEN 'CIF'.
...
...
t_ivmle + v_desp_fren + t_ivfre + t_ivseg .
ENDIF.
t_vmle2 = t_vmle.
IF /pws/zycie085-waersfob NE itab_it-waersbem.
PERFORM: calc_conv_moeda:
USING /pws/zycie085-waersfob
itab_it-waersbem
CHANGING t_vmle2.
ENDIF.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle2 - v_desp_fren.
* << Fim da inclusão
t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.
IF t_ivadu LT 0 AND v_neg EQ 'X'.
CLEAR t_ivadu.
MESSAGE i015 WITH text-294 text-295 .
EXIT.
ENDIF.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle2 + v_casasd3 .
WHEN 'C+I'.
t_ivmle_d2 = t_ivmle.
t_vmle_d2 = t_vmle2 = t_vmle .
IF /pws/zycie085-waersfob NE itab_it-waersbem.
PERFORM: calc_conv_moeda:
USING /pws/zycie085-waersfob
itab_it-waersbem
CHANGING t_vmle2.
ENDIF.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
t_ivadu = t_ivmle2 + t_ivfre + t_ivdesp.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle2 + t_ivfre.
* << Fim da inclusão
IF t_ivadu LT 0 AND v_neg EQ 'X'.
CLEAR t_ivadu.
MESSAGE i015 WITH text-294 text-295 .
EXIT.
ENDIF.
v_casasd = t_ivfre.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .
t_dif_seg = /pws/zycie003-vlseg_fat - v_tot_seg .
...
...
itab_it-vlreal_dest = itab_it-vlreal.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
EXPORTING
input = itab_it-matnr_item
IMPORTING
output = itab_it-matnr_item.
IF sy-subrc <> 0.
ENDIF.
MODIFY itab_it.
ENDLOOP.
* >> Início da inclusão: FORM FILL_ITABIT
SELECT * FROM /pws/zycit438
INTO TABLE itab_zycit438.
* << Fim da inclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
READ TABLE itab_zycit438 INDEX 1.
IF sy-subrc NE 0 .
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = v_region
AND ( lei = 'MP252' OR lei = 'MP255' ).
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = ' '
AND ( lei = 'MP252' OR lei = 'MP255' ).
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
SELECT * FROM /pws/zycit438
APPENDING TABLE itab_zycit438
WHERE regio = v_region
AND lei = 'MP615' .
* << Fim da inclusão
ENDIF.
CLEAR v_nova.
IF /pws/zycie085-dtuserc IS INITIAL.
/pws/zycie085-dtuserc = sy-datlo.
ENDIF.
CLEAR : v_fatx, v_xa , v_xb , v_xc, v_faty, v_fatpc.
LOOP AT itab_zycit049 WHERE baseicms EQ 'X' AND NOT vlreal IS initial.
CLEAR t_ivdes2.
IF itab_zycit049-tpdesp = /pws/zycit000-cod_antidump .
CONTINUE.
...
...
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI007' BINARY SEARCH.
IF sy-subrc EQ 0.
IF NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF /pws/zycit000-pis_cof EQ 'X'.
IF NOT itab_zycit438[] IS INITIAL.
IF NOT /pws/zycie085-dtreg IS INITIAL.
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
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 = '6'.
ENDIF.
ELSE.
* << Fim da inclusão
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'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie085-dtreg AND
...
...
ENDIF.
ENDIF.
ENDIF.
ELSE.
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'.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ELSE.
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
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 = '6'.
ENDIF.
ELSE.
* << Fim da inclusão
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'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie085-dtuserc AND
...
...
ENDIF.
ENDIF.
ENDIF.
ELSE.
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'.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR v_nova.
ENDIF.
IF v_nova IS INITIAL.
PERFORM mp_antiga.
* >> Início da inclusão: FORM LOAD_IICMS
ELSEIF v_nova EQ '6'.
itab_it-basecofins = itab_it-basepis =
/pws/zycie100a-basecofins = /pws/zycie100a-basepis = t_ivadu.
* << Fim da inclusão
ELSE.
PERFORM mp_nova.
ENDIF.
ENDIF.
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
PERFORM calc_piscofins.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023X01
...
* >> Início da inclusão:
data: t_ivaduPC LIKE t_icms.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F01
...
CASE s_inco1_ci.
WHEN 'FOB'.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle + t_ivseg + t_ivfre .
* << Fim da inclusão
t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.
v_casasd = t_ivseg.
v_casasd2 = t_ivfre.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle + v_casasd3 + v_casasd + v_casasd2.
WHEN 'C&F'.
t_vmle = t_vmle + v_tot_fre.
t_vmle_d2 = t_vmle.
t_ivmle_d2 = t_vmle_d2 * /pws/zycie100a-dttaxbem.
t_ivmle = t_ivmle_d2.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle + t_ivseg + t_ivfre.
* << Fim da inclusão
t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.
t_vmle2 = t_vmle.
v_casasd = t_ivseg.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle2 + v_casasd3 + v_casasd .
WHEN 'CIF'.
t_dif_seg = v_tsegfat - v_sgtofat.
t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.
itab_it-vlfob = t_vmle = t_vmle + t_dif_seg.
t_ivmle = t_ivmle + ( t_dif_seg * /pws/zycie085-ukursseg ).
t_ivmle_d2 = t_ivmle + t_ivfre + t_ivseg .
t_ivmle = t_ivmle_d2.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle + t_ivfre + t_ivseg.
* << Fim da inclusão
t_ivadu = t_ivmle + t_ivdesp + t_ivfre + t_ivseg.
t_vmle2 = t_vmle.
v_casasd3 = t_ivdesp.
v_ivadud = t_ivmle2 + v_casasd3 .
ENDCASE.
itab_it-vlmerc_ad = t_vmle2.
t_ivmle2 = t_vmle_d2 * /pws/zycie085-ukursfob .
v_tmle_d2 = v_tmle_d2 + t_ivmle_d2 .
ENDFORM.
...
...
output = itab_it-matnr_item.
IF sy-subrc <> 0.
ENDIF.
MODIFY itab_it.
ENDLOOP.
MOVE itab_it[] TO itab_ita[].
/pws/zycie093-ntgew = /pws/zycie085-ntgew = v_tntgew.
IF /pws/zycie093-gewei_l IS INITIAL.
/pws/zycie093-gewei_l = /pws/zycie093-gewei_b.
ENDIF.
* >> Início da inclusão: FORM FILL_ITABIT
SELECT * FROM /pws/zycit438
INTO TABLE itab_zycit438.
* << Fim da inclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058F03
...
CLEAR: t_ivdesp, v_advii, v_advipi, v_advicms,
v_advpis, v_advcof, v_desp.
CLEAR : v_fatx, v_xa , v_xb , v_xc, v_faty, v_fatpc.
CLEAR: t_ivdesp.
IF itab_zycit001-regime EQ '11'.
t_iibas = t_ivadu.
ENDIF.
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 * 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'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 INDEX 1.
IF sy-subrc NE 0 .
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = v_region
AND ( lei = 'MP252' OR lei = 'MP255' ).
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = ' '
AND ( lei = 'MP252' OR lei = 'MP255' ).
ENDIF.
SELECT * FROM /pws/zycit438
APPENDING TABLE itab_zycit438
WHERE regio = v_region
AND lei = 'MP615' .
* << Fim da inclusão
ENDIF .
CLEAR v_nova.
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 itab_zycit049-divabs EQ 'X'.
t_ivdes2 = ( 1 / v_ipt ) * itab_zycit049-vlreal.
ELSEIF itab_zycit049-peso EQ 'X'.
t_ivdes2 = ( wa_it-ntgew / v_tntgew ) * itab_zycit049-vlreal.
ELSEIF itab_zycit049-proporplan EQ 'X'.
...
...
MOVE itab_it[] TO itab_zycit100_temp[].
MOVE-CORRESPONDING itab_it TO /pws/zycie100a.
v_advii = ( /pws/zycie003-advalii / 100 ).
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'.
IF NOT itab_zycit438[] IS INITIAL.
IF NOT /pws/zycie085-dtreg IS INITIAL.
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
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 = '6'.
ENDIF.
ELSE.
* << Fim da inclusão
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'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie085-dtreg AND
...
...
ELSE.
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.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
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 = '6'.
ENDIF.
* << Fim da inclusão
ELSE.
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'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
...
...
ENDIF.
ENDIF.
ENDIF.
ELSE.
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'.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR v_nova.
ENDIF.
IF v_nova IS INITIAL.
PERFORM mp_antiga.
* >> Início da inclusão: FORM LOAD_IICMS
ELSEIF v_nova EQ '6'.
itab_it-basecofins = itab_it-basepis =
/pws/zycie100a-basecofins = /pws/zycie100a-basepis = t_ivadu.
* << Fim da inclusão
ELSE.
PERFORM mp_nova.
ENDIF.
ENDIF.
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
PERFORM calc_piscofins.
IF '56' CA /pws/zycie100a-codregtri.
v_vliirec = a_iidevi.
ELSE.
v_vliirec = t_iirec.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI058X01
...
* >> Início da inclusão:
DATA: t_ivadupc LIKE t_icms.
* << Fim da inclusão
DATA: END OF COMMON PART.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F01
...
CASE s_inco1_ci.
WHEN 'CIF'.
t_dif_seg = v_tsegfat - v_sgtofat.
IF NOT v_tcfr IS INITIAL.
t_dif_seg = ( v_cfr / ( v_tcfr ) ) * t_dif_seg.
ENDIF.
ENDCASE.
CASE s_inco1_ci.
WHEN 'FOB'.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle + t_ivseg + t_ivfre.
* << Fim da inclusão
t_ivadu = t_ivmle + t_ivseg + t_ivdesp + t_ivfre.
WHEN 'C&F'.
t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren.
IF NOT v_desp_fren IS INITIAL.
IF NOT /pws/zycie442-ukursfob IS INITIAL.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre +
( v_desp_fren / /pws/zycie442-ukursfob ).
ELSE.
MESSAGE i015 WITH text-221.
ENDIF.
ELSE.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.
ENDIF.
t_vmle2 = t_vmle.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
t_ivadu = t_ivmle2 + t_ivseg + t_ivdesp.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle2 + t_ivseg .
* << Fim da inclusão
WHEN 'CIF'.
t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre + v_desp_fren +
t_ivseg + ( t_dif_seg * /pws/zycie442-ukursseg ).
IF NOT v_desp_fren IS INITIAL.
IF NOT /pws/zycie442-ukursfob IS INITIAL.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg +
( v_desp_fren / /pws/zycie442-ukursfob ) + t_dif_seg.
ELSE.
MESSAGE i015 WITH text-221.
ENDIF.
ELSE.
t_vmle_d2 = t_vmle = t_vmle + v_tot_fre + v_tot_seg + t_dif_seg.
ENDIF.
t_vmle2 = t_vmle.
t_ivmle2 = t_vmle2 * itab_it-dttaxbem.
t_ivadu = t_ivmle2 + t_ivdesp - v_desp_fren.
* >> Início da inclusão: FORM LOAD_ITAX
t_ivadupc = t_ivmle2 - v_desp_fren.
* << Fim da inclusão
ENDCASE.
itab_it-vlfobr = t_ivmle2.
itab_it-vlmerc_ad = t_vmle2.
ENDFORM.
...
...
PERFORM carrega_incoterm.
PERFORM atualiza_qtd_po.
MOVE itab_it[] TO itab_ita[].
IF /pws/zycie442-ntgew IS INITIAL.
/pws/zycie442-ntgew = v_tntgew.
ENDIF.
IF /pws/zycie442-gewei_l IS INITIAL.
/pws/zycie442-gewei_l = /pws/zycie442-gewei_b.
ENDIF.
MOVE itab_it[] TO itab_zycit443_temp[].
* >> Início da inclusão: FORM FILL_ITABIT
SELECT * FROM /pws/zycit438
INTO TABLE itab_zycit438.
* << Fim da inclusão
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070F03
...
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 exclusã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'.
* << Fim da exclusão
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 INDEX 1.
IF sy-subrc NE 0 .
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = v_region
AND ( lei = 'MP252' OR lei = 'MP255' ).
IF sy-subrc NE 0.
SELECT * FROM /pws/zycit438 INTO TABLE itab_zycit438
WHERE regio = ' '
AND ( lei = 'MP252' OR lei = 'MP255' ).
ENDIF.
SELECT * FROM /pws/zycit438
APPENDING TABLE itab_zycit438
WHERE regio = v_region
AND lei = 'MP615' .
* << Fim da inclusão
ENDIF.
CLEAR v_nova.
IF /pws/zycie442-dtuserc IS INITIAL.
/pws/zycie442-dtuserc = sy-datum.
ENDIF.
IF NOT itab_it[] IS INITIAL.
SELECT * FROM /pws/zycit003 INTO TABLE itab_zycit003_rateio
FOR ALL ENTRIES IN itab_it
WHERE nrseq = itab_it-nrseq AND
ebeln = itab_it-ebeln AND
...
...
v_advicms = ( /pws/zycie443a-advalicms / 100 ).
ENDIF.
ELSE.
v_advicms = ( /pws/zycie443a-advalicms / 100 ).
ENDIF.
v_advpis = ( itab_it-advalpis / 100 ).
v_advcof = ( itab_it-advalcofins / 100 ).
IF /pws/zycit000-pis_cof EQ 'X'.
IF NOT itab_zycit438[] IS INITIAL.
IF NOT /pws/zycie442-dtreg IS INITIAL.
* >> Início da inclusão: FORM LOAD_IICMS
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtreg AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = '6'.
ENDIF.
ELSE.
* << Fim da inclusão
READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtreg AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = 'X'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtreg AND
...
...
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtreg AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtreg AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = 'X'.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP615'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtuserc AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = '6'.
ENDIF.
* << Fim da inclusão
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP252'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtuserc AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = 'X'.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
...
...
ENDIF.
ENDIF.
ENDIF.
ELSE.
READ TABLE itab_zycit438 WITH KEY lei = 'MP255'.
IF sy-subrc EQ 0.
IF itab_zycit438-vigencia <= /pws/zycie442-dtuserc AND
itab_zycit438-vigencia_ate >= /pws/zycie442-dtuserc AND
NOT itab_zycit438-vigencia IS INITIAL.
v_nova = 'X'.
* >> Início da inclusão: FORM LOAD_IICMS
ENDIF.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ELSE.
CLEAR v_nova.
ENDIF.
IF v_nova IS INITIAL.
PERFORM mp_antiga.
* >> Início da inclusão: FORM LOAD_IICMS
ELSEIF v_nova EQ '6'.
itab_it-basecofins = itab_it-basepis =
/pws/zycie443-basecofins = /pws/zycie443-basepis = t_ivadu.
* << Fim da inclusão
ELSE.
PERFORM mp_nova.
ENDIF.
ENDIF.
v_divisor = ( 1 - v_advicms - v_advpis - v_advcof ).
PERFORM calc_piscofins.
IF '56' CA /pws/zycie443a-codregtri.
v_vliirec = a_iidevi.
ELSE.
v_vliirec = t_iirec.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI070X01
...
* >> Início da inclusão:
data: t_ivaduPC LIKE t_icms.
* << Fim da inclusão
DATA: END OF COMMON PART.