除了之前一篇文章什么是 ABAP Field Symbol介绍的 Field Symbol 以外,引用类型(Reference Type) 是 ABAP 编程语言里另一个很重要的数据类型。

让我们还是通过实际例子来理解。

下面这行简单的代码,定义了一个整型变量 lv1, 值为1.

紧接着,我们将其的值改为 2. 最后打印输出,lv1 的值为2.

ABAP 引用类型介绍_零基础快速学习 ABAP

除了这种通过赋值符号 = 给变量直接复制的方式之外,我们还可以通过引用变量来间接完成。

下列代码第 14 行,我定义了一个引用类型的变量 lr,类型为 REF TO int4, 意思是,该引用变量,指向另一个类型为 int4 的整型变量。

ABAP 引用类型介绍_零基础快速学习 ABAP_02

第16行,我使用 GET REFERENCE OF lv1 INTO lr, 意思是,将程序运行时,将变量 lv1 在内存中的地址赋给引用变量 lr.

这样,我通过 ABAP 提供的某种机制,能实现通过修改引用变量 lr, 也能更改它指向的整型变量 lv1 的值的目的。

整型变量 lv1 和指向它的引用变量 lr 的示意图如下所示。其中整型变量 lv1 包含的红色区域代表其整型值 2,而引用变量 lr 包含的紫色区域的星号,代表其存储的是整型变量 lv1 的地址。