ABAP插入具有动态名称的内表

问题描述 投票:0回答:1

在ABAP中,我们可以使用以下方法将值插入到内部表中:

   insert wa into table my_table.

问题是,如果my_table的名称只能在运行时确定,该如何处理?不幸的是,像下面这样的东西不起作用:

   insert wa into table ('my_table').

我尝试在括号中使用动态名称,但没有成功。

dynamic-programming abap internal-tables
1个回答
0
投票

使用

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

© www.soinside.com 2019 - 2024. All rights reserved.