CE PLUS - Nota 004083

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 03/07/2007 00:00:00

Data/Hora Última Alteração: 18/02/2011 13:47:34

Descrição da Nota: REMESSA - CALCULO DE ALIQUOTA DE ISS PARA PIS E COFINS.

Sintoma

Na Remessa Financeira quando temos tributos de PIS e/ou COFINS. A composição da base de cálculo

desses tributos utiliza a alíquota do ISS, caso o ISS não seja cadastrado na table control da

remessa, o sistema deverá buscar a alíquota do ISS na tabela /PWS/ZYCAT024.

 

 

Solução

Ajuste efetuado, onde os valores de PIS e COFINS para que considerem o ISS da tabela ZYCAT024 caso

não seja preenchido na Table Control.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

REMESSA - IMPOSTOS NOVOS

Informações Complementares

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

Nota Número 04083 Data: 03/07/2007 Hora: 09:29:24

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

 

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

Nota Número              : 04083

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00002

Agrupamento              : 00002

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

Referência às notas relacionadas:

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

 

01231  - 00001 - 6.0    - 00023  - REMESSA - IMPOSTOS NOVOS

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

REMESSA - CALCULO DE ALIQUOTA DE ISS PARA PIS E COFINS.

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

Palavras Chave:

REMESSA - CALCULO DE ALIQUOTA DE ISS PARA PIS E COFINS.

 

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

Objetos da nota:

REPS /PWS/MZYCA109I01

REPS /PWS/MZYCA109TOP

 

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

Modificações efetuadas em REPS /PWS/MZYCA109I01

 

...

      PERFORM atualiza_itab_rateio

        TABLES itab_zycbt141_p

        USING tc_principal-current_line.

    WHEN '0106'.

      PERFORM atualiza_itab_rateio

        TABLES itab_zycbt141_i

        USING tc_imposto-current_line.

  ENDCASE.

ENDMODULE.

MODULE consiste_valores INPUT.

* >> Início da inclusão: MODULE CONSISTE_VALORES

  DATA: v_aliq TYPE /pws/zycat024-aliq.

* << Fim da inclusão

  CHECK NOT /pws/zycae025-tpimp IS INITIAL AND

        v_status_s NE 0.

  READ TABLE itab_zycat024 WITH KEY bukrs = /pws/zycbe124-bukrs

                                    tpimp = /pws/zycae025-tpimp.

  CHECK sy-subrc = 0.

  IF /pws/zycae025-aliqgera IS INITIAL OR

     sy-tcode EQ '/PWS/ZYCB109_C'.

    /pws/zycae025-aliqgera = itab_zycat024-aliq.

  ENDIF.

  IF ( ( /pws/zycbe124-dtvencto NE v_dtvencto_ant AND

...

 

...

      MESSAGE i061 WITH /pws/zycae025-tpimp text-173 text-174.

    ELSEIF itab_zycat024-altera_base IS INITIAL OR

       /pws/zycae025-basecalc    IS INITIAL.

      CLEAR itab_zycat025-advalorem.

      v_advalorem  = 100.

      v_advalorem2 = 100.

      READ TABLE itab_zycat025 WITH KEY tpimp(3) = 'ISS'.

      IF sy-subrc = 0.

        v_advalorem = v_advalorem + itab_zycat025-advalorem.

      ELSE.

* >> Início da exclusão: MODULE CONSISTE_VALORES

        v_advalorem = v_advalorem + /pws/zycbe124-aliqiss.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONSISTE_VALORES

        SELECT SINGLE aliq FROM /pws/zycat024

                           INTO v_aliq

                           WHERE bukrs = /pws/zycbe124-bukrs

                           AND tpimp   = 'ISS'.

        v_advalorem = v_advalorem + v_aliq.

* << Fim da inclusão

      ENDIF.

      v_advalorem2 = v_advalorem2 - /pws/zycae025-advalorem.

      READ TABLE itab_zycat025 WITH KEY tpimp(6) = 'COFINS'.

      IF sy-subrc = 0.

        v_advalorem2 = v_advalorem2 - itab_zycat025-advalorem.

      ENDIF.

      /pws/zycae025-basecalc = /pws/zycbe124-vlme *

                                       ( v_advalorem / v_advalorem2 ).

      v_basecalc_pis = /pws/zycae025-basecalc.

    ENDIF.

...

 

...

      MESSAGE i061 WITH /pws/zycae025-tpimp text-173 text-174.

    ELSEIF itab_zycat024-altera_base IS INITIAL OR

       /pws/zycae025-basecalc    IS INITIAL.

      CLEAR itab_zycat025-advalorem.

      v_advalorem  = 100.

      v_advalorem2 = 100.

      READ TABLE itab_zycat025 WITH KEY tpimp(3) = 'ISS'.

      IF sy-subrc = 0.

        v_advalorem = v_advalorem + itab_zycat025-advalorem.

      ELSE.

* >> Início da exclusão: MODULE CONSISTE_VALORES

        v_advalorem = v_advalorem + /pws/zycbe124-aliqiss.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONSISTE_VALORES

        SELECT SINGLE aliq FROM /pws/zycat024

                           INTO v_aliq

                           WHERE bukrs = /pws/zycbe124-bukrs

                           AND tpimp   = 'ISS'.

        v_advalorem = v_advalorem + v_aliq.

* << Fim da inclusão

      ENDIF.

      v_advalorem2 = v_advalorem2 - /pws/zycae025-advalorem.

      READ TABLE itab_zycat025 WITH KEY tpimp(3) = 'PIS'.

      IF sy-subrc = 0.

        v_advalorem2 = v_advalorem2 - itab_zycat025-advalorem.

      ENDIF.

      /pws/zycae025-basecalc = /pws/zycbe124-vlme *

                                       ( v_advalorem / v_advalorem2 ).

      v_basecalc_cofins = /pws/zycae025-basecalc.

    ENDIF.

...

 

...

           itab_zycat025-basecalc    IS INITIAL ) OR

         ( v_control_pi              EQ 1         AND

           sy-tcode                  EQ '/PWS/ZYCB109_C' ) ).

      CLEAR itab_zycat025_aux2-advalorem.

      v_advalorem  = 100.

      v_advalorem2 = 100.

      READ TABLE itab_zycat025_aux2 WITH KEY tpimp(3) = 'ISS'.

      IF sy-subrc = 0.

        v_advalorem =  v_advalorem + itab_zycat025_aux2-advalorem.

      ELSE.

