我已经声明了一个数据引用类型的类型。所以它看起来像这样
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 不是通用数据类型并且可以赋值给任何东西吗?
这与其他编程语言非常相似,不是键入变量或引用的问题。您正在尝试为指针变量赋值——这在任何地方都行不通。您需要使用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 的副本,通过字段符号访问。
您需要获得对您的结构的引用:
DATA itable TYPE it_table.
DATA my_type TYPE REF TO data.
GET REFERENCE OF itable INTO my_type.