How to find a predefined Virtual Data Model in S/4HANA
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.
For understanding how to use VDM, pls see the blog, and for understanding CDS View type, see the blog.
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
3. Transaction RSRTS_ODP_DIS in SAPGUI
To open the definition of Interface View.
4. List View of Fiori Apps Library
To find the CDS View used in each Fiori app
5. Where Used List of Transaction SE11 in SAPGUI
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.
You can search with table name or field name.
Search with table name.
Search with field name.
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.
5. Where Used List of Transaction SE11 in SAPGUI
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.
very useful and informative blog you have written. Plus there are so many helpful links you have provided. I have bookmarked it and it's an excellent read for the weekend
One question pls- I am getting a lot of queries in the query browser App but the transaction RSRT doesn't show them. ALso when I try to open the query in design studio in query browser, I am getting the message 'DS_1 for Qyery 2CC.... not found and Query 2Cc...unknown.
Could you pls suggest how do i resolve this issue
Thanks for the comments.
Only Analytic Query or the source of it (Analytic data category is set to CUBE or DIMENSION) can be executed, so RSRT can be used when you want to have total image of VDM, or What is the analytic query or what kind of contents are there in S/4HANA. It is not possible to run the consumption view but not analytic query, or Private view (P_*) etc..
Yes, the initial setting is needed for Fiori Design Studio. Pls reado the following SAP Note
It's really Awesome and helpful to everyone...
I have a query:
We have configured Fiori apps and which are working fine in Development. Now we have moved respective TR's into quality system. Apps have been working fine but some of Analytical tiles are displaying as 'Cannot Load Tile'.
If we tried to display the view in transaction SE11 in QAS Server, we got message as "View CMMPURGRPANA is not in the database" even though it is displayed as "Active":
We found the solution, details as shown below…
As per the below link(SAP Note), we can activate this above mentioned CDS View by run the program(RUTDDLSACT) in SE38.
Now issue got resolved by following above steps for all fiori analytical apps...
I have done this above process in QAS server as SE38 tcode is enabled for us but in PRD server... What is the solution for this...
My question is why some of CDS views are not activated in QAS/PRD Server which are working fine and activated in Development server...
Do you know why in Odata_PRD_FAC_GL_ACCOUNT_LINE_ITEMS_SRV we miss journal Entry Type - VA?
Thanks for your blog!
I got some object Extention development to add custom field in FIORI F227(Display G/L Account Line Items – Reporting View).
In Acdoca custom fields are exist.
I search find correspond CDS view ‘C_JournalEntryItemBrowser’. Between code find another CDS view name ‘E_JournalEntryItem’ having ACDOCA information.
I’m new to CDS view Extention. Could you help to suggest the steps should I follow to achieve this requirement?
I think it is possible to add fields with Custom Fields and Logic.
pls see the help.
you can check which app / objects are the scope of CFL with tcd /nscfd_registry.
Thanks for your suggestion.
While use tcode /nscfd_registry got the CDs extension name. My confusion, shall i need to extend the CDS views name to add custom field in the main CDS view.
If Extention is needed, Then i thought two extension view needs?
one for C_JOURNALENTRYITEMBROWSER, other for E_JOURNALENTRYITEM.
E_ is the view to Add the fields to the main view with CFL internally. Extend View to add field to C_JOURNALENTRYITEMBROWSER from E_JOURNALENTRYITEM is created when adding fields with CFL.
Technically, you can add field without E_ view, by creating Extend View directly for the main view.
No, unfortunately, although I understand your request is reasonable and should help encouraging analytics.
the tree of teh value help in Tcd RSRT could help to some extent..
Your blog has been very helpful to understand the VDM concepts using CDS but I have some query below and hope to have your advise as well.
Analytic Data Category is different from View type.
Annotation of View type is only for categorization used in View Browser.
see the blog for further detail but note that "View type" in this blog is different from the official one (CONSUMPTION/COMPOSITE/BASIC/PRIVATE).
in my personal opinion, official view type is not appropriate so I use different "CDS View type" in my blog.
Right, thanks for the advice. Does that also mean there is no technical or functional impact on the combination of View Type & Data Category?
I am worried if SAP has its standard meaning or best practice reference and may have impact in future SAP upgrade if we developed it differently.
How can I check for C_SLOWORNONMOVINGMATLQRY in T-code RSRT
Great blog, thanks a lot for great sharing.