ABAP新语法中函数式调用的几种常见写法(to_upper, for, line_exists, xsdbool)

S/4HANA版本的NetWeaver平台上,ABAP已经进化的和现代编程语言很类似了。ABAP可以支持很多“函数式”调用的写法,这种写法让ABAP的写法更简短,也更容易被现代程序员所接受。

本文列举了最常见的几种“函数式”调用的写法,供大家参考。

"1. Variable in-line declaration
DATA(variable) = 'A'.   " MOVE 'A' TO variable.

"2. Use build-in function
DATA(uppercase) = to_upper( lowercase ).  " TRANSLATE lowercase TO UPPER CASE.

"3. += operation
index += 1.         " >= NW 7.54
index = index + 1.  " < NW 7.54
" ADD 1 TO index.

"4. Key word NEW to instantiate object
DATA(object) = NEW /clean/my_class( ).  " CREATE OBJECT object TYPE /dirty/my_class.

" 5. Key word FOR 
result = VALUE #( FOR row IN input ( row-text ) ).
" LOOP AT input INTO DATA(row).
"  INSERT row-text INTO TABLE result.
" ENDLOOP.

"6. READ TABLE
DATA(line) = value_pairs[ name = 'A' ].  " READ TABLE value_pairs INTO DATA(line) WITH KEY name = 'A'.

"7. xsdbool to do boolean expression
DATA(exists) = xsdbool( line_exists( value_pairs[ name = 'A' ] ) ).
IF line_exists( value_pairs[ name = 'A' ] ).
" READ TABLE value_pairs TRANSPORTING NO FIELDS WITH KEY name = 'A'.
" DATA(exists) = xsdbool( sy-subrc = 0 ).

欢迎大家补充、提问。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十年铸器

给作者赏杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值