**
ABAP拦截函数报错消息
**
在程序开发调用函数时,被调用函数直接给出错误提示或抛出异常,用户体验不友好,并且在RFC或PO中会直接抛出异常,使接口不能正常执行,可以通过本方法拦截错误消息,转成正常提示进行输出,使程序正常执行。
1.报错函数
此函数执行会直接提示错误
FUNCTION Z_TEST_01.
*"----------------------------------------------------------------------
*"*"本地接口:
*"----------------------------------------------------------------------
MESSAGE '报一个错误' TYPE 'E'.
ENDFUNCTION.
2.拦截报错消息,让消息不直接报错
在程序中调用报错函数,拦截错误,将错误消息转成提示正常输出。
DATA:l_str TYPE string.
CALL FUNCTION 'Z_TEST_01'
EXCEPTIONS
ERROR_MESSAGE = 1
OTHER = 2
.
IF sy-subrc <> 0.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
MSGID = sy-msgid
MSGNR = sy-msgno
MSGV1 = sy-msgv1
MSGV2 = sy-msgv2
MSGV3 = sy-msgv3
MSGV4 = sy-msgv4
IMPORTING
MESSAGE_TEXT_OUTPUT = l_str
.
ENDIF.
WRITE:l_str.