创建内部表和类型i的数据对象。 数据对象在使用之前直接创建,然后由引用变量初始化并传递给收集器。 通过解除引用数据引用来访问数据对象。
如果未指定任何TYPE或LIKE,则必须完全键入数据引用变量dref。 然后使用数据引用变量的静态数据类型创建数据对象。
来看下面的例子:
TYPES t_itab TYPE TABLE OF i WITH NON-UNIQUE KEY table_line.
DATA: tab_ref TYPE REF TO t_itab,
i_ref TYPE REF TO i.
IF tab_ref IS INITIAL.
CREATE DATA tab_ref.
ENDIF.
tab_ref->* = VALUE #( FOR j = 1 UNTIL j > 10 ( j ) ).
IF tab_ref IS NOT INITIAL.
IF i_ref IS INITIAL.
CREATE DATA i_ref.
ENDIF.
LOOP AT tab_ref->* INTO i_ref->*.
cl_demo_output=>write( |{ i_ref->* }| ).
ENDLOOP.
ENDIF.
cl_demo_output=>display( ).
CLEAR: tab_ref, i_ref.