在 SAP S/4HANA Cloud Public Edition、SAP S/4HANA Cloud Private Edition 以及 SAP BTP ABAP environment 的项目里,我们经常会碰到这样一种需求,业务逻辑已经在 ABAP 系统内部实现完成,现在需要让外围系统调用这些能力。调用方可能是 SAP Integration Suite,也可能是部署在 SAP BTP 上的 CAP 应用、Java 服务、Node.js 应用,甚至可能是另一个 SAP S/4HANA 或传统 SAP ERP 系统。
到了这里,问题已经不再只是如何写一段 ABAP 代码,而是我们的业务能力究竟应该通过什么样的技术契约暴露出去。
在 ABAP Cloud 体系里,针对进程集成,SAP 当前明确支持通过 OData、HTTP、RFC 等方式提供入站服务。OData 通常通过 RAP 的Service Definition和Service Binding发布,HTTP 可以通过专门的 HTTP Service Repository Object 配合IF_HTTP_SERVICE_EXTENSION实现,而 RFC 则继续围绕 Remote-Enabled Function Module 工作。SAP 将这些能力统一放在 ABAP Integration and Connectivity 体系下,它们都属于 Process Integration 的组成部分。
这里有一个很容易被传统 ABAP 开发经验带偏的地方。以前做系统集成,我们经常先想到函数模块、RFC Destination、ICF Node、Gateway Service