字符变量和internal table

系统支持的字符集查看方法:Tools ® CCMS ® Spool Administration ® Full Administration ® Character Sets.

一般字符型数据转换成数字型字符变量时,非数字型字符都会被转换成0,并且是从自右向左转换。

日期型的数据类型表示的是有意义的格林威治日期,不过日期型变量的合法检查只在screeselection screen上进行,以提高性能。

如果structure只有基本型的变量并且有固定的长度就可以将其称为flat structure,即flat structure中没有internal table, reference typestring

Deep types的变量和其他类型的变量从技术的角度去看他们的区别便是deep types的变量是指针指向其具体内容的地址。

NOTES: 1756366 deep structure and flat structure in ABAP

2009-4-28

对于sorted table,当使用loop循环时,如果condition中使用的是key field,那么也可以利用sorted tablekey access来提高性能。对于sorted table部门的key field只要顺序正确,并且字段之间没有间隔,就可以提高性能,而对与hashed table则只能fully key access。对于单字段的internal table可以通过unstructured line type来定义。可以通过pseudo-component table_line来声明这种表的key,这种internal table经常用在语句:

SET PF-STATUS .. EXCLUDING itab. (deactivate function codes dynamically)SPLIT .. INTO TABLE itab. (split a string dynamically)上。

READ TABLE itab INDEX n INTO wa COMPARING (f1,f2,…,fn)ALL FIELDS

如果读到第n条记录,并且wa中要比较的字段的内容与第n条记录的内容相符则sy-subrc=0,否则sy-subrc =2如果读不到第n条记录则sy-subrc>2

LOOP INTERNAL TABLE时如果有where condition,那么可以优化性能的唯一途径便是sorted table

Partial sequential loop through standar table:

SORT … BY cityfrom STABLE

READ TABLE … WITH KEY cityfrom = ‘FRANKFURT’

TRANSPORTING NO FIELDS.

Start_line = sy-tabix.

READ TABLE … WITH KEY cityfrom = ‘NEWRORK’

TRANSPORTING NO FIELDS.

End_line = sy-tabix.

 

LOOP AT …. FROM start_line TO end_line.

       ….

ENDLOOP.

 

LOOP …. ASSIGN <FS>的局限:

1.  在循环中不能使用SUM语句

2.  在循环中不能重新对<FS>赋值,既不能使用assignreasign语句。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值