CE PLUS - Nota 013341

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

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

A BASE DO PIS E COFINS É RECALCULADA AO INFORMAR BASE REDUZIDA NO ICMS

ADMISSÃO TEMPORÁRIA ARTIGO 373

ERRO NO CÁLCULO DE ICMS REDUZIDO NA NF E DI

INCLUSÃO DO CAMPO ALIQ. REDUZIDA NA PASTA DE ICMS DA DI

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.

...