ABAP 指针 FIELD SYMBOL

1.      什么是ABAP指针: 
在ABAP里面,field symbol就相当于c语言的指针。如果你定义并且分配了相应的结构或者变量给它,其实它就指向这个结构或者变量的地址,如果修改了field symbol的值,则相应结构或者变量的值也随之更改。 
2.      如何定义指针: 
基本形式:FIELD-SYMBOLS . 
附加信息: 
1. ... TYPE :定义一个数据类型,然后定义指针 
2. ... TYPE REF TO :指针指向类或者接口 
3. ... TYPE REF TO :指针指向数据结构 
4. ... TYPE LINE OF :指针内表的行项目 
5. ... LIKE :指针为数据库表类型 
6. ... LIKE LINE OF :指针类型为数据库表的行项目 
7. ... TYPE 

<>:指针为内表 


   如何分配指针: 
(1). ASSIGN f TO .:分配一个指针,包括以下几种类型 
1. ... CASTING ... :主要对unicode系统地操作 
1a. ... CASTING 
1b. ... CASTING TYPE type 
1c. ... CASTING ... DECIMALS dec 
1d. ... CASTING LIKE f1 
2. ... TYPE type :直接指定类型 
3. ... DECIMALS dec :指定小数点位数 
4. ... RANGE range:指定范围 
(2). 分配结构中的某个字段给指针 
ASSIGN COMPONENT idx  OF STRUCTURE struc TO . 
ASSIGN COMPONENT name OF STRUCTURE struc TO . 
(3). 分配类的方法给指针 
ASSIGN dref->* TO . 
  (4). 从f开始,是f的n倍长之后的内容分配给指针 
ASSIGN f INCREMENT n TO . 
  (5). 分配局部变量给指针 
ASSIGN LOCAL COPY 
    3a. ASSIGN LOCAL COPY OF f TO . 
3b. ASSIGN LOCAL COPY OF INITIAL f TO . 
3c. ASSIGN LOCAL COPY OF INITIAL LINE OF itab TO . 
4c. ASSIGN LOCAL COPY OF MAIN TABLE FIELD (f) TO . 
  (6). ASSIGN dynamicJ:动态分配指针 
4a. ASSIGN (f) TO . 
4b. ASSIGN oref->(f) TO . 
4c. ASSIGN (f1)=>(f2) TO . 
4d. ASSIGN TABLE FIELD (f) TO . 
4e. ASSIGN LOCAL COPY OF MAIN TABLE FIELD (f) TO . 
4f. ASSIGN LOCAL COPY OF ... (f) TO . 
4.      如何取消分配: 
    UNASSIGN 


'引用自http://qzone.qq.com/blog/8383192-1226122478


文章来自: 本站原创
引用通告地址: http://www.is21.cn/trackback.asp?tbID=690
Tags:
评论: 0 | 引用: 0 | 查看次数: 2495
发表评论
你没有权限发表留言!