* >> Início da exclusão: MODULE CONTROLA_IMPOSTOS

        v_advalorem =  v_advalorem + /pws/zycbe124-aliqiss.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONTROLA_IMPOSTOS

        SELECT SINGLE aliq FROM /pws/zycat024

                           INTO v_aliq

                           WHERE bukrs = /pws/zycbe124-bukrs

                           AND tpimp   = 'ISS'.

        v_advalorem = v_advalorem + v_aliq.

* << Fim da inclusão

      ENDIF.

      v_advalorem2 = v_advalorem2 - itab_zycat025-advalorem.

      READ TABLE itab_zycat025_aux2 WITH KEY tpimp(6) = 'COFINS'.

      IF sy-subrc = 0.

        v_advalorem2 = v_advalorem2 - itab_zycat025_aux2-advalorem.

      ENDIF.

      itab_zycat025-basecalc = /pws/zycbe124-vlme *

                                         ( v_advalorem / v_advalorem2 ).

    ENDIF.

    v_basecalc_pis = itab_zycat025-basecalc.

...

 

...

           itab_zycat025-basecalc    IS INITIAL ) OR

         ( v_control_co              EQ 1         AND

           sy-tcode                  EQ '/PWS/ZYCB109_C' ) ).

      CLEAR itab_zycat025_aux2-advalorem.

      v_advalorem  = 100.

      v_advalorem2 = 100.

      READ TABLE itab_zycat025_aux2 WITH KEY tpimp(3) = 'ISS'.

      IF sy-subrc = 0.

        v_advalorem =  v_advalorem + itab_zycat025_aux2-advalorem.

      ELSE.

* >> Início da exclusão: MODULE CONTROLA_IMPOSTOS

        v_advalorem =  v_advalorem + /pws/zycbe124-aliqiss.

      ENDIF.

* << Fim da exclusão

* >> Início da inclusão: MODULE CONTROLA_IMPOSTOS

        SELECT SINGLE aliq FROM /pws/zycat024

                           INTO v_aliq

                           WHERE bukrs = /pws/zycbe124-bukrs

                           AND tpimp   = 'ISS'.

        v_advalorem = v_advalorem + v_aliq.

      ENDIF..

* << Fim da inclusão

      v_advalorem2 = v_advalorem2 - itab_zycat025-advalorem.

      READ TABLE itab_zycat025_aux2 WITH KEY tpimp(3) = 'PIS'.

      IF sy-subrc = 0.

        v_advalorem2 = v_advalorem2 - itab_zycat025_aux2-advalorem.

      ENDIF.

      itab_zycat025-basecalc = /pws/zycbe124-vlme *

                                         ( v_advalorem / v_advalorem2 ).

    ENDIF.

    v_basecalc_cofins = itab_zycat025-basecalc.

    itab_zycat025-vlimpme =

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109TOP

 

...

  /pws/zyglt343,

  /pws/zyglt340,

  /pws/zyglt377,

  /pws/zyglt321,

  rm06b,

  t16fe,

  j_1bbranch,

  adrc,

  tcurx,

  afko,

* >> Início da exclusão:

  afvc.

* << Fim da exclusão

* >> Início da inclusão:

  afvc,

  /pws/zycat024.

* << Fim da inclusão

DATA:

     wa_zycbt031a LIKE /pws/zycbe031,

     wa_vbfa      LIKE vbfa,

     wa_bkpf      LIKE bkpf,

     wa_rbkp      LIKE rbkp.

DATA: BEGIN OF itab_bseg OCCURS 0.

        INCLUDE STRUCTURE bseg.

DATA : END OF itab_bseg.

DATA: BEGIN OF itab_bseg_aux OCCURS 0.

        INCLUDE STRUCTURE bseg.

...