从 SAP 标准 RAP 应用里拆出来的十条企业级 ABAP 设计经验 在 SAP S/4HANA 2023 系统里研究 RAP,最值得花时间做的一件事,并不是再创建一个新的ZTRAVEL,也不是把某个教学视频里的 CRUD Demo 从头敲一遍,而是直接打开 SAP 已经交付的标准 Fiori 应用,沿着它的 OData 服务一路钻进 ADT,看看 SAP 自己到底怎么组织 CDS、Business Object、Behavior、Projection 和 Service。这类研究很有意思。教程里的 RAP 应用通常只有几张表、几个字段、一个 Root Entity,再配上一套简单的 Create、Update、Delete。真正运行在 SAP S/4HANA 里的业务应用却完全不是这个量级。标准应用面对的是大数据量、多用户并发、复杂权限、生命周期管理、扩展兼容、版本升级、后台业务逻辑复用以及多年以后仍然能够继续演进的问题。SAP Community 上关于 SAP S/4HANA 2023 标准 RAP 应用的讨论,其核心思路也是如此,与其只研究 RAP 怎么写,不如研究 SAP 为什么这样设计。这两种学习方法带来的结果差别很大。只跟着教程学习,比较容易掌握define root view entity、Behavior Definition、Service Definition 和 Service Binding 的语法。但进入真实项目以后,很快会碰到更麻烦的问题。一张销售订单到底算几个 CDS Entity。为什么 Root CDS 上面还要再套 Projection。权限到底放 DCL、Behavior Authorization