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.
8.0
Produto:
Nota
Descrição
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.