Introduction
In the following we discuss some technical details of transient providers and transient queries based on ABAP CDS Views (Analytic Queries using annotation @Analytics.query: true). Among others, the gives information should help you to check/analyze such objects in case they do not work as expected.
ABAP Core Data Services (CDS) Views allow the creation of rather complex views which exceed the capabilities of database views created in SE11. Besides their role in the ABAP Programming Language, CDS Views are the technology behind the virtual data model of SAP S/4HANA Analytics. CDS views can be enhanced with analytic annotations which can be interpreted by the Analytic Engine (also some non-analytics annotations are used by the OLAP Engine).
A semantic distinction can be made in the Analytics annotations between annotations that are relevant for the InfoProvider (CUBE) level and annotations that are only relevant for analytic queries. Such Query Views will be translated to BW Queries via the BW Badi for transient queries.
Since the Analytic Engine is needed to interpret the analytic annotations, in general the Data Preview in the Hana Studio (ABAP Perspective) for such an CDS View does not display the desired data. This can only be guaranteed by the corresponding BW query.
The following very simple examples provide a first technical insight into such transient BW objects:
- InfoProvider based on CDS View: Simple BW Provider based on CDS View
- Query based on CDS View: Simple CDS View Query with formulas and restrictions
Important Points
- Naming Conventions
- In case CDS DDIC-based views (statement "Define View") are used there three technical names assigned to an CDS view. The so called SQLViewName is used in the ABAP dictionary (SE11). The corresponding BW object (like cube and query) uses this technical name as well but with the prefix 2C , so 2C'SQLVIEWNAME'. See CDS Views: Naming Conventions.
- CDS DDIC-based views are now replaced by CDS view entities which are defined using the statement 'DEFINE VIEW ENTITY'. CDS view entities are the successor of CDS DDIC-based views, they represent an improved version of classic CDS DDIC-based views (obsolete). There is only one technical name allowed, see Analytic Queries based on CDS View Entities.
- CDS views depend on the client the user is logged onto when the table, the CDS view is based on, is client dependent. Cross-client access with Analytic Queries is not supported. See the following simple example Client-Dependent CDS View.
- CDS views can be authorization relevant. CDS access controls can be used to define the values certain users are authorized to see. See the simple example discussed in CDA Access Controls.
- Review CDS Views: Modeling considerations in Analytic Engine
Discussion of Individual Annotations with the Help of Examples
On the following page we provide simple examples for the most important analytic annotations:
CDS views: HowTo use in BW contexts
Common Issues/Troubleshooting
- In case the problem is related to the usage of a certain annotation, also check the corresponding examples of CDS views: HowTo use in BW contexts.
- There are some useful reports and transactions where you can check CDS view in the backend, see CDS Views: Tools and Tables.
- Troubleshooting Fiori Apps based on ABAP CDS view queries
- CDS Queries and SIDs
- In CDS queries, basically SIDs are only used internally by the Analytic Engine and there are no permanent SIDs stored in the system. However, there are some exceptions like the unit, currency and time fields/characteristics(e.g. field with @Semantics.currencyCode). In these cases the corresponding basic BW characteristics are associated with the fields and this also implies that the corresponding SIDs are used.
- In case you get the error BRAIN_DEV 643("value ... not valid for variable ..." - see Variable Handling: SIDs Generated for New Values) for e.g. a time characteristic in the variable dialog, it normally means that some customizing(like defining periods for fiscal year variants) is missing. In exceptional cases it might be necessary to first generate SIDs for all available values in the provider before they can be used in a variable. This can be done by running the Adhoc Query query in RSRT and adding the InfoObject (e.g. 0FISCYEAR) to the drilldown(then the Analytic Engine creates SIDs if they do not exist).
- Error: "No SID found for value '...' of characteristic.. BRAIN 70": units and currencies delivered by CDS queries have to be maintained correctly in the system(see SPRO and tables TCUR* and T006). See 0UNIT and 0CURRENCY.
- Issues related to currency conversion: see 2561100 "Currency Conversion in CDS Queries - Could not determine valid conversion rate for value(s) ..."
- Performance
- In case a CDS query is not available in a frontend check Run CDS Query in AO and SAC.
- If you face issues with hierarchies check Using Hierarchy in CDS.
In a CDS cube view, all values of field A should be available in the associated field B in the dimension view. Otherwise the data model is inconsistent and may lead to unexpected query results. See 2835242 "More Values in Cube CDS View than in Dimension View"
- In case initial values (#) are missing in the F4 help review note 2584290 and check CDS Query: Compounded Dimensions and Initial Values in F4 Help.
Special Topics
- CDS Views: Naming Conventions
- CDS Views: Tools and Tables
- CDS views: HowTo use in BW contexts (Discussion of Individual Annotations)
- CDS Views: Modeling considerations in Analytic Engine
- BW InfoObjects modeled by CDS Views
- CDS Access Controls (Authorization Check)
- Troubleshooting Fiori Apps based on ABAP CDS view queries
- BW OData Queries
- Open ODS View based on a ABAP CDS View
- Query Properties of CDS Queries
SAP Online Documentation
SAP Notes
- 2361926 - Consulting: Analytics on ABAP CDS views
- 2682227 - ABAP CDS: Use local InfoObject names for key figures
- 2835242 - More Values in Cube CDS View than in Dimension View
- 2274570 - Performing the "DCL Initial Load"
- 2289865 - Configuration steps for S/4 HANA Analytics.
- 2636754 - Configuration Steps for SAP BW Analytics
- 2367553 - ODataQuery features and limitation
- 2657021 - Creating Custom CDS Views for Analytical Scenarios
- 2673267 - Consulting: Open ODS View or HANA DataSource based on ABAP CDS View