Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 20/12/2010 00:00:00
Data/Hora Última Alteração: 22/02/2011 16:24:10
Descrição da Nota: FATURA DE MERCADORIA NÃO SALVOU OS ITENS.
Sintoma
Ao tentar receber um processo exibe mensagem informando que existe fatura não contabilizada, porém
ao acessar a lista de fatura todas estão contabilizadas.
Solução
Ajustado programa para apresentar as mensagens após gravar os itens da fatura.
8.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 10848 Data: 20/12/2010 Hora: 10:18:04
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 10848
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00006
Agrupamento : 00051
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02689 - 00001 - 6.0 - 00025 - FATURA COMERCIAL NÃO É GERADA
05303 - 00002 - 7.0 - 00004 - ABERTURA DE EXIT ANTES DA CHAMADA DA BAPI DA MIRO (FAT003)
08265 - 00003 - 7.0 - 00009 - FATURA DE MERCADORIA IMPLEMENTAR TRATAMENTO PARA CALCULO DA DATA
10514 - 00004 - 8.0 - 00004 - FATURA EM REAIS NÃO VÃO PARA O CÂMBIO.
----------------------------------------------------------------------------------------------------
FATURA DE MERCADORIA NÃO SALVOU OS ITENS.
----------------------------------------------------------------------------------------------------
Palavras Chave:
FATURA - MERCADORIA - MENSAGEM - SAIR - SISTEMA
/PWS/SAPMZYCI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
ENDIF.
IF sy-subrc = 0 OR e_subrc = '4'.
IF v_parcela = 'X'.
READ TABLE itab_zycbt032 WITH KEY tcode = v_trans
tabela = '/PWS/ZYCIT132'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
/pws/zycie006-statusp = 'C'.
itab_zycit132-status = 'C'.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '057'.
itab_msg-msgv1 = itab_zycbt032-belnr.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i057 WITH itab_zycbt032-belnr.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
ENDIF.
* << Fim da inclusão
itab_zycit132-belnr_p = itab_zycbt032-belnr.
itab_zycit132-dt_belnrp = sy-datum.
itab_zycit132-hr_belnrp = sy-uzeit.
PERFORM altera_data_base
USING v_parcela
/pws/zycie006-bukrs
...
...
itab_zycbt032-belnr
itab_zycbe033-zterm.
SELECT SINGLE ztag1 FROM t052 INTO itab_t052s-ztag1
WHERE zterm = itab_zycit132-zterm.
itab_zycit132-dtvencto =
itab_zycit132-dtbase + itab_t052s-ztag1.
MODIFY itab_zycit132.
ELSE.
erro_bi = 'X'.
LOOP AT itab_zycbt032.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
itab_mensagens-mensagem = itab_zycbt032-msg.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ELSE.
READ TABLE itab_zycbt032 WITH KEY tcode = v_trans
tabela = '/PWS/ZYCIT006'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
/pws/zycie006-statusp = 'C'.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '057'.
itab_msg-msgv1 = itab_zycbt032-belnr.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i057 WITH itab_zycbt032-belnr.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
ENDIF.
* << Fim da inclusão
/pws/zycie006-belnr_p = itab_zycbt032-belnr.
/pws/zycie006-dt_belnrp = sy-datum.
/pws/zycie006-hr_belnrp = sy-uzeit.
PERFORM altera_data_base
USING v_parcela
/pws/zycie006-bukrs
itab_zycbe033-budat
itab_zycbt032-belnr
itab_zycbe033-zterm.
MODIFY /pws/zycit006 FROM /pws/zycie006.
ELSE.
erro_bi = 'X'.
LOOP AT itab_zycbt032.
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
itab_mensagens-mensagem = itab_zycbt032-msg.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
* >> Início da inclusão: FORM FILL_DATE_F-43_F-02
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
...
...
INSERT /pws/zycbt119.
ENDWHILE.
MOVE /pws/zycbt119-nrseq TO itab_zycit132-nrseq_pgfat.
IF /pws/zycie006-nrseq_pgfat IS INITIAL.
MOVE /pws/zycbt119-nrseq TO /pws/zycie006-nrseq_pgfat.
ENDIF.
MODIFY /pws/zycit006 FROM /pws/zycie006.
APPEND /pws/zycie006 TO itab_zycit006.
IF ( /pws/zycie006-frpagto EQ 'N'
OR /pws/zycie006-frpagto EQ 'P' AND NOT v_di IS INITIAL ).
* >> Início da inclusão: FORM GRAVAR_CAMBIO
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '061'.
itab_msg-msgv1 = text-008.
itab_msg-msgv2 = /pws/zycbt119-nrfat.
itab_msg-msgv3 = text-009.
itab_msg-msgv4 = /pws/zycbt119-nrseq.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
msg_var2 = itab_msg-msgv2
msg_var3 = itab_msg-msgv3
msg_var4 = itab_msg-msgv4
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat
text-009 /pws/zycbt119-nrseq.
* >> Início da inclusão: FORM GRAVAR_CAMBIO
ENDIF.
* << Fim da inclusão
ELSE.
/pws/zycbt119-status = 'E'.
MODIFY /pws/zycbt119.
ENDIF.
ELSE.
...
...
WHILE sy-subrc NE 0.
PERFORM busca_sequencial.
INSERT /pws/zycbt119.
ENDWHILE.
MOVE /pws/zycbt119-nrseq TO /pws/zycie006-nrseq_pgfat.
MODIFY /pws/zycit006 FROM /pws/zycie006.
APPEND /pws/zycie006 TO itab_zycit006.
IF ( /pws/zycie006-frpagto EQ 'N' OR
/pws/zycie006-frpagto EQ 'P'
AND NOT v_di IS INITIAL ).
* >> Início da inclusão: FORM GRAVAR_CAMBIO
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '061'.
itab_msg-msgv1 = text-008.
itab_msg-msgv2 = /pws/zycbt119-nrfat.
itab_msg-msgv3 = text-009.
itab_msg-msgv4 = /pws/zycbt119-nrseq.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
msg_var2 = itab_msg-msgv2
msg_var3 = itab_msg-msgv3
msg_var4 = itab_msg-msgv4
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat
text-009 /pws/zycbt119-nrseq.
* >> Início da inclusão: FORM GRAVAR_CAMBIO
ENDIF.
* << Fim da inclusão
ELSE.
IF NOT /pws/zycie006-nrseq_pgfat IS INITIAL.
* >> Início da inclusão: FORM GRAVAR_CAMBIO
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '061'.
itab_msg-msgv1 = text-008.
itab_msg-msgv2 = /pws/zycbt119-nrfat.
itab_msg-msgv3 = text-009.
itab_msg-msgv4 = /pws/zycbt119-nrseq.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
msg_var2 = itab_msg-msgv2
msg_var3 = itab_msg-msgv3
msg_var4 = itab_msg-msgv4
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i061 WITH text-008 /pws/zycbt119-nrfat
text-009 /pws/zycbt119-nrseq.
* >> Início da inclusão: FORM GRAVAR_CAMBIO
ENDIF.
* << Fim da inclusão
ENDIF.
/pws/zycbt119-status = 'E'.
MODIFY /pws/zycbt119.
ENDIF.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
/pws/zycit263-qtd_iten = itab_zycit003-toinv.
/pws/zycit263-meins = itab_zycit003-meins.
/pws/zycit263-vlreal = itab_zycit003-vlreal.
/pws/zycit263-vlfre_fat = itab_zycit003-vlfre_fat.
/pws/zycit263-vlseg_fat = itab_zycit003-vlseg_fat.
/pws/zycit263-waers_real = itab_zycit003-waers_real.
/pws/zycit263-ntgew = itab_zycit003-ntgew.
/pws/zycit263-gewei = itab_zycit003-gewei.
MODIFY /pws/zycit263.
ENDLOOP.
* >> Início da inclusão: FORM FILL_NRSEQ_PGFAT
LOOP AT itab_mensagens.
MESSAGE i061 WITH itab_mensagens-mensagem(50)
itab_mensagens-mensagem+50(50)
itab_mensagens-mensagem+100(50)
itab_mensagens-mensagem+150(50).
ENDLOOP.
REFRESH itab_mensagens.
* << Fim da inclusão
ENDIF.
ENDFORM.
...
...
PERFORM (itab_zyglt100-formulario) IN PROGRAM
(itab_zyglt100-programa) IF FOUND.
ENDIF.
ENDIF.
IF e_subrc EQ 0.
PERFORM miro_dinamica.
IF NOT v_belnr_mr1m IS INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
* >> Início da inclusão: FORM MIRO_AM_LA
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
CLEAR: itab_mensagens, itab_msg.
itab_msg-msgid = '/PWS/ZYCIM'.
itab_msg-msgnr = '010'.
itab_msg-msgv1 = v_belnr_mr1m.
CALL FUNCTION 'MESSAGE_PREPARE'
EXPORTING
language = sy-langu
msg_id = itab_msg-msgid
msg_no = itab_msg-msgnr
msg_var1 = itab_msg-msgv1
IMPORTING
msg_text = itab_mensagens-mensagem
EXCEPTIONS
function_not_completed = 1
message_not_found = 2
OTHERS = 3.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i010 WITH v_belnr_mr1m.
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da inclusão
CLEAR: v_awkey.
CONCATENATE v_belnr_mr1m v_gjahr INTO v_awkey.
SELECT SINGLE belnr FROM bkpf INTO v_doc_miro
WHERE awtyp EQ 'RMRP'
AND awkey EQ v_awkey.
IF v_parcela = 'X'.
...
...
/pws/zycie006-hr_belnrp = sy-uzeit.
ENDIF.
MODIFY /pws/zycit006 FROM /pws/zycie006.
ELSE.
LOOP AT itab_return.
CONCATENATE itab_return-id itab_return-number
itab_return-message INTO v_mensagem
SEPARATED BY space.
* >> Início da inclusão: FORM MIRO_AM_LA
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
itab_mensagens-mensagem = v_mensagem.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
MESSAGE i061 WITH v_mensagem+0(50)
v_mensagem+50(50)
v_mensagem+100(50)
v_mensagem+150(50).
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ELSEIF e_subrc EQ 8.
EXIT.
ELSE.
LOOP AT itab_return.
* >> Início da inclusão: FORM MIRO_AM_LA
IF /pws/zycie006-tpfatura = '01' AND
sy-tcode EQ '/PWS/ZYCI003_C'.
itab_mensagens-mensagem = v_mensagem.
APPEND itab_mensagens.
ELSE.
* << Fim da inclusão
CONCATENATE itab_return-id itab_return-number
itab_return-message INTO v_mensagem
SEPARATED BY space.
MESSAGE i061 WITH v_mensagem+0(50)
v_mensagem+50(50)
v_mensagem+100(50)
v_mensagem+150(50).
* >> Início da inclusão: FORM MIRO_AM_LA
ENDIF.
* << Fim da inclusão
ENDLOOP.
ENDIF.
ENDFORM.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
* >> Início da inclusão:
data: begin of itab_mensagens occurs 0,
mensagem(200) type c,
end of itab_mensagens.
* << Fim da inclusão
DATA: END OF COMMON PART.