ABAP 7.55 新特性 (一)

摘要:
//Www.note.so/helibeb/ABAP-7-55-520c8129277a45ca8276278d9dfae25c DataTypes1.IindicatorstructuresTYPES语句有一个新的附加选项[IINDICATORS]。

最近几天,SAP S4 2020对应的ABAP 7.55的新版文档已经出现。本文翻译了ABAP SQL之外的更新部分。ABAP SQL的更新比较长,会在之后单独成篇

译者水平有限,如有错误,请评论指出,谢谢。

本文链接:https://www.cnblogs.com/hhelibeb/p/13830356.html

转载请注明

ABAP 7.5 学习群的notion页面链接:https://www.notion.so/hhelibeb/ABAP-7-55-f20c8129277a45ca8276278d9dfae25c
 

Data Types

1. Indicator structures

TYPES语句有了新的附加选项[INDICATORS],可以为给定的结构类型定义一个indicator structure子结构。indicator structure可以在ABAP SQL读写语句中用作ABAP SQL indicator

  • 示例代码,注意<wa>-ind-price指定了需要更新的字段。这类似于BAPI中的DATAX字段。

    TYPES wa TYPE sflight WITH INDICATORS ind.
    
    DATA itab TYPE TABLE OF wa WITH EMPTY KEY.
    
    SELECT carrid, connid, fldate, price
           FROM sflight
           WHERE carrid = char`LH` AND
                 connid = numc`0400` AND
                 fldate = @sy-datum
           INTO CORRESPONDING FIELDS OF TABLE @itab.
    
    IF sy-subrc  = 0.
    
      LOOP AT itab ASSIGNING FIELD-SYMBOL(<wa>).
        <wa>-price *= '0.8'.
        <wa>-ind-price = '01'.
      ENDLOOP.
    
      UPDATE sflight FROM TABLE @itab INDICATORS SET STRUCTURE ind.
    
    ENDIF.
原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-types.htm 

数据字典

1. Name Table的内部处理

name table (nametab)用于存储有着数据字典类型的运行期对象。name table会持久化存储在native数据库表DDNTT和DDNTF中。

在新版本中,它的内部处理发生了变化。

  • 结果是:
    • 不能再使用ABAP内部语句EXPORT NAMETAB,使用它会导致运行期错误。
    • 考虑到向下兼容性,IMPORT NAMETAB依然得到了部分支持。访问DDIC Table类型会导致运行期错误。其它访问会导致ATC错误。
    • 先前用于存储字段描述的的native数据库表DDNTF会被删除,不再得到支持。

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-ddic.htm

ABAP CDS

1. 在projection视图中定义association

现在可以在projection视图中定义到外部数据源的association了。

2. CDS view entities

新的CDS视图类型:CDS view entities

CDS view entities是CDS DDIC-based views (DEFINE VIEW)的增强,它们服务于相同的目的,有同样的结构,但是提供不同的优点。

计划在未来使用CDS view entities代替CDS DDIC-based views。使用DEFINE VIEW ENTITY定义CDS view entities。

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-abap_cds.htm

Sessions

1. ABAP sessions的数量

配置文件参数rdisp/max_alt_modes决定了每个用户的最大ABAP sessions数量。它的默认值已经从6增大为16,16也是系统允许设置的最大值。

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-abap_sessions.htm


表达式和函数

1. 构造运算符REDUCE中的计算赋值

在构造函数运算符REDUCE的加法NEXT后面的赋值中,现在可以使用计算赋值运算符=、=、*=、/或&&=,并且适用各自的规则。

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-expressions.htm

字符处理

1. 支持Perl兼容正则

除了现有的对POSIX正则的支持,现在ABAP支持PCRE正则,通过PCRE2库进行处理,这是在ABAP Kernel实现的。可以通过和使用POSIX正则一样的方式使用PCRE正则。

  • 区分方式是:

相比POSIX正则,PCRE正则更加强大,也有着更好的性能。更多信息,参考Regular Expressions.

2. 逐字替换

REPLACE语句的新附加项VERBATIM可以使替换字符串的所有字符按字面使用。通过此附加项,正则表达式字符串将不会有特殊意义。

  • 例子,其中2与3有同样的效果,但VERBATIM的性能更好。
    DATA(text1) = `123XXX456`.
    DATA(text2) = text1.
    DATA(text3) = text1.
    
    DATA(regex) =  `(d*)(D*)(d*)`.
    
    REPLACE PCRE regex IN text1 WITH `$1___$3`.
    REPLACE PCRE regex IN text2 WITH `$1___$3` VERBATIM.
    REPLACE PCRE regex IN text3 WITH `$1___$3`.
    
    cl_demo_output=>display( |{ text1 }
    { text2 }
    { text3 }| ).

