SAP_ABAP_快速了解_指针

首先abap里有下面几种数据类型

变量,结构和内表

来看下面的比喻:

变量 = 房间

结构 = 平房(里面有很多房间;是一户人家)

内表 = 楼房(有很多层,每层有很多户人家,每户人家又有很多房间)

而这个指针就相当于一把钥匙,指针指向谁,就拥有了这个变量,结构,内表的使用权限:更新,查找和删除。

指针的特点

1:不占有自己特有的内存空间

2:数据名与属性到执行的时刻才能确定

3:可以指定所有数据对象

4:一旦被分配他就和变量定义没有太大的区别

5:可以明确指定类型,可以指定any类型,也可以不指定类型

定义

下面3种方式

FIELD-SYMBOLS:<XX>.

FIELD-SYMBOLS:<XX> TYPE ANY.

FIELD-SYMBOLS:<XX> TYPE C.

使用

ASSIGN LIT_DATA TO <XX>.

ASSIGN LST_DATA TO <XX>.

ASSIGN LV_DATA TO <XX>.

动态指针

无非就是指针指向的变量是会改变的。指针可是一把万能钥匙,知道你的房间地址(内存地址:变量名)就能打开你的房间。

举例:一个宾馆里有100个房间,S00,S01,S02,S03,S04,S05...S99.现在要统每个房间里入住人数。通常方法就是100个房间挨个判断,

IF S00 == null  100 次判断

END IF

或者case when 100次

使用动态指针。

DO 100 TIME.

LV_CNT = LV_CNT + SY-INDEX     " LV_CNT 是N型

LV_ROOMNUM = 'S' && LV_CNT.

ASSIGN COMPONENT LV_ROOMNUM OF LW_ROOMLIST TO <FS>.

IF <FS> IS ASSING AND <FS> IS NOT INITIAL.

APPEND <FS> TO LIT_PNUM. ''放到内表

ENDDO.

LV_ROOMNUM :字段名

LW_ROOMLIST :构造

<FS>:指针

实际上在应用中,上面的例子很有可能是一个ALV的dataChange事件,每一次画面上值的更新都会去判断一次(每一次办理入住之后都会动态的更新 是不是还有空房间)

以上。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值