一.字段符号:
1.声明字段符号 FIELD-SYMBOLS <fs>[TYPE type|LINK dobj].
<fs>的定义类型为D。
2.分配数据对象
声明后可以进行字段分配(有静态和动态之分)
静态:程序运行前要确定分配给字段符号的数据对象名称。
ASSIGN f TO <fs>.
指定要分配数据对象的偏移量和长度:ASSIGN f TO <fs>.
3.强制类型转换
可将任何数据对象分配给<fs>,并将继承其所有属性,通过ASSIGN中的CASTING附件项指定
ASSIGN f TO <fs>CASTING. 都将按字段符号定义
ASSIGN f TO <fs>CASTING{TYPE type|LIKE dobj}[DECIMALS dec].
二.数据引用
程序所使用的数据对象,均储存在运行时分配的内存中,每个对象均有期起始内存地址,该地址有编辑器分配,一般不能被程序员随意释放。
数据对象的内存地址也常常被称作:引用(reference),引用还用于动态创建ABAP数据对象,其存储于引用变量中,以数据引用(Data reference)和对象引用(Object reference)。
1.声明引用变量: TYPES t_deref TYPE REF TO DATA. //类型定义
DATA dref TYPE REF TO DATA. //变量声明
引用变量中包含地址引用,是指向其他数据对象的指针,实际代表其内存地址,在ABAP程序中不可见。
2.动态对象引用:
用DATA创建属静态常见的数据对象,而可用CREATE DATA dref TYPE type|LIKE obj. 来动态地创建数据对象;其中dref指向对象,只可通过引用变量寻址,并必须指定数据类型,还可以通过变量动态的指定所创建数据对象类型 CREATE DATA dref TYPE (name).
3.获取对象引用:
用Get语句可是一个引用变量获得已存在的数据对象的地址引用
GET REFERENCE OF obj INTO dref.
其中dref为DATA定义的静态变量。
4.解除数据引用:
ASSIGN fred ->* TO <fs> [CASTING...].
对于动态创建的对象,解除引用是获取其内容的唯一方式。
Copyright @ 200810,R_EVO,http://hi.baidu.com/r_evo
本文遵从《SAP程序设计》版权协议,任何组织或个人在引用、转载或修改此文档时,敬请保留版权信息及注明出处。