专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > SAP

[SAP ABAP开发技术小结]数据引用(data references)、对象引用(object references)

发布时间:2010-06-06 17:05:23 文章来源:www.iduyao.cn 采编人员:星星草
[SAP ABAP开发技术总结]数据引用(data references)、对象引用(object references)
有点像Java里定义一个对应引用一样,但Java里没有直接对某个基本变量定义一个引用,除非使用基本类型所对应的包装类型,JDK5后好像支持自动装箱与自动拆箱了吧。可以把引用理解成一个地址

1.12.     数据引用、对象引用

TYPE REF TO data                     数据引用data references

TYPE REF TO object               对象引用object references

除了object所有的通用类型都能直接用TYPE后面TYPE data但没有TYPE object,object不能直接跟在TYPE后面只能跟在TYPE REF TO后面

TYPE REF TO 后面可接的通用类型只能data(数据引用)或者是object对象引用通用类型其他通用类型不行

1.12.1.           数据引用Data References

DATA: dref TYPE REF TO i ."dref即为数据引用,即数据指针,指向某个变量或常量,存储变量地址
CREATE DATA dref.
dref
->* = 2147483647."
可直接解引用使用不需要先通过分配给字段符号后再使用

DATA: BEGIN OF strct,
   
c,
 
END OF strct.
DATA: dref LIKE REF TO strct .
CREATE DATA dref .
dref
->*-c = 'A'.

 

TYPES: tpy TYPE c.
DATA: c1 TYPE REF TO tpy.
DATA: c2 LIKE REF TO c1."二级指针
GET REFERENCE OF 'a' INTO c1.
GET REFERENCE OF c1 INTO c2.
WRITE: c2->*->*
."a

1.12.2.           对象引用Object references

CLASS cl DEFINITION.
 
PUBLIC SECTION.
   
DATA: i VALUE 1.
ENDCLASS.
CLASS cl IMPLEMENTATION.
ENDCLASS.

 

DATA: obj TYPE REF TO cl.
CREATE OBJECT obj."创建对象

DATA: oref LIKE REF TO obj. "oref即为对象引用,即对象指针,指向某个对象,存储对象地址
GET REFERENCE OF obj INTO oref. "获取对象地址
WRITE: oref->*->i."1

1.12.3.           GET REFERENCE OF获取变量/对象/常量地址

DATA: e_i3 TYPE REF TO i .
GET REFERENCE OF 33 INTO e_i3.
WRITE: e_i3->*."33
"但不能修改常量的值
"e_i3->* = 44.

DATA: i TYPE i VALUE 33,
      dref
LIKE REF TO i."
存储普通变量的地址
GET REFERENCE OF i INTO dref.
dref
->* = 44.
WRITE: i. "44

友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • :安装MINI SAP失败

    求救:安装MINI SAP失败! 如题。 怎么办啊? 安装之前已经把SQL2000 2005 VS.NET05 08全都卸载了的。 安装CD1的时候就开始报错...

  • 哪位高手有abap eclipse editor

    谁有abap eclipse editor? 那位哥们有,可以进行资料交换。 ------解决方案-------------------- 这个现在只支持460,好像不支持640...

  • ,关于t-code:sgen的有关问题!

    求助,关于t-code:sgen的问题!急~~~ 昨天刚把sap ecc6装好了 。为了能够快速运行,事先准备用sgen编译一下 非常郁闷的是,在还没有开始...

  • sql查询语句中WHERE条件后面AND的个数解决方案

    sql查询语句中WHERE条件后面AND的个数 sql查询语句中WHERE条件后面AND的个数有没有限制啊! ------解决方案-------------------- ...

  • SAP模块,学哪个模块未来发展比较顺利

    【求助】SAP模块,学哪个模块未来发展比较顺利? 各位大侠,我是SAP新人。最近公司在培训,3周培训后要我们从PS,FI,CO,MM等中选择一个模...

  • 站在十字路口,该怎么处理

    站在十字路口 本人在一个快消公司做IT程序员,主要负责内部系统开发、报表开发、数据库维护等工作。现在公司要上SAP了,我也有幸参与...

  • alv field 是否可以进行日期选择解决方法

    alv field 是否可以进行日期选择 哪位达人知道怎么在ALV报表中实现 日期的选择,就像调整系统日期一样,不用手动收入 ------解决方...

  • 在sap中怎样获取字段所属的表解决思路

    在sap中怎样获取字段所属的表 小弟是SAP初学者,在这里遇到一个问题,由于对sap内部表结构不是很了解,现在要根据一些字段获取所属的表...

  • ABAP list report 输出有关问题

    ABAP list report 输出问题 小弟初学ABAP,苦难重重,望大侠门指点。两个问题: 第一,我做了一个list report,输出deliveray item 和invoi...

  • 在SAP中如何截取字符串

    在SAP中怎么截取字符串 在SAP中怎么截取字符串 比如 DATA:STR(10) LIKE C VALUE '1234567890', STR1(4) LIKE C. 我要取...

热门推荐: