从开发类到真正可调用的 API,彻底搞懂 SAP Gateway Foundation 的 OData V4 Service Registration
在一个传统的 SAP Gateway OData V4 开发项目里,经常会遇到一个很有迷惑性的现象。MPC 已经写完了,DPC 也已经实现,甚至在 ADT 里所有 ABAP Class 都能够正常激活,但浏览器、SAPUI5、Postman 或 SAP Gateway Client 依然无法直接访问这个服务。问题往往不在业务代码,而在 Service Registration。SAP Gateway Foundation 把「服务已经开发完成」和「服务已经能够通过 HTTP 被外部系统消费」明确拆成了两个阶段。ABAP Class 只是实现了服务模型和数据处理逻辑,真正进入 OData V4 Runtime 之前,还需要把这些开发对象注册成一个具有稳定技术标识的 Service,再把 Service 放入 Service Group,最终由 Gateway Runtime 发布这个 Service Group。SAP 官方目前对这一流程仍然有非常明确的定义。后端服务注册使用事务/IWBEP/V4_ADMIN,Gateway Hub 上的服务组发布使用/IWFND/V4_ADMIN。在较新的 SAP Gateway Foundation 文档中,/IWBEP/V4_ADMIN依旧被定义为 Backend System 中管理 OData V4 Service 和 Service Group 的核心工具。这一点看起来只是事务码的差异,背后其实体现了 SAP Gateway V4 Runtime 的完整架构设计。在开发阶段,我们关注的是 Model Provider 和 Data Provider。在运