CE PLUS - Nota 010176

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Fatura Despesas

Data/Hora da Publicação: 21/05/2010 00:00:00

Data/Hora Última Alteração: 28/06/2011 17:16:33

Descrição da Nota: RETENÇÃO DE IMPOSTOS PARA FATURA DE DESPESAS CONTABILIZADA VIA MIRO

Sintoma

Ao contabilizar a fatura de despesas o programa não está retendo impostos apesar de estar

parametrizado no fornecedor da fatura.

 

 

Solução

Ajustado programa preencher a tabela de impostos para a BAPI da MIRO.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES AMÉRICA LATINA

CRIADO UMA MIRO DINAMICA DEVIDO VERSÃO DO CLIENTE 46B

Informações Complementares

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

Nota Número 10176 Data: 21/05/2010 Hora: 09:07:25

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

 

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

Nota Número              : 10176

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00022

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

Referência às notas relacionadas:

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

 

08779  - 00001 - 7.0    - 00010  - CRIADO UMA MIRO DINAMICA DEVIDO VERSÃO DO CLIENTE 46B

10030  - 00002 - 8.0    - 00003  - AJUSTES AMÉRICA LATINA

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

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

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

Palavras Chave:

IMPOSTO - MIRO - FORNECEDOR - FATURA - DESPESAS

 

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

Objetos da nota:

REPS /PWS/MZYCI003F02

REPS /PWS/MZYCI003X01

 

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

Modificações efetuadas em REPS /PWS/MZYCI003F02

 

...

  FREE: itab_zycit031,

        itab_itemdata.

  CLEAR: itab_itemdata,

         itab_zycit031, itab_zycie033-rmwwr, itab_zycie033-waers.

  REFRESH: itab_glaccount, itab_iva, itab_zyglt316.

  CLEAR:   itab_glaccount, itab_iva, itab_zyglt316.

  SELECT * FROM /pws/zyglt316 INTO TABLE itab_zyglt316

      WHERE ktosl EQ 'TRI'

        AND bukrs EQ /pws/zycie006-bukrs.

  IF /pws/zycie006-tpfatura EQ '04'.

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

    PERFORM imposto_d.

* << Fim da inclusão

    LOOP AT itab_zycit003.

      READ TABLE itab_contas_aux WITH KEY ebeln = itab_zycit003-ebeln

                                          ebelp = itab_zycit003-ebelp.

      PERFORM retorna_decimais USING /pws/zycie006-waers

                            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   .

...

 

...

    APPEND

    '   v_belnr_mr1m TYPE /pws/zycie006-belnr_mr1m, '       "#EC NOTEXT

                TO  t_prog.

    APPEND

    '       itab_itemdata TYPE bapi_incinv_create_item '    "#EC NOTEXT

                TO  t_prog.

    APPEND

    '              OCCURS 0 WITH HEADER LINE,'              "#EC NOTEXT

                TO  t_prog.

    APPEND

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

    '    itab_withtaxdata TYPE bapi_incinv_create_withtax ' "#EC NOTEXT

                TO  t_prog.

    APPEND

    '              OCCURS 0 WITH HEADER LINE,'              "#EC NOTEXT

                TO  t_prog.

    APPEND

* << Fim da inclusão

  'itab_return TYPE bapiret2 OCCURS 0 WITH HEADER LINE, '   "#EC NOTEXT

                TO  t_prog.

    APPEND

    '      itab_account TYPE bapi_incinv_create_account '   "#EC NOTEXT

                TO  t_prog.

    APPEND

    '  OCCURS 0 WITH HEADER LINE,'                          "#EC NOTEXT

                TO  t_prog.

    APPEND

    ' itab_glaccount2 TYPE bapi_incinv_create_gl_account'   "#EC NOTEXT

...

 

...

    APPEND

'end of itab_glaccount.'                                    "#EC NOTEXT

TO  t_prog.

    APPEND ' form f_exec_open '                             "#EC NOTEXT

    TO t_prog.

    APPEND ' tables itab_itemdata structure itab_itemdata'  "#EC NOTEXT

     TO t_prog.

    APPEND '  itab_account structure itab_account '         "#EC NOTEXT

    TO t_prog.

    APPEND '  itab_glaccount structure itab_glaccount'      "#EC NOTEXT

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

     TO t_prog.

    APPEND ' itab_withtaxdata structure itab_withtaxdata '  "#EC NOTEXT

