Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 31/01/2007 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:06:04
Descrição da Nota: O RECEBIMENTO DA FATURA DE SERVIÇO SÓ FAZ A MIRO E DÁ ERRO NA MIGO
Sintoma
O recebimento da fatura de serviço só faz a miro e dá erro na migo.
Solução
corrigir preenchimento dos itens para que o matuse dos itens seja preenchido corretamente.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 03002 Data: 31/01/2007 Hora: 11:40:08
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 03002
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00026
Agrupamento : 00151
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00775 - 00001 - 6.0 - 00022 - OCORREU DUMP NO MOMENTO DO ESTORNO DO RECEBIMENTO DO PROCESSO DE
02349 - 00002 - 6.0 - 00025 - ESTORNOS DA FATURA ATRAVÉS DE EXIT, PARA ATENDER ESPECÍFICO DO CL
----------------------------------------------------------------------------------------------------
O RECEBIMENTO DA FATURA DE SERVIÇO SÓ FAZ A MIRO E DÁ ERRO NA MIGO
----------------------------------------------------------------------------------------------------
Palavras Chave:
RECEBIMENTO - FATURA - SERVIÇO - MIGO
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
FORM reverse_document_mbst.
DATA: v_belnr_ant LIKE /pws/zycie006-belnr_p.
itab_zycie033-tcode = 'MBST'.
itab_zycie033-tabela = '/PWS/ZYCIT006'.
itab_zycie033-cpochv = /pws/zycie006-nrseq.
itab_zycie033-bukrs = /pws/zycie006-bukrs.
itab_zycie033-mblnr = /pws/zycie006-mblnr_mb01.
itab_zycie033-gjahr = /pws/zycie006-dt_mb01+0(4).
v_belnr_ant = /pws/zycie006-mblnr_mb01.
itab_zycie033-budat = /pws/zycie006-dt_mb01.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_MBST
IF /pws/zycbt007 IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie006-bukrs.
ENDIF.
SELECT SINGLE *
FROM marv
WHERE bukrs EQ /pws/zycie006-bukrs.
IF ( marv-vmmon EQ /pws/zycie006-dt_mb01+04(02) AND
marv-vmgja EQ /pws/zycie006-dt_mb01+0(4) ) OR
( marv-lfmon EQ /pws/zycie006-dt_mb01+04(02) AND
marv-lfgja EQ /pws/zycie006-dt_mb01+0(4) ).
itab_zycie033-budat = /pws/zycie006-dt_mb01.
itab_zycie033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycie033-budat = sy-datum.
itab_zycie033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
APPEND itab_zycie033.
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.
...
...
PERFORM get_parameters_mrm1_receb.
itab_zycie033-tcode = 'MR8M'.
itab_zycie033-tabela = '/PWS/ZYCIT006'.
itab_zycie033-cpochv = /pws/zycie006-nrseq.
itab_zycie033-bukrs = /pws/zycie006-bukrs.
itab_zycie033-belnr = /pws/zycie006-belnr_mr1m.
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-gjahr = /pws/zycie006-dt_mr1m+0(4).
v_belnr_ant = /pws/zycie006-belnr_mr1m.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_MR8M
IF /pws/zycbt007 IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie006-bukrs.
ENDIF.
SELECT SINGLE *
FROM marv
WHERE bukrs EQ /pws/zycie006-bukrs.
IF ( marv-vmmon EQ /pws/zycie006-dt_mr1m+04(02) AND
marv-vmgja EQ /pws/zycie006-dt_mr1m+0(4) ) OR
( marv-lfmon EQ /pws/zycie006-dt_mr1m+04(02) AND
marv-lfgja EQ /pws/zycie006-dt_mr1m+0(4) ).
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
APPEND itab_zycie033.
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.
...
...
CLEAR: itab_classe_aval.
READ TABLE itab_classe_aval WITH KEY
matnr = itab_matuse-matnr
bwkey = itab_zycit003-werks
bwtar = itab_matuse-bwtar.
IF sy-subrc EQ 0.
CLEAR: itab_param_classe.
READ TABLE itab_param_classe WITH KEY
bklas = itab_classe_aval-bklas.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
MOVE: space TO itab_zycbt035_aux-matuse,
* << Fim da exclusão
* >> Início da inclusão: FORM MULTIPLOS_LANCAMENTOS_F_51
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
* << Fim da inclusão
itab_classe_aval-bklas TO itab_zycbt035_aux-bklas .
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
MOVE: itab_matuse-j_1bmatuse TO itab_zycbt035_aux-matuse,
space TO itab_zycbt035_aux-bklas .
ENDIF.
ELSE.
...
...
/pws/zycie006-belnr_f_51 TO v_docant_fb08.
itab_zycbe033-tcode = 'FBRA'.
itab_zycbe033-tabela = '/PWS/ZYCIT006'.
itab_zycbe033-cpochv = /pws/zycie006-nrseq.
itab_zycbe033-belnr = /pws/zycie006-belnr_f_51.
itab_zycbe033-bukrs = /pws/zycie006-bukrs.
itab_zycbe033-bldat = /pws/zycie006-dt_f_51.
itab_zycie033-budat = /pws/zycie006-dt_f_51.
v_belnr_ant = /pws/zycie006-belnr_f_51.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_CONTAB_FBRA
IF /pws/zycbt007 IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie006-bukrs.
ENDIF.
CALL FUNCTION '/PWS/ZYGL_MOTIVO_ESTORNO'
EXPORTING
v_data = /pws/zycie006-dt_f_51
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr.
IF v_subrc = 0.
itab_zycbe033-budat = /pws/zycie006-dt_f_51.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycbe033-budat = sy-datum.
itab_zycbe033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
APPEND itab_zycbe033.
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.
...
...
PERFORM clear_date_batch.
itab_zycie033-tcode = 'MR8M'.
itab_zycie033-tabela = '/PWS/ZYCIT006'.
itab_zycie033-cpochv = /pws/zycie006-nrseq.
itab_zycie033-bukrs = /pws/zycie006-bukrs.
itab_zycie033-belnr = /pws/zycie006-belnr_mr1m.
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-gjahr = /pws/zycie006-dt_mr1m+0(4).
v_belnr_ant = /pws/zycie006-belnr_mr1m.
itab_zycie033-stgrd = /pws/zycbt007-percorr.
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FATURA_MR8M
SELECT SINGLE *
FROM marv
WHERE bukrs EQ /pws/zycie006-bukrs.
IF ( marv-vmmon EQ /pws/zycie006-dt_mr1m+04(02) AND
marv-vmgja EQ /pws/zycie006-dt_mr1m+0(4) ) OR
( marv-lfmon EQ /pws/zycie006-dt_mr1m+04(02) AND
marv-lfgja EQ /pws/zycie006-dt_mr1m+0(4) ).
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycie033-budat = /pws/zycie006-dt_mr1m.
itab_zycie033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
APPEND itab_zycie033.
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.
...
...
PERFORM clear_date_batch.
itab_zycie033-tcode = 'MBST'.
itab_zycie033-tabela = '/PWS/ZYCIT006'.
itab_zycie033-cpochv = /pws/zycie006-nrseq.
itab_zycie033-bukrs = /pws/zycie006-bukrs.
itab_zycie033-mblnr = /pws/zycie006-mblnr_mb01.
itab_zycie033-gjahr = /pws/zycie006-dt_mb01+0(4).
itab_zycie033-budat = /pws/zycie006-dt_mb01.
v_belnr_ant = /pws/zycie006-mblnr_mb01.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
* >> Início da inclusão: FORM REVERSE_DOCUMENTO_FISICO_FBRA
IF /pws/zycbt007 IS INITIAL.
SELECT SINGLE *
FROM /pws/zycbt007
WHERE bukrs EQ /pws/zycie006-bukrs.
ENDIF.
SELECT SINGLE *
FROM marv
WHERE bukrs EQ /pws/zycie006-bukrs.
IF ( marv-vmmon EQ /pws/zycie006-dt_mb01+04(02) AND
marv-vmgja EQ /pws/zycie006-dt_mb01+0(4) ) OR
( marv-lfmon EQ /pws/zycie006-dt_mb01+04(02) AND
marv-lfgja EQ /pws/zycie006-dt_mb01+0(4) ).
itab_zycie033-budat = /pws/zycie006-dt_mb01.
itab_zycie033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycie033-budat = sy-datum.
itab_zycie033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
APPEND itab_zycie033.
LOOP AT itab_zycit003.
MOVE : itab_zycit003-ebeln TO itab_itens_nf-ebeln,
itab_zycit003-ebelp TO itab_itens_nf-ebelp.
APPEND itab_itens_nf.
ENDLOOP .
e_subrc = '0' .
PERFORM verifica_exit USING 'D'
'/PWS/SAPMZYCI003'
'FAT009'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003TOP
PROGRAM /pws/sapmzyci003 MESSAGE-ID /pws/zycim.
INCLUDE: /pws/mzyci003oo,
/pws/zygli100,
/pws/zygli101,
/pws/mzyci003x01.
data: v_pag_antecipado type c.
* >> Início da inclusão:
tables: marv.
* << Fim da inclusão
DATA: BEGIN OF itab_venc_fatura OCCURS 0.
INCLUDE STRUCTURE spopli.
DATA: END OF itab_venc_fatura.
DATA: BEGIN OF itab_zycit006 OCCURS 10.
INCLUDE STRUCTURE /pws/zycit006.
DATA mark.
DATA: END OF itab_zycit006.
DATA: BEGIN OF itab_zyglt100 OCCURS 10.
INCLUDE STRUCTURE /pws/zyglt100.
DATA: END OF itab_zyglt100.
...