SAP ABAP DATA **** TYPE REF TO DATA.引用型变量

    1、定义引用变量语句:

    DATA dref TYPE REF TO DATA.(指向任意类型,但在创建时必须指定对象类型) ,声明定义时,没有指向任何对象,此时你不可使用,引用变量的赋值有两种方法: 

    CREATE DATA type XXX

    GET REFERENCE OF dobj INTO dref.

    2、动态创建数据参考的内存空间,语法如下 CREATE DATA dref TYPE (name).

    3、将数据地址赋值给数据引用变量(GET REFERENCE) GET REFERENCE OF dobj INTO dref.

    4,访问指定的数据有两种情况:

     1) 对于使用DATA dref TYPE REF TO DATA_TYPE来声明的数据引用变量,程序可以直接通过->*运算符直接访问数据;
     2) 对于使用DATA dref TYPE REF TO DATA来声明的数据,程序如果要访问数据,你首先要将数据赋值给一个指针(Field sysbol)(是不能直接通过数据来访问的).

  以下实例:

   TYPES: BEGIN OF t_struct,
         col1 TYPE i,
         col2 TYPE i,
       END OF t_struct.

   DATA: dref1 TYPE REF TO data, "定义引用变量(这里没有指定具体的引用data,但是在之后的创建引用变量的时候就必须指定type,

                                                           如果这里制定了具体引用data,创建就 无 须再指出)
           dref2 TYPE REF TO data. "定义引用变量

  FIELD-SYMBOLS: <fs1> TYPE t_struct,
                                  <fs2> TYPE i.

  CREATE DATA dref1 TYPE t_struct."创建引用变量空间,必须指定类型

  ASSIGN dref1->* TO <fs1>.

  <fs1>-col1 = 1.
  <fs1>-col2 = 2.

  dref2 = dref1.

  ASSIGN dref2->* TO <fs2> CASTING.“因为声明的时候用的是type ref to data,所以这里不能直接用dref2->field进行访问,必须先asssign to field symbol
  WRITE / <fs2>.

  GET REFERENCE OF <fs1>-col2 INTO dref2.

  ASSIGN dref2->* TO <fs2>.
  WRITE / <fs2>.

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值