RFC connectivity
Calling ABAP function modules from outside the system over RFC, with destinations and connection pooling handled rather than hand-wired on the calling side.
Overview
@sap/cds-rfc Calls ABAP function modules over RFC from a CAP service.
Not covered: It stops at the SAP NW RFC SDK. The official path needs that proprietary native library installed, licensed and built for every platform you deploy to — which is the part the community has been working around.
RFC clients that run without the native library, such as open-rfcopen-rfcAn SDK-free TypeScript and JavaScript client for SAP classic synchronous RFC on Node.js, with no native addon and no runtime dependencies, that works as a drop-in under @sap/cds-rfc through an npm override.independent, cap under @sap/cds-rfc@sap/cds-rfcCalls ABAP function modules over RFC from a CAP service.sap official, cap, and samples that wire RFC calls into a CAP service.
On BTP the ABAP system is usually not reachable at all until SAP Connectivity serviceSAP Connectivity serviceThe proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed.sap official, btp is in the picture: the proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed.
Present, not yet described.
Not covered: At the tunnel. Calling a function module through it, and pooling those connections, is the application's side and lives where the code does.
The SAP-published pieces behind this door are SAP Connectivity serviceSAP Connectivity serviceThe proxy through which a cloud application reaches an on-premise system behind a Cloud Connector — HTTP, RFC and raw sockets — without that system being exposed.sap official, btp and Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp; the state follows their origin. what_core_does is left empty: no page has been checked that states an intent here, and the entries carry their own descriptions and links.
No community artifact is documented here.
In ABAP this is the side being called: function modules a system exposes to external callers, over RFC itself or, through an adapter, over HTTP with JSON in and out.
RFC is part of the ABAP language: an RFC stub is generated for every function module registered as remote, so existing function modules can be executed from a remote system.
Not covered: At the RFC protocol and the function modules a system already has. A caller that sends HTTP and JSON, or a generic read of any table with its own where clause, needs ABAP code written for it.
How these entries relate to the RFC interface has not been assessed.
Callers that reach function modules from outside, such as erpl-node-rfcerpl-node-rfcAn SAP RFC client for Node.js and TypeScript that implements the protocol in Rust and ships prebuilt for seven platforms behind node-rfc's API, so there is no SAP NW RFC SDK to download.independent, abap from Node.js and pyrfc-mcppyrfc-mcpAn MCP server for calling an SAP system's RFC-enabled function modules from an agent, built so that discovering a function does not authorise calling it: a read or a write is denied unless the function name matches an allowlist the server is configured with.independent, abap for agents, and the called side: HTTP and JSON adapters like abap_fm_jsonabap_fm_jsonA JSON adapter that exposes ABAP function modules over HTTP: a handler class in an ICF service calls the module named in the URL and serialises its parameters to and from JSON.independent, abap and an SM59 destination bridge in rfc-connectorrfc-connectorCalls abap2UI5 apps of another system over RFC: an ICF handler on the system the browser talks to forwards each roundtrip through an SM59 destination to the system the apps run on.community org, abap. SAP's route in from BTP is Cloud ConnectorCloud ConnectorSAP's on-premises agent that links SAP BTP applications to systems in a customer's own network, as a reverse invoke proxy that exposes only the systems and resources it is configured to allow.sap official, btp.
Licence
LicenceSAP Developer License Agreement 3.2 CAP§ 1AlwaysA covered CAP application uses RFC connectivity to extract SAP product data into a non-SAP product.
- § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
RFC transport does not itself establish permitted use. When the flow copies SAP product data into a non-SAP product, section 1 and its interoperability exception become relevant to the concrete design.
SAP Developer License Agreement 3.2 CAP →Artifacts
Content
Show 19 more
Seen working
Neither the package manifest nor the repository tree declares a licence.
Neither the package manifest nor the repository tree declares a licence.
Details
Coverage
For your agent
- Ref
capability:rfc-connectivity- JSON
- /capabilities/rfc-connectivity.json
- MCP
- Connecting an agent