我已经声明了一个类型为 ref to data 的类型。所以看起来像这样
my_type type ref to data.
然后我声明一个内部表,我想将它分配给 my_type。
Data:
ref_data type my_type.
itable type it_table.
ref_data = itable.
为什么我不能将 itable 分配给 ref_data,对数据的引用不是通用数据类型并且可以分配给任何东西吗?
我已经声明了一个类型为 ref to data 的类型。所以看起来像这样
my_type type ref to data.
然后我声明一个内部表,我想将它分配给 my_type。
Data:
ref_data type my_type.
itable type it_table.
ref_data = itable.
为什么我不能将 itable 分配给 ref_data,对数据的引用不是通用数据类型并且可以分配给任何东西吗?
这与其他编程语言非常相似,输入变量或引用都不是问题。您正在尝试为指针变量赋值 - 这在任何地方都不起作用。您需要使用GET REFERENCE OF itable INTO ref_data。
这不是数据引用的工作方式。必须键入数据引用,但您在运行时键入它。
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.
现在,我的动态类型变量 ref_data 中有一个 itable 的副本,由字段 symbol 访问。