在ABAP中,我们可以使用以下方法将值插入到内部表中:
insert wa into table my_table.
问题是,如果my_table的名称只能在运行时确定,该如何处理?不幸的是,像下面这样的东西不起作用:
insert wa into table ('my_table').
我尝试在括号中使用动态名称,但没有成功。
使用
ASSIGN ('dobj_name') TO <fs_name>
:
FIELD-SYMBOLS <any_table> TYPE ANY TABLE.
ASSIGN ('my_table') TO <any_table>.
最小可重复程序:
DATA my_table TYPE TABLE OF i.
DATA wa TYPE i.
FIELD-SYMBOLS <any_table> TYPE ANY TABLE.
ASSIGN ('my_table') TO <any_table>.
INSERT wa INTO TABLE <any_table>. " inserts one line in MY_TABLE
其他写作:
FIELD-SYMBOLS <any_table> TYPE ANY TABLE.
DATA(itab_name) = 'my_table'.
ASSIGN (itab_name) TO <any_table>.
ABAP 文档链接:ASSIGN、dynamic_dobj