DATA:lv_req TYPE REF TO data,
lv_resp TYPE REF TO data.
FIELD-SYMBOLS:<fs_req> TYPE any,
<fs_resp> TYPE any,
<fs_value> TYPE any.
“可在此维护相关function名称
SELECT SINGLE * FROM ztif_prog WHERE cid = @sscrfields-ucomm INTO @DATA(gs_tab).
IF gs_tab IS INITIAL .
MESSAGE '请维护表 ztif_prog' TYPE 'E'.
ELSE.
SELECT * FROM fupararef WHERE funcname = @gs_tab-fun INTO TABLE @DATA(gt_fconf).
TRY.
LOOP AT gt_fconf INTO DATA(gs_fconf).
IF gs_fconf-parameter = 'INPUT'.
CREATE DATA lv_req TYPE (gs_fconf-structure).
ASSIGN lv_req->* TO <fs_req>.
ENDIF.
IF gs_fconf-parameter = 'OUTPUT'.
CREATE DATA lv_req TYPE (gs_fconf-structure).
ASSIGN lv_resp->* TO <fs_resp>.
ENDIF.
ENDLOOP.
CALL FUNCTION gs_fconf-funcname
EXPORTING
i_req = <fs_req>
IMPORTING
o_resp = <fs_resp>.
CATCH cx_root.
ENDTRY.
ENDIF.
【ABAP】动态调用function
于 2025-01-13 19:14:58 首次发布