Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 06/09/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:09:45
Descrição da Nota: AJUST ENO CALCULO DO IVA PARA A BAP DA MIRO.
Sintoma
O programa está calculando incorretamente o valor de IVA.
Solução
informar a região do itens do pedido selecionando-os na ekpo assim como é realizado na bapi da miro.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04650 Data: 06/09/2007 Hora: 16:00:58
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04650
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00013
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04525 - 00001 - 7.0 - 00002 - AJUSTE PARA REALIZAR O RATEIO DE IMPOSTOS DE ACORDO COM A ANA
----------------------------------------------------------------------------------------------------
AJUST ENO CALCULO DO IVA PARA A BAP DA MIRO.
----------------------------------------------------------------------------------------------------
Palavras Chave:
IVA - BAP - MIRO - FATURA - /PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
INCLUDE STRUCTURE komk.
DATA: ebeln LIKE ekko-ebeln.
DATA: END OF itab_komk_aux.
DATA: BEGIN OF itab_fat OCCURS 0.
DATA: nrseq TYPE /pws/zycie006-nrseq.
DATA: END OF itab_fat.
DATA: itab_zycit047a TYPE /pws/zycit047 OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF itab_ivaped OCCURS 0.
DATA: ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
* >> Início da exclusão: FORM MIRO_AM_LA
mwskz TYPE ekpo-mwskz.
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
mwskz TYPE ekpo-mwskz,
txjcd TYPE ekpo-txjcd.
* << Fim da inclusão
DATA: END OF itab_ivaped.
DATA: itab_itens_iva TYPE mmcr_drseg OCCURS 0 WITH HEADER LINE,
itab_retorno TYPE bset OCCURS 0 WITH HEADER LINE.
DATA: itab_zycit399 TYPE /pws/zycit399 OCCURS 0 WITH HEADER LINE,
itab_zycit403 TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE,
itab_zycit403a TYPE /pws/zycit403 OCCURS 0 WITH HEADER LINE.
* >> Início da inclusão: FORM MIRO_AM_LA
v_vltotal = /pws/zycie006-vltotal.
PERFORM retorna_decimais USING /pws/zycie006-waers
CHANGING v_vltotal.
* << Fim da inclusão
IF v_parcela = 'X' AND
NOT itab_zycit132-belnr_mr1m IS INITIAL.
EXIT.
ENDIF.
FREE: itab_contas_aux.
itab_contas_aux[] = itab_contas[].
itab_zycbe033_aux[] = itab_zycbe033[].
PERFORM get_parameters_mrm1_receb.
CASE /pws/zycie006-tpfatura.
WHEN '01'.
...
...
OR kbetr EQ space.
ENDIF.
ENDIF.
SELECT * FROM /pws/zycit399 INTO TABLE itab_zycit399
WHERE pais EQ t001-land1.
READ TABLE itab_zycit003 INDEX 1.
SELECT SINGLE nrseqdi FROM /pws/zycit100 INTO /pws/zycit085-nrseqdi
WHERE nrseq EQ itab_zycit003-nrseq.
SELECT * FROM /pws/zycit403 INTO TABLE itab_zycit403
WHERE nrseqdi EQ /pws/zycit085-nrseqdi.
* >> Início da exclusão: FORM MIRO_AM_LA
ELSE.
SELECT ebeln ebelp mwskz FROM ekpo
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
REFRESH itab_ivaped.
SELECT ebeln ebelp mwskz txjcd FROM ekpo
* << Fim da inclusão
INTO TABLE itab_ivaped
FOR ALL ENTRIES IN itab_zycit003
WHERE ebeln EQ itab_zycit003-ebeln
AND ebelp EQ itab_zycit003-ebelp.
* >> Início da exclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da exclusão
READ TABLE itab_zycit003 INDEX 1.
READ TABLE itab_zycbe033_aux INDEX 1.
IF /pws/zycie006-tpfatura EQ '02' AND
...
...
itab_zycit031-meins = itab_zycit003-meins .
itab_zycit031-mwskz = itab_zycie033-mwskz .
LOOP AT itab_zycit047 WHERE vldp > 0.
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 *
* >> Início da exclusão: FORM MIRO_AM_LA
( itab_zycit047-vldp / /pws/zycie006-vltotal ).
* << Fim da exclusão
* >> Início da inclusão: FORM MIRO_AM_LA
( itab_zycit047-vldp / v_vltotal ).
* << Fim da inclusão
v_vlaux = v_vlaux + itab_zycit031-wrbtr.
READ TABLE itab_zycit399 WITH KEY codigo = itab_zycit019-codigo.
IF sy-subrc EQ 0.
CONTINUE.
ENDIF.
CLEAR: itab_zycit031-sernp.
READ TABLE itab_zycit047a WITH KEY
tpdesp = itab_zycit047-tpdesp.
IF sy-subrc EQ 0.
itab_zycit031-sernp = 'X'.
...
...
EXIT.
ENDIF.
ELSE.
CONTINUE.
ENDIF.
CLEAR: v_vlaux.
LOOP AT itab_zycit403 WHERE codigo = itab_zycit019-codigo.
READ TABLE itab_zycit003
WITH KEY ebeln = itab_zycit403-ebeln
ebelp = itab_zycit403-ebelp.
* >> Início da exclusão: FORM MIRO_AM_LA
PERFORM retorna_decimais USING /pws/zycie006-waers
CHANGING itab_contas_aux-wrbtr.
* << Fim da exclusão
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 .
itab_zycit031-menge = itab_zycit003-qtd_iten.
itab_zycit031-wrbtr = itab_zycit047-vldp *
...
...
itab_itens_iva-ebeln = itab_itemdata-po_number.
itab_itens_iva-ebelp = itab_itemdata-po_item.
itab_itens_iva-matnr = itab_zycit003-matnr.
itab_itens_iva-meins = itab_itemdata-po_unit.
itab_itens_iva-umren = '1'.
itab_itens_iva-umrez = '1'.
itab_itens_iva-waers = /pws/zycie006-waers.
itab_itens_iva-wepos = 'X'.
itab_itens_iva-werks = itab_zycit003-werks.
itab_itens_iva-eindt = itab_zycie033-bldat.
* >> Início da inclusão: FORM MIRO_AM_LA
READ TABLE itab_ivaped WITH KEY ebeln = itab_zycit003-ebeln
ebelp = itab_zycit003-ebelp.
itab_itens_iva-txjcd = itab_ivaped-txjcd.
IF itab_zycie033-mwskz IS INITIAL.
itab_itens_iva-mwskz = itab_zycit031-mwskz.
ELSE.
* << Fim da inclusão
itab_itens_iva-mwskz = itab_zycie033-mwskz.
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da inclusão
itab_itens_iva-gjahr = itab_zycie033-bldat(4).
itab_itens_iva-kokrs = /pws/zycie006-bukrs.
itab_itens_iva-menge = itab_itemdata-quantity.
itab_itens_iva-mlmaa = 'X'.
itab_itens_iva-selkz = 'X'.
itab_itens_iva-wrbtr = itab_itemdata-item_amount.
...
...
i_wwert = itab_zycie033-bldat
TABLES
t_drseg = itab_itens_iva
t_bset = itab_retorno
EXCEPTIONS
user_exit = 1
OTHERS = 2
.
IF sy-subrc <> 0.
ENDIF.
* >> Início da inclusão: FORM MIRO_AM_LA
CLEAR: itab_retorno-hwste.
LOOP AT itab_itens_iva.
ADD itab_itens_iva-fwste TO itab_retorno-hwste.
ENDLOOP.
* << Fim da inclusão
wa_headerdata-gross_amount = wa_headerdata-gross_amount +
itab_retorno-hwste.
CALL FUNCTION 'BAPI_INCOMINGINVOICE_CREATE'
EXPORTING
headerdata = wa_headerdata
IMPORTING
invoicedocnumber = v_belnr_mr1m
fiscalyear = v_gjahr
TABLES
itemdata = itab_itemdata
...