CE PLUS - Nota 010233

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Prestação de Contas

Data/Hora da Publicação: 02/06/2010 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:34:30

Descrição da Nota: AJUSTE PARA LANÇAMNETO DO IMPOSTO COM BASE NO MONTANTE IVA

Sintoma

O montante base de IRF parametrizado para ter como base o montante IVA, não está sendo preenchido no

documento de contabilização da MIRO.

 

 

Solução

Ajustado preenchimento da tabela interna de IRF para a BAPI de criação da MIRO

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO DE ARREDONDAMENTO NO CALCULO DOS IMPOSTOS

RETENÇÃO DE IMPOSTOS PARA FATURA DE DESPESAS CONTABILIZADA VIA MIRO

PREENCHER BASE DE IRF PARAMENTRIZADO COM BASE NO IVA DA FATURA

Informações Complementares

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

Nota Número 10233 Data: 02/06/2010 Hora: 08:47:52

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

 

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

Nota Número              : 10233

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00026

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

Referência às notas relacionadas:

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

 

05422  - 00001 - 7.0    - 00003  - ERRO DE ARREDONDAMENTO NO CALCULO DOS IMPOSTOS

10176  - 00002 - 8.0    - 00003  - RETENÇÃO DE IMPOSTOS PARA FATURA DE DESPESAS CONTABILIZADA VIA MI

10221  - 00003 - 8.0    - 00003  - PREENCHER BASE DE IRF PARAMENTRIZADO COM BASE NO IVA DA FATURA

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

AJUSTE PARA LANÇAMNETO DO IMPOSTO COM BASE NO MONTANTE IVA

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

Palavras Chave:

IMPOSTO - PARAMTRIZADO - BASE - MONTANTE - IVA - PRESTAÇÃO - FATURA

/PWS/SAPMZYCI003 - /PWS/SAPMZYCI004

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

Objetos da nota:

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI004F01

REPS /PWS/MZYCI004F02

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

                            CHANGING itab_contas_aux-wrbtr.

      CLEAR: itab_zycit031.

      itab_zycit031-tcode  = itab_zycie033-tcode   .

      itab_zycit031-tabela = itab_zycie033-tabela  .

      itab_zycit031-cpochv = itab_zycie033-cpochv  .

      itab_zycit031-ebeln  = itab_zycit003-ebeln   .

      itab_zycit031-ebelp  = itab_zycit003-ebelp   .

      itab_zycit031-meins  = itab_zycit003-meins   .

      itab_zycit031-mwskz  = itab_zycie033-mwskz   .

      LOOP AT itab_zycit047 WHERE vldp > 0.

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

        PERFORM retorna_decimais USING /pws/zycie006-waers

                              CHANGING itab_zycit047-vldp.

* << Fim da inclusão

        CLEAR: itab_zycit019, itab_zycit030.

        READ TABLE itab_zycit019 WITH KEY

                                  tpdesp = itab_zycit047-tpdesp.

        READ TABLE itab_zycit030 WITH KEY

                                  codigo = itab_zycit019-codigo.

        itab_zycit031-lgort = itab_zycit030-kschl.

        itab_zycit031-wrbtr  = itab_contas_aux-wrbtr *

             ( itab_zycit047-vldp / v_vltotal ).

        v_vlaux = v_vlaux + itab_zycit031-wrbtr.

        READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit019-codigo.

...

 

...

                        ( itab_ftaxp-kbetr / 1000 ) ).

          ENDIF.

        ENDLOOP.

      ENDLOOP.

    ENDLOOP.

    wa_headerdata-gross_amount = wa_headerdata-gross_amount +

                                 v_gross_amount.

  ENDIF.

  wa_headerdata-gross_amount = wa_headerdata-gross_amount +

                                             itab_retorno-hwste.

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

  itab_withtaxdata-wi_tax_base = itab_retorno-hwste.

  MODIFY itab_withtaxdata TRANSPORTING wi_tax_base

                         WHERE wi_tax_base EQ space.

* << Fim da inclusão

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI003'

                              'FAT009'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'FAT009' BINARY SEARCH.

  IF sy-subrc EQ 0.

    IF NOT itab_zyglt100-zexit_ativa IS INITIAL.

      e_estorno = 'REC_MR1M' .

...

 

...

FORM imposto_d.

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

  DATA: itab_t059p    TYPE t059p OCCURS 0 WITH HEADER LINE.

* << Fim da inclusão

...

 

...

                             regio NE lfa1-regio.

  SORT itab_zyglt378 BY codmod   ASCENDING

                        cod_desp ASCENDING

                        witht    ASCENDING

                        bukrs    DESCENDING

                        land1    DESCENDING

                        regio    DESCENDING.

  DELETE ADJACENT DUPLICATES FROM itab_zyglt378 COMPARING codmod

                                                          cod_desp

                                                          witht.

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

  SELECT * FROM t059p INTO TABLE itab_t059p

      FOR ALL ENTRIES IN itab_lfbw

      WHERE witht EQ itab_lfbw-witht

        AND land1 EQ t001-land1.

  DELETE itab_t059p WHERE wt_base NA '35'.

  REFRESH itab_withtaxdata. CLEAR itab_withtaxdata.

  ADD 1 TO itab_withtaxdata-split_key.