* << Fim da inclusão

     TO t_prog.

    APPEND '  itab_return  structure itab_return '          "#EC NOTEXT

    TO t_prog.

    APPEND '  changing v_belnr_mr1m '                       "#EC NOTEXT

    TO t_prog.

    APPEND '  v_gjahr  '                                    "#EC NOTEXT

    TO t_prog.

    APPEND '  wa_headerdata structure wa_headerdata .'      "#EC NOTEXT

   TO t_prog.

    APPEND 'loop at itab_glaccount. '                       "#EC NOTEXT

...

 

...

    APPEND

 '               fiscalyear       = v_gjahr'                "#EC NOTEXT

 TO t_prog.

    APPEND

'          TABLES'                                          "#EC NOTEXT

TO t_prog.

    APPEND

'               itemdata         = itab_itemdata '          "#EC NOTEXT

TO t_prog.

    APPEND

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

'               withtaxdata      = itab_withtaxdata'        "#EC NOTEXT

TO t_prog.

    APPEND

* << Fim da inclusão

'               accountingdata   = itab_account'            "#EC NOTEXT

TO t_prog.

    APPEND

'              glaccountdata    = itab_glaccount2 '         "#EC NOTEXT

TO t_prog.

    APPEND

'              return           = itab_return. '            "#EC NOTEXT

TO t_prog.

    APPEND 'endform.' TO t_prog.

    GENERATE SUBROUTINE POOL t_prog NAME w_prog.       "#EC CI_GENERATE

    IF sy-subrc = 0.

      PERFORM f_exec_open IN PROGRAM (w_prog)

                                       TABLES

                                             itab_itemdata

                                             itab_account

                                             itab_glaccount

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

                                             itab_withtaxdata

* << Fim da inclusão

                                             itab_return

                                       CHANGING

                                             v_belnr_mr1m

                                             v_gjahr

                                             wa_headerdata

                                              IF FOUND.

    ENDIF.

  ENDIF.

ENDFORM.

...

 

...

* >> Início da inclusão:

FORM imposto_d.

  DATA: itab_zyglt378 TYPE /pws/zyglt378 OCCURS 0 WITH HEADER LINE,

        itab_lfbw     TYPE lfbw OCCURS 0 WITH HEADER LINE.

  SELECT * FROM lfbw INTO TABLE itab_lfbw

       WHERE lifnr     EQ /pws/zycie006-lifnr

         AND bukrs     EQ /pws/zycie006-bukrs

         AND wt_subjct NE space.

  READ TABLE itab_zycit003 INDEX 1.

  LOOP AT itab_lfbw WHERE wt_withcd IS initial.

    SELECT SINGLE wt_withcd

      FROM /pws/zycit353

      INTO itab_lfbw-wt_withcd

      WHERE werks   EQ itab_zycit003-werks

        AND witht   EQ itab_lfbw-witht.

    IF sy-subrc EQ 0.

      MODIFY itab_lfbw.

    ENDIF.

  ENDLOOP.

  IF lfa1-lifnr NE /pws/zycie006-lifnr.

    SELECT SINGLE * FROM lfa1 WHERE lifnr EQ /pws/zycie006-lifnr.

  ENDIF.

  SELECT *

         FROM /pws/zyglt378

         INTO TABLE itab_zyglt378

         WHERE codmod EQ 'D'.                           "#EC CI_NOFIRST

  DELETE itab_zyglt378 WHERE witht IS initial.

  DELETE itab_zyglt378 WHERE bukrs NE space AND

                             bukrs NE /pws/zycie006-bukrs.

  DELETE itab_zyglt378 WHERE land1 NE space AND

                             land1 NE t001-land1.

  DELETE itab_zyglt378 WHERE regio NE space AND

                             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.

  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.

        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.

  LOOP AT itab_withtaxdata.

    ADD 1 TO itab_withtaxdata-split_key.

    MODIFY itab_withtaxdata.

  ENDLOOP.

ENDFORM.

* << Fim da inclusão

 

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

Modificações efetuadas em REPS /PWS/MZYCI003X01

 

...

* >> Início da inclusão:

DATA itab_withtaxdata TYPE bapi_incinv_create_withtax OCCURS 0

                                                WITH HEADER LINE.

* << Fim da inclusão

DATA: END OF COMMON PART.