CE PLUS - Nota 003700

Módulo: CÂMBIO FINANCEIRO

Funcionalidade: Remessa

Data/Hora da Publicação: 17/05/2007 00:00:00

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

Descrição da Nota: REMESSA - EXIT REM003 - BASE DE CÁLCULO IMPOSTOS

Sintoma

Permitir alterar base de cálculo de todos impostos da Remessa, através da exit REM003.

 

 

Solução

Permitir utilizar exit REm003 para todos impostos

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PASSAGEM DE PARÂMETROS DO INCLUDE PARA A EXECUÇÃO DA EXIT

REMESSA - IMPOSTOS NOVOS

EXIT NA REMESSA FINANCEIRA DE PAGAMENTO PARA CÁLCULO DO CIDE E ISS

Informações Complementares

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

Nota Número 03700 Data: 17/05/2007 Hora: 12:07:45

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

 

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

Nota Número              : 03700

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00001

Agrupamento              : 00166

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

Referência às notas relacionadas:

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

 

00421  - 00001 - 6.0    - 00022  - EXIT NA REMESSA FINANCEIRA DE PAGAMENTO PARA CÁLCULO DO CIDE E IS

00429  - 00002 - 6.0    - 00022  - PASSAGEM DE PARÂMETROS DO INCLUDE PARA A EXECUÇÃO DA EXIT

01231  - 00003 - 6.0    - 00023  - REMESSA - IMPOSTOS NOVOS

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

REMESSA - EXIT REM003 - BASE DE CÁLCULO IMPOSTOS

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

Palavras Chave:

REMESSA - EXIT REM003 - BASE DE CÁLCULO IMPOSTOS

IRRF COFINS PIS ISS IOF CIDE

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

Objetos da nota:

REPS /PWS/MZYCA109F01

REPS /PWS/MZYCA109I01

REPS /PWS/MZYCA109TOP

REPS /PWS/MZYCA109X01

 

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

Modificações efetuadas em REPS /PWS/MZYCA109F01

 

...

    DELETE itab_zycat025.

    DELETE itab_zycbt141_i WHERE tpimp = itab_zycat025-tpimp.

    IF     itab_zycat025-tpimp(4) = 'CIDE'.

      CLEAR v_control_ci.

    ELSEIF itab_zycat025-tpimp(3) = 'ISS'.

      CLEAR v_control_is.

    ELSEIF itab_zycat025-tpimp(3) = 'PIS'.

      CLEAR v_control_pi.

    ELSEIF itab_zycat025-tpimp(6) = 'COFINS'.

      CLEAR v_control_co.

* >> Início da inclusão: FORM ELIMINA_ITEM_IMP

    ELSEIF itab_zycat025-tpimp(3) = 'IOF'.

      CLEAR v_control_io.

    ELSEIF itab_zycat025-tpimp(4) = 'IRRF'.

      CLEAR v_control_ir.

* << Fim da inclusão

    ENDIF.

  ENDLOOP.

ENDFORM.

FORM set_mc_rateio_imposto_conta.

  TYPES: BEGIN OF shlp_intdescr_t             ,

           issimple      LIKE dd30v-issimple  ,

           hotkey        LIKE dd30v-hotkey    ,

           selmtype      LIKE dd30v-selmtype  ,

           selmethod     LIKE dd30v-selmethod ,

           texttab       LIKE dd30v-texttab   ,

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109I01

 

