Field Symbol和数据引用
- 1.概要
- 2.定义Field Symbol
- (1)定义-Generic TYPE(泛型)
- (2)定义-Fully TYPE(全类型)
- 3.分配Field Symbol
- (1)Assign语句的基本结构
- (2)将结构体字段分配到字段符号中
- (3)Field Symbol与Casting
- 4.Field Symbol语句与内表
- 5.Field Symbol语句与结构体
- 6.数据引用
1.概要
定义:由一般字段的占位符或者符号名组成。
特性:
A.动态访问变量;
B.不占有内存空间;
C.真实的数据名与属性在执行时刻才确定;
D.可以指定所有的数据对象。
2.定义Field Symbol
语法:FILED-SYMBOLS [TYPE].
类型:Generic TYPE和Fully TYPE。
(1)定义-Generic TYPE(泛型)
特点:定义时不指定类型,当被分配时,继承分配的数据对象的技术属性。
语法:FIELD-SYMBOLS TYPE ANY[TABLE].
注意:利用TYPE ANY定义的泛型Field Symbol,在程序中无法静态地调用地址来使用。
(2)定义-Fully TYPE(全类型)
特点:当定义Field Symbol时就以固定形式定义数据对象。
语法:FILED SYMBOLS TYPE 表;
FIELD SYMBOLS LIKE LINE OF 内表。
3.分配Field Symbol
(1)Assign语句的基本结构
A.静态分配
语法:ASSIGN dobj TO .
B.利用Offset语句静态赋值
语法:ASSGIN dobj[+off][(len)] TO .
C.动态使用Assign语句
语法:ASSIGN (dobj) TO .
ASSIGN TABLE FIELD (dobj) TO .
(2)将结构体字段分配到字段符号中
语法:ASSIGN COMPONENT comp OF STRUCTURE struc TO .
分配:类型定义成结构体或者TYPE ANY情况。
(3)Field Symbol与Casting
A.隐式型变化
使用条件:数据类型定义为Fully Type或者基本数据类型- c,n,p,x-时。
语法:ASSIGN TO CASTING.
B.显式型变化
使用条件:数据类型定义为Generic Type时。
语法:ASSIGN TO CASTING Type line.
4.Field Symbol语句与内表
5.Field Symbol语句与结构体
6.数据引用
(1)定义:数据引用是数据对象的指针,将指针作为值且拥有自己的内存领域。
(2)例子:查询表结构