Purpose of this blog
This blog illustrates how to find a predefined Virtual Data Model (VDM), template of the CDS View for business entities in S/4HANA in many ways.
The target audience are developers looking to create reports or other applications, and functional experts writing specifications for development. Each are expected to have already understood the basic concept of CDS views and S/4HANA application architecture (Fiori-OData-CDS Views) and want to save the effort for development by using Predefined VDMs, and want to know what kind of VDMs are available in S/4HANA.
I have had sessions regarding S/4HANA Development in which I recommend VDM. After these sessions, I have been asked for a process of locating standard VDMs by the audiences several times. I write this blog to answer this typical question.
Motivation to write this blog
Predefined VDM is one of the keys in S/4HANA architecture, but I feel not so many customers enjoy them, and one of the reason is, I believe, it is difficult to find the Predefined VDM they want to use. By providing some ways to find Predefined VDMs, I expect customers to enjoy Predefined VDM in S/4HANA.
Options to find a CDS View
There are several ways to find CDS Views in S/4HANA. Below are the main ways:
To list CDS Views and display the definition of the CDS Views and export the list as Excel File
To execute Analytic Query of CDS Views and the associated source
To open the definition of Interface View.
To find the CDS View used in each Fiori app
To find the VDM from the source table
Opening a CDS View definition
Whichever options you use to find a CDS View, in many cases, it is necessary to check the source of the CDS View to understand it in more detail.
In ABAP Development Tools (ADT), the CDS View can be opened.
Search with CDS View name. By adding “type:DDLS” into the earch string, only the data definitions are searched.
In this case, “I_PROFITCENTER” should be opened. Then, type “I_Profit type: DDLS”, and select I_PROFITCENTER, in this example, the first entry in the result.
The definition of the CDS View is displayed as follows:.
The views and tables used in the opened view can be displayed with Dependency Analyzer.
In the following case, the sources of the view I_GLAcctBalanceCube is displayed with Dependency Analyzer.
From the context menu of I_GLAcctBalanceCube, select “Open with” > “Dependency Analyzer”.
The hierarchy of the source views and tables is displayed. Click a source view and the source of the view is displayed.
The source of the clicked view is displayed.
The fields, sources, parameters, and associated views are displayed with Online as below.
The definition of the views can be checked by pushing F2 key.
it would help detecting the source field of the CDS View in the source table. In the following case, you can find the data element of ReferenceDocument is “awref”.
The source of the view is ACDOCA, and there is a fields whose data element is “awref”, so it would be the source field of Reference Document.
The Definition can be opened with the transaction SDDLAR in SAPGUI.
Set C_Trialbalanceq0001 and push “Execute” on the right bottom.
The source is opened in SAPGUI.
The source can be opened with the program RUTDDLSSHOW2 executed with Transaction SE38.
SQL Views are also generated as part of the CDS View. The SQL View can be opened in the transaction SE11 of SAPGUI.
The definition of the selected SQL View is displayed. The name in “DDL Source” field in the SQL definition, is the name of CDS View. If the name is started with “I_”, it should be a predefined VDM (as now the SQL View name also begins with “I”).
The following example using SE11 shows:,
DL SQL View name is “IFIPROFITCENTER”
DDL Source name (CDS View name) is “I_PROFITCENTER”.
- By clicking the name of DDL Source (I_PROFITCENTER), the source code can be checked (program RUTDDLSSHOW2).
For some views, it is possible to run “Contents” (data preview) in this screen, but for other views, it is not possible, e.g. when the corresponding CDS View has the parameters.
- Mappings between CDS View name and SQL view name are stored in the table CDSSQLVIEW.
Options for Locating CDS Views
1. Fiori View Browser
Fiori View Browser is the most basic tool to check CDS view including VDM. This tool can be used by assigning users the role SAP_BR_ANALYTICS_SPECIALIST. Before doing that, initial setting is needed (Activate OData “CDSALLVIEWS” with Transaction “/iwfnd/maint_service” in Frontend Server).
What I do is to export the list of the CDS View in the desktop of my PC from View Browser and use it when I have to find the views.
“View Browser” can be launched from Fiori Launchpad.
(or launch URL directly: <https or https>://<server>:<port>/sap/bc/ui2/flp#CDSView-browse)
In View Browser, you can search with the search terms. By clicking an entry, the definition of the CDS View can be displayed.
In the following case, search term is “Profitcenter” and click “I_ProfitCenter”.
Detail is displayed.
Only CDS Views where a valid annotation of “@Analytics.query: true” is defined will the “Show Content” be available. Data can be displayed. In the following case, as C_GLLINEITEMSQ0001 is Analytic Query, “Show Content” is available.
By clicking “Show Content”, the CDS View is executed with Fiori Multidimensional Reporting.
By clicking the “Settings” icon in the initial CDS View list, it is possible to add or remove fields, sort, filter, group.
It is possible to export the list to excel file.
It is possible to count the number of the view using Pivot table.
Below is the summary of the CDS View in S/4HANA1809 FPS00. FALSE/TRUE means release status.
You would think too many views are there to check. But I think you don’t have to check all views, but the first step should be to focus on Interface View, and many of Interface View are master data.
Prefix of Predefined VDM is C_ (Consumption View), I_ (Interface View), P_(Private View), and E_ (Extension used in other views). The View type most frequently reused for custom objects is Interface View (I_), and many of them are master data (normally simple).
I like it. I stored the file in the desktop of my PC.
2. Transaction RSRT in SAPGUI
Analytic Query of CDS View works almost the same as BW Query. Slicing, dicing and drill down (OLAP navigations) are possible in the query. Analytic Query is only a part of all CDS View and it is a type of Consumption View. But as it is easy to run, it can be the first step to try the Analytic Query to have the overall image about VDMs in S/4HANA. After gaining an overall image, it is suggested to check the views in detail leveraging other methods. In addition, you can also check the contents of BPC for S/4HANA, as BW Queries for BPC for S/4HANA can be executed in the same way.
How to run Analytic Query CDS Views via Embedded BW:
You can run Analytic Query type CDS Views with Transaction RSRT from a SAPGUI session within your S/4HANA system like BW Query. In the InfoArea tree of the value help, the queries whose technical name start with “2CC” (the query name is “2C”+<SQL View name of the CDS View>. “2C” is prefix of Analytic Query, and SQL View name of Consumption View starts with “C”), can be selected.
It is possible to run Analytic Query type CDS Views with Fiori Query Browser, or BusinessObjects tools like Analysis Office. But I take Transaction RSRT in this blog as it can be used without additional setting and it can be executed in SAPGUI.
Push the Value Help button in the transaction RSRT.
Select an Analytic Query.
The view can be executed in this transaction.
OLAP navigations are possible using the navigation panel in the left side of the screen.
The field is drilled down into COLUMN in the table
The field is drilled down into ROW in the table
Data is filtered with the selected characteristic value(s).
In the Transaction RSRT, it is also possible to run the source of the Analytic Query. Then the query name is !2C<SQL View name of the CDS View>. Specifically, the CDS View in which Analytic Data category is CUBE or DIMENSION can be executed in this way.
In the following case, “IFIGLLITMCUBE” is the SQL View of the CDS View “I_GLACCOUNTLINEITEMCUBE” and which is the source of “C_GLLINEITEMSQ0001” (“CFIGLLITMQ0001”). It can also be executed in Transaction RSRT by using the name “!2CIFIGLLITMCUBE”.
OLAP navigations are possible as in the Analytic Query.
3. Transaction RSRTS_ODP_DIS in SAPGUI
The definition of Analytic Cube, the source of Analytic Query, can be checked with the transaction RSRTS_ODP_DIS. In this way, it is easier to understand which fields and which measure a Interface View has than in ADT.
To open Analytic Cube “2C” should be removed from the name, e.g. IFIGLLITMCUBE, not 2CIFIGLLITMCUBE. You can find which attributes and which measures the view has.
The definition can be displayed. KEY, DATA, UNIT and Key Figures are listed in different nodes.
By pushing “Standard Query”, the Analytic Cube is executed with Transaction RSRT.
In the Transaction RSRT, by typing “<Analytic CUBE>/!<Analytic Cube>”, the Analytic Cube can be executed directly, e.g. 2CIFIGLLITMCUBE/!2CIFIGLLITMCUBE.
After running, you will get the same result as the screen shot above.
4. List View of Fiori Apps Library
What is Fiori Apps Library?
Fiori Apps Library is the public site in which the configuration for each Fiori predefined apps is explained including, e.g. OData Service, UI5 Application, Role, Catalog. Some OData Services comes from CDS View. The blog explains detail about Fiori Apps Library.
Some OData services used in predefined Fiori Apps are generated from CDS View, and you can find the CDS View (VDM) used in the Fiori apps you are interested in in Fiori Apps Library. Functional experts would want to know where the data comes from in a Fiori predefined apps or which CDS View maybe required to be enhanced (* but Custom Fields and Logic should be used to add fields to Fiori apps as much as possible). Development experts want to create similar Fiori apps to the Predefined that are available, so would want to know how the CDS View is coded and used in the Fiori apps they are interested in. In these cases, the Fiori apps library would help.
My favorite way is to change the Fiori Apps library display to List View, to list the Fiori apps, export it to an excel file, and save it in the desktop of my PC and use it when I want to know the detail about the Fiori apps.
How to find VDM in Fiori Apps Library List View
Go to Fiori Apps Library and select “Fiori apps for SAP S/4HANA” in the left.
After selecting “All Apps”, and select “List View” on center bottom of the page.
In the right, from “Column display settings” icon, select all columns to be displayed.
You can detect application types with the column “UITechnology”, e.g. “SAP Fiori: SAP Smart Business generic drill down app” which refers to KPI tiles.
PrimaryODataServiceName column is the main OData Service used in the Fiori app. (“AdditionalODataServices” is another used OData Services). The name of the OData Services generated from CDS View ends with “_CDS”. (In the following sheet, new column I is created in which the formula is “=RIGHT(H,4)” for filtering with “_CDS”.
The OData Services whose name ends with “_SRV” is the one generated with Transaction SEGW, and CDS View MIGHT be used as the source of the OData Service. After adding the OData Service with Transaction /IWFND/MAINT_SERVICE, the main source CDS View of the OData Service might be able to be found in the table CFD_W_ODATA_CTXT.
Run Transaction /IWFND/MAINT_SERIVICE, and select the added OData Service, and push “Service Implementation” in the bottom-right of the screen. In this case, “ZFAC_GLV_GL_ACCOUNT_LINE_ITEMS_SRV” is selected.
In Service Implementation, check Technical Model name.
Search the name “FAC_GLV_GL_ACCOUNT_LINE_ITEMS_MD*” in CFD_W_ODATA_CTXT.
In this case, C_JOURNALENTRYITEMBROWSER is the CDS View used in the OData Service.
This OData Service can be opened with Transaction SEGW.
However, the applications of UItechnology Fiori Design Studio (=Multidimensional Reporting) do not use an OData Service, but Analytical Query of CDS view is used. For these, you can run Transaction RSRT from a SAPGUI session within your S/4HANA system. See “Transaction RSRT in SAPGUI” in detail.
You can find the VDM using a table. Functional experts would want to find the VDM for Profit Center and have already known the source table should be CEPC. Then it is possible to find the VDM “I_ProfitCenter” from CEPC using Where-Used List in Transaction SE11.
Please see the blog in detail.