FavoriteLoading
0

引用变量->*使用实例介绍

[隐藏]

1, 引用变量介绍

引用变量存储的是某个对象的地址,而不是实际的内容。ABAP中的引用包括数据引用对象引用,因此,ABAP中有数据引用变量对象引用变量两种,而对象引用又分为类引用接口引用

数据引用使用CREATE DATA...创建数据对象,对象引用使用CREATE OBJECT...创建类对象,但定义都使用DATA ... TYPE REF TO...的方式来声明一个引用变量(指针)。

数据引用就是指对非对象如基本变量、结构体、内表变量的引用(类似C中的指针)。对象引用指的是对象ABAP语言中的对象进行引用(类似Java中的指针)。

创建数据引用变量的数据类型:

TYPES <t_dref> TYPE REF TO DATA.

使用上面创建出来的引用变量数据类型或者是直接通过下面的语句来创建数据引用变量:

DATA <dref> TYPE REF TO DATA.

DATA数据类型为通用类型,这里还可以使用其他通用类型或具体的类型。

另外数据引用并不是指针,只是一个地址变量,用于保存其他变量的地址,不能直接操作,只有分配给field-symbol才能使用。有以下3种使用方法:
1,自己创建对像,如CREATE DATA DREF1 TYPE T_STRUCT,这时DREF1中就放了一个T_STRUCT类型变量的地址。
2, 取得已经存在的变量内存地址,如GET REFERENCE OF <FS1>-COL2 INTO DREF2,这时DREF2中就存放了<FS1>-COL2变量的內存地址。
3,另一个数据引用变量直接赋值给他的内存地址,如DREF2 = DREF1

2, 代码

例子代码如下:

运行结果:

2016-12-20_16-42-21

以上。