Abap 变量的动态数据类型

Abap 变量的动态数据类型,abap,Abap,通常,我们将表字段声明为如下数据类型: 数据键类型vbak vbeln 但是,我希望在声明中动态地给出字段名,如下所示: 数据键类型vbak-字段名 如何实现这一点?如果使用任意类型的字段符号,您可以非常轻松地实现这一点 然后,简单到: DATA: lt_line type vbak. Field-Symbols: <dat> type any. Assign component (fieldname) of Structure lt_line to <dat>. 数

通常,我们将表字段声明为如下数据类型:

数据键类型vbak vbeln

但是,我希望在声明中动态地给出字段名,如下所示:

数据键类型vbak-字段名


如何实现这一点?

如果使用任意类型的字段符号,您可以非常轻松地实现这一点

然后,简单到:

DATA: lt_line type vbak.
Field-Symbols: <dat> type any.

Assign component (fieldname) of Structure lt_line to <dat>.
数据:lt_线型vbak。
字段符号:键入任意。
将结构lt_行的组件(字段名)分配给。

如果您提供更多关于您正在尝试执行的操作的信息,或许我可以提供更好的选择。

在我的情况下,表名和字段名都是未知的。这是我的最终解决方案

DATA: T_REF TYPE REF TO DATA,
      TAB(20) TYPE c VALUE 'VBAP',
      TAB_COMP(20) TYPE c VALUE 'WERKS'.

FIELD-SYMBOLS: <T> TYPE ANY,
               <COMP> TYPE ANY.

CREATE DATA T_REF TYPE (TAB).
ASSIGN T_REF->* TO <T>.
ASSIGN COMPONENT TAB_COMP OF STRUCTURE <T> TO <COMP>.

SELECT WERKS FROM VBAP INTO <COMP> UP TO 5 ROWS.
    WRITE: / <COMP>.
ENDSELECT.
DATA:T_REF类型REF TO DATA,
表(20)c类值“VBAP”,
TAB_COMP(20)类型c值'WERKS'。
字段符号:键入任意,
键入任何。
创建数据T_参考类型(选项卡)。
将T_REF->*分配给。
将结构的组件选项卡组件分配给。
从VBAP中最多选择5行。
写:/。
结束选择。

您能描述一下为什么要动态声明类型吗?请查看此内容,尝试启动SAP堆栈交换,谢谢您的帮助。它帮助了我。我也发布了我的最终答案。@vwegert我可以从我的UI传递任何表格和字段。