有些场景需要我们读取某个程序的所有变量,然后再处理这些变量
DATA:lt_fieldlist TYPE TABLE OF rfieldlist,
ls_fieldlist TYPE rfieldlist.
DATA:gv_find TYPE c LENGTH 20.
gv_find = 'G*ALV*'.
"gv_find = 'GT_*TMP*'."支持这种类型
DATA:lv_program TYPE sy-cprog.
lv_program = 'SAPLZZXD_PORP'.
CALL FUNCTION 'GET_GLOBAL_SYMBOLS'
EXPORTING
program = lv_program "sy-cprog
name_pattern = gv_find
TABLES
fieldlist = lt_fieldlist.
FIELD-SYMBOLS <fs> TYPE any.
DATA:lv_text TYPE char30.
LOOP AT lt_fieldlist INTO ls_fieldlist WHERE type = 'r'.
lv_text = '(' && lv_program && ')' && ls_fieldlist-name.
ASSIGN (lv_text) TO <fs>.
IF <fs> IS ASSIGNED.
FREE <fs>.
ENDIF.
ENDLOOP.