gid*_*mot 5 abap assignment-operator
我已经声明了一个类型为 ref 数据的类型。所以它看起来像这样
my_type type ref to data.
Run Code Online (Sandbox Code Playgroud)
然后我声明一个内部表,我想将它分配给 my_type。
Data:
ref_data type my_type.
itable type it_table.
ref_data = itable.
Run Code Online (Sandbox Code Playgroud)
为什么我不能将 itable 分配给 ref_data,数据的 ref 不是通用数据类型并且可以分配给任何东西吗?
这并不是数据引用的工作原理。必须键入数据引用,但您可以在运行时键入它。
data: ref_data type ref to data.
data: itable type it_table.
"you access the data in a data reference via a field symbol
field-symbols: <dref> type any.
create data ref_data type it_table.
assign ref_data->* to <dref>.
<dref> = itable.
Run Code Online (Sandbox Code Playgroud)
我现在在动态类型变量 ref_data 中有一个 itable 的副本,可以通过字段 symbol 访问。