This blog post describes the available extensibility options for CDS views from SAP S/4HANA Cloud, public edition and SAP S/4HANA Cloud, private edition. In addition, you can also see the related information about CDS views on SAP Business Accelerator Hub (formerly called SAP API Business Hub).
Core Data Services (CDS) views are semantically rich data models, providing highly efficient built-in functions like aggregations, annotations, and conceptual associations. You can create custom CDS views for released views and expose them as a read-only OData service that delivers data tailored to the needs of your external application.
With the introduction of developer extensibility (“SAP S/4HANA Cloud Environment”) recently by SAP, customers now have a new, optional deployment variant for S/4HANA Cloud with a 3-Tier system landscape (3SL, namely Dev, Test and Productive). This has come in addition to the already existing 2-Tier landscape deployment (Test and Productive i.e. Q2P).
SAP provides several standard CDS views related to each business area. For your specific business scenario, you can create multiple custom CDS views instead of creating them from scratch. As of today, customers have the following available extensibility options:
On-stack extensibility using
Key User Extensibility tools
Developer Extensibility (aka SAP S/4HANA Cloud Environment”, introduced with SAP S/4HANA Cloud Edition 2208 and SAP S/4HANA 2022)
In SAP S/4HANA, to extend the CDS view, you can add the custom fields to the extensible CDS Views using Key User Extensibility. Only views available in transaction SCFD_REGISTRY get extended. The SAP S/4HANA key user extensibility tools follow the principle of leading cloud services (see for example, the SAP cloud services of SuccessFactors, Ariba, Cloud for Customer and SAP Business ByDesign, but also services of SAP’s competitors). They are designed for both public and private cloud/on-premise edition.
They are completely web-based (developed along the Fiori principles and technology) and targeted for the key users and therefore easy to use.
The artifacts created with key user tools are lifecycle stable. This means, they are based on public, stable APIs, and technology so that they will continue to work without adaptation after the next upgrade.
You want to extend an existing data model with customer-specific data to retrieve additional data without creating redundant development objects or modifications. In general, you can extend the structure and the metadata of CDS views as follows:
Extending the structure of data models to add additional element(s) to the CDS view from its used data sources. An CDS view extension allows you to extend the structure of an existing CDS view that is provided, for example, in the SAP standard. This extension will then not cause any modifications.
Extending the metadata of data models to add or overwrite the CDS annotations of a CDS entity in a separate development object. A metadata extension allows you to extend a CDS entity with your own CDS annotations or to modify existing CDS annotations.
It is highly important to know about SAP delivered standard CDS views to re-use them in your project to meet specific business requirements. This information is available for the customers in release state section on api.sap.com discussed in next section.
Release State for newly created entries is per default “Not Released”. Note: “Not Released” entries can be changed incompatible even after transporting them.
Only when “Released” the customer can see and use the registry entry in the “Custom Fields and Logic” App. Note: When “Released” these objects are stable and SAP no longer make any incompatible changes on the registry entry.
Release State - CDS Views
Extensibility information for CDS Views with furthermore details are available in Extensibilitysection on api.sap.com. If the CDS view is extensible for key user extensibility, it can be achieved using Custom Field app by utilizing the associated business context.
In addition to this, you can create a custom CDS view from an existing data source and expose it as a Web Service.
Prerequisites: Assign the Business Catalog SAP_CORE_BC_EXT and SAP_CORE_BC_COM to your user.
If you need access to data in your system in a way the system does not offer so far, you can create your own data access by making use of a custom Core Data Services view (custom CDS view). Usually, the data of an application is distributed across several database tables. Using CDS views allows you to model the data access without changing underlying database tables. In general, CDS views are intended to be consumed by a UI, analytics, or other systems. CDS View can be built on CDS Views as well. To simplify the data access there are pre-delivered CDS Views, custom CDS views can only be built on.