咖啡日语论坛

 找回密码
 注~册
搜索
查看: 3534|回复: 0

ABAP-指针(转)

[复制链接]
发表于 2010-2-21 09:19:57 | 显示全部楼层 |阅读模式
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
3.      如何分配指针:
(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
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注~册

本版积分规则

小黑屋|手机版|咖啡日语

GMT+8, 2024-5-12 05:02

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表