Finding the right CDS Extractor in SAP S/4HANA

Dear BW enthusiasts,
SAP ABAP Core Data Services (CDS) is a core technology for data modeling in SAP S/4HANA. Due to the fact, that S/4HANA Cloud Edition does not provide the classic ABAP extractors (aka DataSources) for BW consumption, the clear requirement to set up new extraction options based on this concept has emerged in the last years. As you can see in the numbers below, this area has received tremendous innovation in the recent years.

Number of released CDS extractors in SAP S/4HANA on premise
(Note: the cloud edition reflects the similar evolution with probably even more objects)
– release 2019: ~400 extractors
– release 2020: ~1100 extractors
– release 2021: ~1800 extractors

Based on these numbers, one simple question might arise from a BW perspective:
Where can I find a list of available CDS Extractors delivered by SAP?

Well, this is why I authored this blog post: Simply because there is no simple answer to this question. If there would be a comprehensive offline documentation in help.sap.com or similar, this question could be answered easily. So the purpose of this blog post is to provide one possible solution approach:

To start with, as there is no offline source available, you need access to an SAP S/4HANA system to analyze the CDS objects; to be precise you require

  • access to SAP S/4HANA via SAP GUI and authorizations for Tr. SE16 and SE11 (steps 1-3),
  • access to SAP S/4HANA Fiori Launchpad and the app “View Browser” (e.g. via role SAP_BR_Analytics_Specialist) (step 4), and
  • access to SAP S/4HANA via Eclipse/ABAP Development Tools (ADT) and the authorization to view ABAP development objects (step 5).

Before explaining these steps, I would like to highlight one important detail: The CDS object name in the ADT design time environment is not the name of the final technical object which is used for consumption. During activation, ABAP DDIC views are generated which can easily be accessed their evaluation (steps 1-3), but they are also the name of the ODP Provider from a BW perspective. So, make sure you know the ABAP DDIC name of the CDS views when you work with them.

Step 1
There is a high-level list of all CDS extractors in each S/4HANA system starting from releases 2020. It is based on CDS View I_DataExtractionEnabledView and you can easily call it in the Data Browser (SE16) based on its ABAP DDIC name IXTRCTNENBLDVW. It lists all CDS extractors with two filter options:

  • Is the object released or not? We recommend sticking to the released ones, they are stable and there is no risk they will behave differently after an upgrade.
  • Is the object CDC enabled, which means it is a delta enabled extractor based on the sophisticated Change Data Capturing concept.

In my example, I focus on an alternative of classic LIS DataSource 2LIS_02_ITM (MM Purchase Order Items). This CDS View C_PurchaseOrderItemDEX is a released CDS alternative which is completely delta enabled.

Step 2
After you identified some helpful objects you need to find their ABAP DDIC name to consume them. This mapping is available in table RSODPABAPCDSVIEW (SE16).
In my example, the ABAP DDIC name is CMMPOITMDX.

Step 3
Now, you can proceed and analyze the runtime object CMMPOITMDX in the ABAP Dictionary Browser (SE11). You can easily see which fields are provided and there is an option to call the data definition as well. This means you can see the full coding including all annotations.

In my example, you can see the extractor delivers transactional data (dataCategory: #FACT), and the delta mechanism is based on purchase order items (table ekpo, fields ebeln/ebelp) and the purchase order headers (table ekko, field ebeln) as well.

Step 4
If you are lucky and you can reach the S/4HANA Fiori Launchpad (/n/UI2/FLP), you can leverage the View Browser app to look through all CDS Views and filter them on those which are able for extraction. You should receive the same number of objects as in step 2, but there are more details provided like application component, data category, package and what source objects the extractor refers to (“cross reference”). It is worth to filter properly and then download the list to excel for further evaluation.

Step 5
A well-hidden feature but providing a great value-added is accessible in the ABAP Development Tools (ADT). As I said at the beginning, you need a local SAP HANA Studio or Eclipse installation to work these tools, so it is probably only available for developers. Here, where you maintain all CDS objects, you can easily search for one object and open it with the so-called Dependency Analyzer: This function disassembles the whole data model and provides an easy-to-understand overview of the whole data model, i.e. you see clearly from which source SAP S/4HANA tables the CDS extractor takes the data.
In my example, you see that the CMMPOITMDX reads through up to four layers of CDS views and finally reads from MM tables EKKO, EKPO, T001 and TKA02.

Summary
As CDS extractors keep evolving and more and more SAP systems are migrated to SAP S/4HANA. I hope this blog post provides a better understanding how to identify the right CDS extractors for your SAP BW application.

Helpful Sources