This is a test message to test the length of the message box.
Login
ABAP CDS Virtual data model
Created by Software-Heroes

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.

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.


Included topics:
CDSCore Data ServiceVirtual data modelVDM
Comments (0)

CDS - Authority check

Category - ABAP

How and where are the permissions for a Core Data Service delimited? Check out this article for the details.

05/20/2022

CDS - Extension of Views

Category - ABAP

This article is about the extension of views to include customer-specific fields or to provide missing information.

05/13/2022

CDS - Performance

Category - ABAP

What is the access performance when using Core Data Services, can you make mistakes?

04/29/2022

CDS - Conversion routine

Category - ABAP

This article is about easy currency and quantity conversion directly in Core Data Services.

04/22/2022

CDS - Parameter

Category - ABAP

In this article we look at parameters in Core Data Services and how they can make your life easier or harder.

04/15/2022