ABAP 7.58更新概览

背景

ABAP 7.58对应的ABAP平台版本和S4HANA版本是2023,如果大家确定自己的系统版本,也可以通过SM51 release notes查看SAP Kernel参数值,与下图对应。
在这里插入图片描述

前言

ABAP 7.58更新了很多内容啊,对于CDS和ABAP restful programming model等主题康师傅不是很熟悉,所以重点讲以红框中关于函数&表达式&SQL的东西,也是我们ABAP开发中常用的对象。
在这里插入图片描述

更新内容

  • 新增了很多系统类和新方法
类名变化功能
CL_ABAP_BIGINT新增类处理任何大小的integer
CL_ABAP_RATIONAL新增类处理有理数无精度损失
CL_ABAP_DIFF新增类比较两个内表并返回差异
CL_ABAP_TSTMP新增方法,优化长时间戳的处理
CL_ABAP_BEHV_AUX新增方法获取当前RAP事务的阶段
  • RETURN关键字可以用来直接终止method执行,返回returning参数值
*旧语法
r = expr.
RETURN.
*新语法
RETURN expr.
METHOD main.
    TRY.
        RETURN VALUE #( FOR i = 1 UNTIL i > limit
                ( num = i square = ipow( base = i exp = 2 ) ) ).
      CATCH cx_sy_arithmetic_error.
        RETURN VALUE #( ).
    ENDTRY.
  ENDMETHOD.
  • corresponding 关键字增加DEFAULT设置
struc2 = CORRESPONDING #(
      struc1 MAPPING id2 = id1
                     b = DEFAULT `ha` && `llo`
                     c = DEFAULT 1 + 5
                     d = DEFAULT VALUE #( itab1[ 1 ]-d DEFAULT `hi` )
                     z = DEFAULT cl_abap_random_int=>create(
                                        seed = cl_abap_random=>seed( )
                                        min  = 1
                                        max = 100 )->get_next( ) ).
struc2 = CORRESPONDING #(
      struc1 MAPPING id2 = id1
                     b = b DEFAULT `ha` && `llo`
                     c = c DEFAULT 1 + 5
                     d = d DEFAULT VALUE #( itab1[ 1 ]-d DEFAULT `hi` )
                     z = e DEFAULT cl_abap_random_int=>create(
                                        seed = cl_abap_random=>seed( )
                                        min  = 1
                                        max = 100 )->get_next( ) ).
  • ABAP SQL表达式可以在操作符的右侧定义
  • 新的SQL join基数设置 {MANY | ONE | {EXACT ONE}} TO {MANY | ONE | {EXACT ONE}},这个我自己很少用呀,需要研究一下
  • 支持一次select多个内表,但是不能有DB table的参与
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值