云优化 ABAP 语言,从能调用到有契约的企业应用开发
在 Eclipse 的 ABAP Development Tools 中,把一个现有类的语言版本从Standard ABAP切换为ABAP for Cloud Development,原本能够激活的程序可能立即出现语法错误。错误的位置甚至不是复杂算法,而是一条熟悉的数据库查询,或者一个已经调用多年的 SAP 类。这类错误很容易被理解为云端 ABAP 功能不足。但从应用生命周期来看,检查器正在追问一个更具体的问题,我们当前依赖的对象,是否真的允许作为长期稳定的开发接口使用。过去,程序能够访问某张表、某个函数模块或者某个类,我们往往就把它当作可用的开发资源。云优化 ABAP 语言增加了另一层判断,技术上能够访问,还需要满足明确的使用规则。SAP 内部实现与客户扩展之间,由此形成一条可以被开发工具检查的边界。理解Cloud-Optimized ABAP Language,关键就在这条边界。它既涉及允许使用哪些 ABAP 语法,也涉及允许依赖哪些开发对象。两者共同决定一段代码能否成为符合云开发要求的应用组成部分。ABAP 语言版本并不是我们平时讨论的系统版本。SAP S/4HANA 2022、SAP S/4HANA 2023或某个 ABAP Platform 版本,描述的是产品和平台的发行状态。Standard ABAP、ABAP for Cloud Development、ABAP for Key Users,描述的则是开发对象采用哪一套语法和依赖检查规则。在适用的 AB