* << Fim da inclusão

  LOOP AT itab_zycit047 WHERE vldp > 0.

    PERFORM retorna_decimais USING /pws/zycie006-waers

                         CHANGING itab_zycit047-vldp.

    LOOP AT itab_zyglt378

          WHERE cod_desp EQ itab_zycit047-tpdesp.

      READ TABLE itab_lfbw

                 WITH KEY witht = itab_zyglt378-witht.

      IF sy-subrc EQ 0.

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

        READ TABLE itab_t059p

              WITH KEY witht = itab_lfbw-witht.

        CHECK sy-subrc NE 0.

* << Fim da inclusão

        itab_withtaxdata-wi_tax_base = itab_zycit047-vldp.

        itab_withtaxdata-wi_tax_type = itab_lfbw-witht.

        itab_withtaxdata-wi_tax_code = itab_lfbw-wt_withcd.

        COLLECT itab_withtaxdata.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

* >> Início da exclusão: FORM IMPOSTO_D

  LOOP AT itab_withtaxdata.

    ADD 1 TO itab_withtaxdata-split_key.

    MODIFY itab_withtaxdata.

* << Fim da exclusão

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

  CLEAR: itab_withtaxdata-wi_tax_base.

  LOOP AT itab_t059p.

    READ TABLE itab_lfbw

                  WITH KEY witht = itab_t059p-witht.

    itab_withtaxdata-wi_tax_type = itab_lfbw-witht.

    itab_withtaxdata-wi_tax_code = itab_lfbw-wt_withcd.

    APPEND itab_withtaxdata.

* << Fim da inclusão

  ENDLOOP.

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI004F01

 

...

    ENDLOOP.

    wa_headerdata-gross_amount = wa_headerdata-gross_amount +

                                 v_gross_amount.

  ENDIF.

  CLEAR: itab_account.

  ADD 1 TO itab_glaccount-invoice_doc_item.

  MODIFY itab_glaccount TRANSPORTING invoice_doc_item

      WHERE invoice_doc_item NE itab_glaccount-invoice_doc_item.

  wa_headerdata-gross_amount = wa_headerdata-gross_amount +

                                             itab_retorno-hwste.

* >> Início da exclusão: FORM MIRO

  itab_withtaxdata-wi_tax_base = v_gross_amount + itab_retorno-hwste.

* << Fim da exclusão

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

  itab_withtaxdata-wi_tax_base = itab_retorno-hwste.

* << Fim da inclusão

  MODIFY itab_withtaxdata TRANSPORTING wi_tax_base

                         WHERE wi_tax_base EQ space.

  e_subrc = '0' .

  PERFORM verifica_exit USING 'D'

                              '/PWS/SAPMZYCI004'

                              'PRT015'.

  CLEAR itab_zyglt100 .

  READ TABLE itab_zyglt100 WITH KEY

                   zexit = 'PRT015' BINARY SEARCH.

  IF sy-subrc EQ 0.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI004F02

 

...

                        land1    DESCENDING

                        regio    DESCENDING.

  DELETE ADJACENT DUPLICATES FROM itab_zyglt378 COMPARING codmod

                                                          cod_desp

                                                          witht.

  SELECT * FROM t059p INTO TABLE itab_t059p

      FOR ALL ENTRIES IN itab_lfbw

      WHERE witht EQ itab_lfbw-witht

        AND land1 EQ t001-land1.

  DELETE itab_t059p WHERE wt_base NA '35'.

* >> Início da exclusão: FORM IMPOSTOS

  refresh itab_withtaxdata.

* << Fim da exclusão

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

  REFRESH itab_withtaxdata. CLEAR itab_withtaxdata.

  ADD 1 TO itab_withtaxdata-split_key.

* << Fim da inclusão

  LOOP AT it_zycit027_aux WHERE vldp > 0.

    PERFORM retorna_decimais USING it_zycit027_aux-waers

                         CHANGING it_zycit027_aux-vldp.

    LOOP AT itab_zyglt378

          WHERE cod_desp EQ it_zycit027_aux-tpdesp.

      READ TABLE itab_lfbw

                 WITH KEY witht = itab_zyglt378-witht.

      IF sy-subrc EQ 0.

        READ TABLE itab_t059p

              WITH KEY witht = itab_lfbw-witht.

        CHECK sy-subrc NE 0.

        itab_withtaxdata-wi_tax_base = it_zycit027_aux-vldp.

        itab_withtaxdata-wi_tax_type = itab_lfbw-witht.

        itab_withtaxdata-wi_tax_code = itab_lfbw-wt_withcd.

        COLLECT itab_withtaxdata.

      ENDIF.

* >> Início da exclusão: FORM IMPOSTOS

    ENDLOOP.

* << Fim da exclusão

  ENDLOOP.

* >> Início da exclusão: FORM IMPOSTOS

  LOOP AT itab_withtaxdata.

    ADD 1 TO itab_withtaxdata-split_key.

    MODIFY itab_withtaxdata.

* << Fim da exclusão

  ENDLOOP.

  CLEAR: itab_withtaxdata-wi_tax_base.

  LOOP AT itab_t059p.

    READ TABLE itab_lfbw

                  WITH KEY witht = itab_t059p-witht.

    itab_withtaxdata-wi_tax_type = itab_lfbw-witht.

    itab_withtaxdata-wi_tax_code = itab_lfbw-wt_withcd.

* >> Início da exclusão: FORM IMPOSTOS

    ADD 1 TO itab_withtaxdata-split_key.

* << Fim da exclusão

    APPEND itab_withtaxdata.

  ENDLOOP.

ENDFORM.