Módulo: DOC. IMPORTAÇÃO
Funcionalidade: DI
Data/Hora da Publicação: 22/10/2013 00:00:00
Data/Hora Última Alteração: 24/10/2013 17:18:20
Descrição da Nota: NÃO CONSIDERA ALIQUOTA REDUZIDA DE ICMS PARA CÁLCULO DE PIS E COFINS
Sintoma
Não considera aliquota reduzida de icms para cálculo de pis e cofins
Solução
Caso haja aliquota reduzida, considerá-la para cálculo
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13341 Data: 22/10/2013 Hora: 15:05:09
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13341
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
08356 - 00001 - 7.0 - 00009 - ADMISSÃO TEMPORÁRIA ARTIGO 373
12443 - 00002 - 9.0 - 00001 - INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI
12853 - 00003 - 9.0 - 00004 - ERRO NO CÁLCULO DE ICMS REDUZIDO NA NF E DI
13237 - 00004 - 9.0 - 00005 - A BASE DO PIS E COFINS É RECALCULADA AO INFORMAR BASE REDUZIDA NO
----------------------------------------------------------------------------------------------------
NÃO CONSIDERA ALIQUOTA REDUZIDA DE ICMS PARA CÁLCULO DE PIS E COFINS
----------------------------------------------------------------------------------------------------
Palavras Chave:
ALIQUOTA - REDUZIDA - REDUÇÃO - ICMS - PIS - COFINS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI023F03
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI023F03
...
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
v_advpis = ( /pws/zycie100a-advalpis / 100 ).
v_advcof = ( /pws/zycie100a-advalcofins / 100 ).
* >> Início da inclusão: FORM LOAD_IICMS
IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.
IF /pws/zycit062-bs_pis_cof IS INITIAL.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ) *
( /pws/zycie003-basred / 100 ).
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
ELSE.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( ( /pws/zycie100a-aliqicmsr / 100 ) *
( /pws/zycie003-basred / 100 ) ) .
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
ENDIF.
v_advalicms = /pws/zycie003-advalicms .
/pws/zycie003-advalicms = /pws/zycie100a-aliqicmsr.
ENDIF.
IF NOT /pws/zycit062-bs_pis_cof IS INITIAL.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( ( /pws/zycie003-advalicms / 100 ) *
( /pws/zycie003-basred / 100 ) ) .
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ENDIF.
ENDIF.
* << Fim da inclusão
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI023'
'DI007'.
CLEAR itab_zyglt100 .
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.
...
...
CLEAR itab_zyglt100 .
READ TABLE itab_zyglt100 WITH KEY zexit = 'DI023' 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/zycie100a-baseicms LT 0.
CLEAR itab_zycit100-baseicms.
* >> Início da exclusão: FORM LOAD_IICMS
ENDIF.
IF NOT /pws/zycie100a-aliqicmsr IS INITIAL.
IF /pws/zycit062-bs_pis_cof IS INITIAL.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ) *
( /pws/zycie003-basred / 100 ).
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
ELSE.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( ( /pws/zycie003-advalicms / 100 ) *
( /pws/zycie003-basred / 100 ) ) .
ELSE.
v_advicms = ( /pws/zycie100a-aliqicmsr / 100 ).
ENDIF.
ENDIF.
v_advalicms = /pws/zycie003-advalicms .
/pws/zycie003-advalicms = /pws/zycie100a-aliqicmsr.
ENDIF.
IF NOT /pws/zycit062-bs_pis_cof IS INITIAL.
IF NOT /pws/zycie003-basred IS INITIAL AND
NOT /pws/zycie003-basred EQ '100'.
v_advicms = ( ( /pws/zycie003-advalicms / 100 ) *
( /pws/zycie003-basred / 100 ) ) .
IF /pws/zycit062-icms_base_red_ar = 'X'.
v_trunc = v_advicms.
v_advicms = v_trunc.
ENDIF.
ENDIF.
* << Fim da exclusão
ENDIF.
IF NOT /pws/zycie003-advalicms IS INITIAL AND
NOT /pws/zycie100a-icms_dif EQ 'X'.
IF /pws/zycit062-icms_base_red_ar EQ 'X'.
t_icmsbs_d2 = t_icmsbs = t_icmsbs *
( /pws/zycie003-basred / 100 ).
ELSE.
t_icmsbs_d2 = t_icmsbs = t_icmsbs *
( v_advicms * 100 / /pws/zycie003-advalicms ).
ENDIF.
...