Skip to Content
Technical Articles
Author's profile photo Frank Riesner

Finding the right CDS Extractor in SAP S/4HANA

Dear Data Warehouse enthusiasts,
SAP ABAP Core Data Services (CDS) is a core technology for data modeling in SAP S/4HANA. Due to the fact, that SAP S/4HANA cloud edition does not provide the classic ABAP extractors (aka DataSources) for 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 recently.

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: ~500 extractors (about 10% delta capable)
– release 2020: ~1100 extractors
(about 10% delta capable)
– release 2021: ~1800 extractors
(about 15% delta capable)

Based on these numbers, one simple question arises from a BW or Data Warehouse Cloud 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 in a nutshell, the purpose of this blog post is to provide possible solution approaches.

To start with, 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), and they are also the name of the ODP Provider from a extraction perspective. However, these ABAP DDIC views normally have a different technical name as the CDS object. So, make sure you know this name when working with them.

Step 1
There is a high-level list of all CDS extractors in each SAP S/4HANA system starting from releases in 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. See also this blog post.
  • Is the object CDC enabled or not? This means it is a delta enabled extractor based on the sophisticated Change Data Capturing concept. See also SAP note 2991278.

In my example, I focus on an potential alternative to the classic LIS DataSource 2LIS_02_ITM (MM Purchase Order Items): C_PurchaseOrderItemDEX is a released delta-enabled CDS extractor.

Note: As an alternative you can also use DHCDCVCDSEXTRE in SE16 which contains more or less the same information.


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. So access to the full coding including all annotations is provided here.
Finally, don´t forget the known data preview option here (or in tr. SE16).
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 SAP 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 extraction-enabled. 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 as described in the image below 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 in 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 it, 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 purchase order tables EKKO, EKPO, as well as general tables T001 and TKA02.

Summary
CDS-based SAP S/4HANA extraction keeps evolving as more and more SAP systems are migrated to SAP S/4HANA. I hope this blog post provides a useful guide how to evaluate SAP delivered CDS extractors which might be the proper interface for your SAP BW or SAP Data Warehouse Cloud applications now and in future.

 

Helpful Sources

Assigned Tags

      11 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Balamurugan Gunasekaran
      Balamurugan Gunasekaran

      Well documented.

      Author's profile photo Deniz Osoy
      Deniz Osoy

      Helpful! Thank you Frank!

      Author's profile photo Madhur Arora
      Madhur Arora

      Thanks for the insights Frank, Appreciate it.

      Do we have a method to identify CDS based on the tables i.e. as per your example can we go from ekko/ekpo to CDS view CMMPOITMDX?

       

      - Madhur

      Author's profile photo Frank Riesner
      Frank Riesner
      Blog Post Author

      Hi Madhur,
      I am not aware of any tool which supports the approach you describe.
      It is rather the name of the object or the application component it relates to which indicate roughly the type of data the CDS extractor provides.

      KR Frank

      Author's profile photo Koushik guna
      Koushik guna

      Hi , You can use DD26S table.
      In the column, tab name: provide EKKO(or any other table) and execute. Result will contain SQL views of all the CDS views built on that table. Copy the sql view and go to DDLDEPENDENCY table and fetch CDS view name.

      Thanks,

      Koushik G

      Author's profile photo Stephan Taciak
      Stephan Taciak

      Very good blog ! Thanks Frank.

      When moving from ERP to S4/HANA, what has to be considered regarding S-API extractors aka CDS extractors. In which S/4HANA is S-API not or no longer available ?

      Regards

      Stephan

      Author's profile photo Frank Riesner
      Frank Riesner
      Blog Post Author

      Hi Stephan,
      the difference lies in the deployment option/edition of SAP S/4HANA:

      • In SAP S/4HANA cloud edition (public cloud, quarterly releases): There are no SAPI extractors available, only the new CDS extractors can be used for ETL processes to BW, BW/4HANA or Data Warehouse Cloud via ODP.
      • In SAP S/4HANA on premise (or private cloud, yearly releases): You have the choice between SAPI and CDS. Consider that not all SAPI extractors are released, so check this in SAP note 2500202 first. And consider also, that the number of CDS extractors is still evolving as described in my blog. So for this scenario, the general recommendation is to go for CDS if possible and use SAPI where CDS is not available (yet).

      Regards - Frank

      Author's profile photo Simon Willer
      Simon Willer

      Hi Frank,

      great blog post, that was very helpful for me! I still wonder wether the SAPI extractors are available in S/4HANA private cloud because we have a project case where this question came up. Is private cloud the same as on premise in the perspective of BW extraction? Are there any official SAP documents on this topic?

      Thanks in advance for any answer, from other users as well!

      Kind regards,

      Simon

      Author's profile photo Frank Riesner
      Frank Riesner
      Blog Post Author

      Hi Simon, glad that you found this publication helpful.

      From a extraction perspective, there is no difference between S/4HANA on premise ad S/4HANA private cloud edition (PCE). SAPI extractors are available in both.

      KR Frank

      Author's profile photo Emmanouil Kouvaritakis
      Emmanouil Kouvaritakis

      Great blog, thank you Frank!!

      Author's profile photo Dirk Obert
      Dirk Obert

      Hi Frank,

      thanks for this great blog, awesome.

      No marketing, pure facts, like a good espresso! 🙂

      Best regards,

      Dirk