从 ABAP Development Objects 看懂一套 SAP 应用是怎样被搭起来的
最近在整理一个 S/4HANA 扩展方案时,我又一次被一个很基础的问题卡住了,团队里有人把一个 RAP BO、一个 CDS View Entity、一个 Behavior Definition、一个 Service Definition、一个 Class、一个 Package 都叫成「对象」。这个说法不能算错,可一旦进入开发规范、传输管理、Clean Core 审查、ATC 检查、Cloud Ready 改造,单纯说「对象」就远远不够了。ABAP 里的 Development Object 不是一个泛泛的词,它背后连着 Repository、Activation、Runtime Object、Transport、Package Hierarchy、API Release State 这些很实在的工程机制。很多 ABAP 开发者刚入门时,往往先接触 SE38、SE24、SE11、SE80,看到的是 Program、Class、Table、Domain、Data Element 这些熟悉入口。到了 ADT 时代,视角变成 Project Explorer 里的 Package、Source Library、CDS、Behavior Definition、Service Binding。再往 ABAP Cloud 和 S/4HANA Cloud 走一步,开发对象的含义又变得更严格,哪些对象可以创建,哪些对象可以调用,哪些对象能被发布为 Released API,哪些只能留在包内部,都不再只是团队约定,而是系统层面会检查的规则。ABAP Development Object 可以理解为构成 ABAP 应用的最小工程单元之一。一个订单校验逻辑不是孤立存在的,它可能落在一个全局类里,一个销售订单聚合数据模型可能落在 CDS View Entit