把边界立起来,结构包接口如何让 ABAP Core 与 AddOn 真正解耦
很多老的 ABAP 系统,一开始并不是按今天这套架构纪律长出来的。业务先跑起来,报表先交付,函数组、类、表、增强点一路累积,等到后来要补一层 Fiori 应用、移动端入口、外部渠道接口,团队才突然意识到,真正麻烦的并不是 UI 技术选型,而是核心能力到底该从哪里暴露出来,哪些对象能被消费,哪些对象又必须继续留在内部。SAP 官方对 package interface 的定义很直接,它就是拿来封装 package、隐藏不该被外部使用的对象,同时把允许复用的对象显式暴露出去。结构包又位于 package hierarchy 的最高层,用来定义最高级别的依赖关系。把这两件事放在一起,才有了我们今天要谈的重点,结构包接口如何成为 core 与 AddOn 之间那条真正可信的边界。(SAP Help Portal)这个话题在今天依然很有现实意义。SAP 的 Add-On Assembly Kit,也就是 AAK,官方定位就是支撑对标准 SAP 系统的行业、国家、企业级增强,并覆盖 AddOn 从规划、交付、安装到维护升级的整个生命周期。新版本文档里还明确写到,AAK 5.0 已经支持创建可卸载的 AddOn,而且从 SAP S/4HANA 2022 开始,文档里已经把 ABAP for Cloud Development 纳入能力范围。也就是说,哪怕今天讨论的是经典 p