...

         ( v_control_ci              EQ 1         AND

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

      READ TABLE itab_zycat025_aux2 WITH KEY tpimp(4) = 'IRRF'.

      IF sy-subrc = 0 AND itab_zycat025_aux2-dedfat = 'X' AND

         /pws/zycbe124-vlme => itab_zycat025_aux2-vlimpme.

        v_valorme = /pws/zycbe124-vlme - itab_zycat025_aux2-vlimpme.

      ELSE.

        v_valorme = /pws/zycbe124-vlme.

      ENDIF.

      READ TABLE itab_zyglt100 WITH KEY zexit = 'REM003' BINARY SEARCH.

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

      IF sy-subrc EQ 0.

        IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

* << Fim da exclusão

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

      IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

* << Fim da inclusão

          PERFORM (itab_zyglt100-formulario)

                  IN PROGRAM (itab_zyglt100-programa).

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

        ENDIF.

* << Fim da exclusão

      ELSE.

        IF itab_zycat025-reajbase = 'X'.

          itab_zycat025-basecalc = v_valorme /

                            ( ( 100 - itab_zycat025-advalorem ) / 100 ).

        ELSE.

...

 

...

        /pws/zycae025-vlimpmi = v_vlme * v_kursf.

      ENDIF.

    ENDIF.

    MODIFY itab_zycat025 TRANSPORTING basecalc vlimpme vlimpmi

                         WHERE tpimp(4) = 'CIDE'.

  ENDIF.

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

  IF sy-subrc = 0.

    v_control_is = v_control_is + 1.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'REM003' BINARY SEARCH.

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

    IF sy-subrc EQ 0.

      IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

* << Fim da exclusão

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

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

* << Fim da inclusão

        PERFORM (itab_zyglt100-formulario)

                IN PROGRAM (itab_zyglt100-programa).

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

      ENDIF.

* << Fim da exclusão

    ELSE.

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

                                        tpimp = itab_zycat025-tpimp.

      IF sy-subrc                      EQ 0         AND

         ( ( itab_zycat024-altera_base IS INITIAL   OR

...

 

...

       NOT v_parafator IS INITIAL.

      itab_zycat025-vlimpmi = ( ( v_kursf / v_defator ) * v_parafator )

                              * v_vlme.

    ELSE.

      IF NOT v_kursf IS INITIAL.

        /pws/zycae025-vlimpmi = v_vlme * v_kursf.

      ENDIF.

    ENDIF.

    MODIFY itab_zycat025 TRANSPORTING basecalc vlimpme vlimpmi

                         WHERE tpimp(6) = 'COFINS'.

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

  ENDIF.

  LOOP AT itab_zycat025 WHERE tpimp(4) = 'IRRF'

                           OR tpimp(3) = 'IOF'

                           OR tpimp(3) = 'PIS'

                           OR tpimp(6) = 'COFINS'.

    READ TABLE itab_zyglt100 WITH KEY zexit = 'REM003' BINARY SEARCH.

    IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.

      PERFORM (itab_zyglt100-formulario)

              IN PROGRAM (itab_zyglt100-programa).

* << Fim da inclusão

  ENDIF.

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

  ENDLOOP.

* << Fim da inclusão

ENDMODULE.

MODULE set_mc_rateio_imposto_conta INPUT.

  PERFORM set_mc_rateio_imposto_conta.

ENDMODULE.

MODULE consiste_tpimp INPUT.

  IF NOT /pws/zycbe141-tpimp IS INITIAL AND v_status_s NE 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109TOP

 

...

  v_ano               LIKE t009b-bdatj,

  v_monat             LIKE t001b-frpe1,

  v_lib(1)            TYPE c,

  okcode              LIKE sy-ucomm,

  v_totdep            LIKE /pws/zyglt342-valorinc,

  v_aliqpis           LIKE /pws/zycbt124-aliqpis,

  v_aliqcofins        LIKE /pws/zycbt124-aliqcofins,

  v_aliqiss           LIKE /pws/zycbt124-aliqiss,

  v_kursf             LIKE /pws/zycbe124-kursf,

  v_branco            TYPE c,

* >> Início da exclusão:

  v_advalorem         LIKE /pws/zycat025-advalorem,

  v_advalorem2        LIKE /pws/zycat025-advalorem,

* << Fim da exclusão

  v_competencia       TYPE c,

  v_dif               LIKE /pws/zycbt124-vlme,

  v_msg(50)           TYPE c,

  v_estorna           TYPE c,

  v_reducao           LIKE /pws/zycbt124-vlme,

  v_dtvencto_ant      LIKE /pws/zycbt124-dtvencto,

  v_cred_imp          LIKE /pws/zycat024-credito_imp,

* >> Início da exclusão:

  v_basecalc_irrf     LIKE /pws/zycat025-basecalc,

  v_basecalc_cide     LIKE /pws/zycat025-basecalc,

  v_basecalc_iof      LIKE /pws/zycat025-basecalc,

  v_basecalc_iss      LIKE /pws/zycat025-basecalc,

  v_basecalc_pis      LIKE /pws/zycat025-basecalc,

  v_basecalc_cofins   LIKE /pws/zycat025-basecalc,

  v_defator           LIKE tcurr-ffact,

  v_parafator         LIKE tcurr-ffact,

  v_control_ci(10)       TYPE n,

  v_control_is(10)       TYPE n,

  v_control_pi(10)       TYPE n,

  v_control_co(10)       TYPE n,

* << Fim da exclusão

  v_indice TYPE i.

DATA: v_nome_campo(35) TYPE c,

      v_comp(35)       TYPE c,

      v_cod_grupo      LIKE /pws/zyglt320-cod_grupo,

      cont             TYPE i VALUE 0,

      v_tela           LIKE sy-ucomm,

      wa_zycbe141_aux  LIKE /pws/zycbe141,

      v_dtlanc(10)     TYPE c,

      v_vlme_assoc     TYPE /pws/zycbt124-vlme,

      v_sld_associar   TYPE /pws/zycbt124-sld_associar.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCA109X01

 

...

        INCLUDE STRUCTURE /pws/zyglt321.

DATA: END OF itab_zyglt321.

DATA: BEGIN OF itab_zycat025_aux OCCURS 0.

        INCLUDE STRUCTURE /pws/zycat025.

DATA: mark(1) TYPE c.

DATA: END OF itab_zycat025_aux.

DATA: BEGIN OF itab_zycat025_aux3 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycat025.

DATA: mark(1) TYPE c.

DATA: END OF itab_zycat025_aux3.

* >> Início da inclusão:

data: v_basecalc_irrf     TYPE /pws/zycat025-basecalc,

      v_basecalc_cide     TYPE /pws/zycat025-basecalc,

      v_basecalc_iof      TYPE /pws/zycat025-basecalc,

      v_basecalc_iss      TYPE /pws/zycat025-basecalc,

      v_basecalc_pis      TYPE /pws/zycat025-basecalc,

      v_basecalc_cofins   TYPE /pws/zycat025-basecalc,

      v_defator           TYPE tcurr-ffact,

      v_parafator         TYPE tcurr-ffact,

      v_advalorem         TYPE /pws/zycat025-advalorem,

      v_advalorem2        TYPE /pws/zycat025-advalorem,

      v_control_ci(10)    TYPE n,

      v_control_is(10)    TYPE n,

      v_control_pi(10)    TYPE n,

      v_control_co(10)    TYPE n,

      v_control_ir(10)    TYPE n,

      v_control_io(10)    TYPE n.

* << Fim da inclusão

DATA: END OF COMMON PART.