ABAP/ABAP-OO
실행중인 메소드의 파라미터 목록 읽기 (자바스크립트의 arguments 처럼)
Derby
2021. 7. 7. 11:53
ABAP method parameters
DATA: lt_callstack TYPE abap_callstack,
ls_callstack TYPE abap_callstack_line,
lo_class_desc TYPE REF TO cl_abap_classdescr,
ls_method_desc TYPE abap_methdescr,
ls_param_desc TYPE abap_parmdescr.
FIELD-SYMBOLS: <lv_value> TYPE any.
CALL FUNCTION 'SYSTEM_CALLSTACK'
EXPORTING
max_level = 1
IMPORTING
callstack = lt_callstack.
READ TABLE lt_callstack INTO ls_callstack INDEX 1.
lo_class_desc ?= cl_abap_classdescr=>describe_by_name( cl_oo_classname_service=>get_clsname_by_include( ls_callstack-include ) ).
READ TABLE lo_class_desc->methods INTO ls_method_desc WITH KEY name = ls_callstack-blockname.
LOOP AT ls_method_desc-parameters INTO ls_param_desc.
ASSIGN (ls_param_desc-name) TO <lv_value>.
" ...
ENDLOOP.