Service Bindings and Service Definitions in SAP S/4HANA
Understand the relationship between SRVD (Service Definitions) and SRVB (Service Bindings) in the SAP ABAP RESTful Application Programming Model.
Service Definitions (SRVD)
A Service Definition (SRVD) declares which CDS Views are exposed as entities in an OData service. It acts as the interface contract — defining which views and associations are available to consumers.
A single Service Definition can expose multiple CDS Views, each becoming an OData entity set. The exposed views retain their associations, which become OData navigation properties.
Service Bindings (SRVB)
A Service Binding (SRVB) takes a Service Definition and binds it to a specific protocol and version:
- OData V2 — UI: Optimized for Fiori Elements consumption
- OData V2 — Web API: For programmatic A2A/B2B integration
- OData V4 — UI: Next-gen Fiori Elements with RAP
- OData V4 — Web API: Modern integration endpoint
One Service Definition can have multiple Service Bindings — e.g., both a V2 and V4 binding, or separate UI and Web API bindings.
SRVD ↔ SRVB ↔ CDS View Relationship
CDS View (e.g., C_SalesOrder)
↓ exposed by
Service Definition (SRVD, e.g., API_SALESORDER)
↓ bound by
Service Binding (SRVB, e.g., API_SALESORDER_O4)
↓ published as
OData V4 Endpoint: /sap/opu/odata4/sap/api_salesorder_o4/...
Release State
Service Bindings carry a release state that indicates stability. A binding with release state Released has a C1 contract — SAP guarantees backward compatibility. See Released APIs and Stability Contracts.