3. 新的可捕捉异常CX_SY_STRING_SIZE_TOO_LARGE

过去,导致string超过最大长度的操作总是会导致运行期错误STRING_SIZE_TOO_LARGE。现在,会触发可以处理的异常CX_SY_STRING_SIZE_TOO_LARGE

在条件满足的情况下,对于语句CALL TRANSFORMATION,也可以处理该异常。

4. 用于decimal floating point number的金额格式化选项

现在,

  • WRITE TOWRITE语句的CURRENCY附加项
  • 在string template中的格式化选项CURRENCY

也可以用于decimal floating point number

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-strings.htm

ABAP CDS访问控制

待施工

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-cds_access_control.htm

异常处理

1. 声明CX_NO_CHECK异常

CX_NO_CHECK类别的异常现在总是在接口中被隐式地声明,并且总是被传播。

现在也可以在程序接口中通过RASING声明CX_NO_CHECK异常。比如对于methods。这样就可以记录可能出现的这种异常,以及将现有异常的类别更改为CX_NO_CHECK,而不导致接口的语法错误。

原始链接:https://help.sap.com/doc/abapdocu_755_index_htm/7.55/en-US/index.htm?file=abennews-755-exceptions.htm

 
 
 
 
 
 
 
 
 

免责声明:文章转载自《ABAP 7.55 新特性 (一)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇关于Git在Eclipse中的使用Vmware挂载san存储_vSphere 6.x 共享存储LUN丢失分区表修复(精华)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Oracle WIHT AS 用法

1、with table as 相当于建个临时表(用于一个语句中某些中间结果放在临时表空间的SQL语句),Oracle 9i 新增WITH语法,可以将查询中的子查询命名,放到SELECT语句的最前面。语法就是with tempname as (select ....)select ...例子:with t as (select * from emp whe...

SAP Material Flow System (MFS) 物料流系统简介

SAP Material Flow System (MFS) 物料流系统 MFS实现SAP EWM与自动化仓库设备进行数据交互,与设备PLC进行通迅, 上架 整托盘移动 拣货 Putback Conveying off the pick HU Diversion to clarification bin...

SAP 如何修改已有字段的文本描述(如将销售员改为业务员)

SAP系统中有许多用户使用不上字段,而一些用户想要的字段有的没有。大家可以修改一些用不到字段的显示名称,作为自己的使用字段; 如:BP客户主数据 中没有中国标准的行政区划代码,现在需要将“地址-邮政信箱地址”下的“邮政编码”改为“行政区划” 1、输入BP,进入客商维护主数据页面,在要修改的字段上按F1,查到(地址-邮政信息地址-邮政编码)字段的字段名POS...

layui上传文件组件(前后端代码实现)

我个人博客系统上传特色图片功能就是用layui上传文件组件做的。另外采用某个生态框架,尽量都统一用该生态框架对应的解决方案,因为这样一来,有这么几个好处?1.统一而不杂糅,有利于制定相应的编码规范,方便维护;2.复用性高;3.不会因公司开发人员的离职而导致一时找不到人来做这件事情; 就这三点,也足以让企业降低相应的开发成本 前端代码实现: <!DOC...

MYSQL数据库学习十四 存储过程和函数的操作

14.1 为什么使用存储过程和函数  一个完整的操作会包含多条SQL语句,在执行过程中需要根据前面SQL语句的执行结果有选择的执行后面的SQL语句。 存储过程和函数的优点: 允许标准组件式编程,提高了SQL语句的重用性、共享性和可移植性。 实现较快的执行速度,减少网络流量。 可以被作为一种安全机制来利用。 存储过程和函数的缺点: 编写比单句SQL复杂...

BAT 批处理 for循环 迟环境变量 [MD]

博文地址 我的GitHub 我的博客 我的微信 我的邮箱 baiqiantao baiqiantao bqt20094 baiqiantao@sina.com 目录 目录 目录 FOR 命令使用总结 FOR FOR /D 有通配符 无通配符 /D /R 同时使用 FOR /R set 是一个点号 set 带通配符 set 不带...