TYPE REF TO 在SAP里面也是引用,后面跟一个对象:可以是类,可以是数据类型DATA等等
记住:DATA V_REF TYPE REF TO **,这条语句只是声明了一个引用变量,并没有创建,要创建引用对象使用CREATE OBJECT V_REF语句
给REF引用变量赋值:可以使用变量、也可以使用字段符号
eg:GET REFERENCE OF <fs> INTO V_REF .
GET REFERENCE OF g_number INTO V_REF .
获取引用变量的值只能使用以下这种方式:
ASSIGN V_REF->* TO <fs>.
例如转换前端返回的json数据:
DATA:lv_data TYPE REF TO data.
DATA:lv_value TYPE string.
DATA:lv_field_symbols_string TYPE string.
FIELD-SYMBOLS:
<fs_value> TYPE any,
<fs_respond_data> TYPE ANY TABLE.
lv_data = /ui2/cl_json=>generate( json = iv_json ).
CLEAR lv_field_symbols_string.
UNASSIGN:<fs_value>.
lv_field_symbols_string = 'lv_data->data->downLoadUrl->*'.
ASSIGN (lv_field_symbols_string) TO <fs_value>."数组的话用表类型的指针,再去loop
IF <fs_value> IS ASSIGNED.
存值。
ENDIF.