ABAP RFC调用Function时遇到E类型message后程序会DUMP,导致接口失败。
可以在调用函数时在EXCEPTIONS中加入 ERROR_MESSAGE 返回异常处理,捕获错误消息,避免DUMP。
CALL FUNCTION 'Z_WM_TO_CREATE'
EXPORTING
i_lgnum = ls_tab2-lgnum
i_tbnum = ls_mseg-tbnum
IMPORTING
e_tanum = l_tanum
TABLES
t_trite = lt_trite
T_RETURN = LT_RETURN2
EXCEPTIONS
ERROR_MESSAGE = 98
OTHERS = 12.
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 = LS_ERR .
EX_RETURN-RETURN_FLAG = 'E' .
EX_RETURN-RETURN_MSG = LS_ERR .
ENDIF.