CDS - Virtual data model
The virtual data model is an important part of the S/4 landscape and serves as the basis for Fiori applications and applications within the system.
Table of contents
In the last article we talked about the basics of Core Data Services and showed the advantages of a virtual data model. We have already talked about the interface view without explaining what it is actually all about.
VDM
The virtual data model, VDM for short, is an abstract layer of views between the database with the individual tables and the application with which the user is working. In addition, a small overview consisting of three tables and two applications and the virtual data model in between.
We distinguish between the three layers Interface, Composite and Consumption. More information on this in the following sections.
Interface
Describes the lowest layer of the VDM and is located just above the table. An interface view maps exactly one table. In the interface, you have the option of normalizing the field names and converting short field names into meaningful English names. All fields of the database should be present in an interface view in order to serve as a basis for other views.
Examples of CDS views from a standard system are:
- I_CompanyCode (T001)
Composite
The composite view is an optional layer in the data model and does not always have to be present. The name can also be confused with Interface Views. Composite views usually combine several tables and make the data available. In this step, the fields are no longer normalized, interface views are used as a basis.
Examples of CDS views from a standard system are:
- I_MDGovBPFltr (Business Partner Filter for MDG)
Consumption
The Consumption View describes the last layer of the VDM and is usually tailored to exactly one application. The fields are restricted accordingly for the application and only required information is made available to the application. Possible aggregations are also active on this level, so reuse for other applications is rarely worthwhile (performance).
This level can also be integrated with BOPF to provide write access and other functions for the app.
Examples of CDS views from a standard system are:
- C_ServiceEntrySheetWD
CDS Navigator
As you can see below the example CDS views above, we have once shown the definition of the dependencies. In Eclipse you can use the "CDS Navigator" view and the "Dependency Analyzer" function to get information about the structure and complexity of the CDS view. From a manageable level, many dependencies can quickly arise.
View Browser
The View Browser (F2170) is a FIori App and belongs to the Extensibility Tools. With the help of this app you can find the different levels of views and also get the release status. The search works via table fields, tables or other CDS views that may have dependencies.
If you don't know whether there is a view for a table, you can use the app to search for suitable views and limit the result to "Basic" views.
Annotation
The views are separated from each other based on the naming convention and the content, but the views can be equipped with an additional annotation to make them easier to find and to give a better impression. The @VDM annotation offers different values for the virtual data model and you can use them to classify your view.
@VDM.viewType: #CONSUMPTION
Conclusion
Understanding the virtual data model is an important step in understanding the new data architecture in an S/4 system and how applications are built. You will find the three layers of the data model again and again in applications in the future, especially if they were built with RAP.