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)
– release 2022: ~2400 extractors (about 18% 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).
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.
Note: As an alternative you can also use DHCDCVCDSEXTRE in SE16 which contains more or less the same information.
Hint: The annotations for all CDS objects are also listed in table DDHEADANNO (DD: Header Annotations) for header details, and in table DDCDS_ELMNT_ANNO (DD: CDS Element Annotations ) for the items.
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.
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 additional Sources
- SAP documentation of CDS Annotations
- Blog Post: CDS Based Data Extraction
- Blog Post: Discover CDS View Based Extractors from SAP S/4HANA Cloud
- Blog Post: Some interesting Facts of Compatibility Views in SAP BW/4HANA and SAP S/4HANA https://blogs.sap.com/2022/04/05/some-interesting-facts-of-compatibility-views-in-sap-bw-4hana-and-sap-s-4hana/
- SAP Notes regarding authorizations for CDS extractions: 2930269 and 2855052
Helpful! Thank you Frank!
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?
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.
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.
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 ?
the difference lies in the deployment option/edition of SAP S/4HANA:
Regards - 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!
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.
Great blog, thank you Frank!!
thanks for this great blog, awesome.
No marketing, pure facts, like a good espresso! 🙂
Hi Frank Riesner
Thank you for a great blog. However, it is not entirely clear to me what the prerequisites are for making my own abap cds extraction view with CDC enabled. Are there any limitation or can I make any S4HANA table into a CDC enabled extraction view with the correct annotations and keys specified?
Thank you in advance!
The only hard technical limitation is the S/4HANA release. As stated in this blog by my colleague Simon Kranig "...starting with SAP S/4HANA Cloud 1905 and SAP S/4HANA 1909 FPS01 (on-premise) an additional delta capability facilitating database triggers can be used...."
So you can actually define your own CDC enabled extractors based on the corresponding annotations.
Maybe it is worth mentioning, that CDC is based on triggers and these triggers consume some system resources as well. So if you go for large scale CDC extraction, the S/4HANA system should be scaled accordingly. So dont use CDC for each and every extraction blindly as a default... use it only where it really makes sense. E.g. full extraction for most master data is normally still ok.
Thanks a lot for your quick reply and also thanks for mentioning the performance impact. Honestly, I had thought of using this CDC functionality with real-time replica to DWC also for big transactional tables - but as I understand you, you would even advise against that?
I advise not to use CDC for each and every kind of extraction without checking the real value-added. If it is justified by business requirements, then of course IT should serve that...
I assume your source is SAP S/4HANA on premise. Then there is a corresponding connection in DWC and there is also the option to leverage real-time replication which is based on CDC.
Hi Frank Riesner ,
thanks a lot for detailed blog...!
Once we find a released CDS(standard), can we import it into Data Services as an ODP(ABAP-CDS) object? Are there any pre-requisites/system requirements before importing? Please advise.
well, I am not an expert in SAP DS. However, I assume the following might help:
-If the CDS Views are extraction enabled then you should be able to consume them via ODP in SAP DS as well. The ODP Queue (tr. ODQMON) serves then as interface.
-You can also use the generated SQL View of the CDS entity and import that one as a conventional ABAP DDIC view into SAP DS as source object. For this scenario, you bypass ODP and the CDS view does not have to be extraction enabled.
Hi @Frank Riesner, thanks a lot for your response.
Issue while importing CDS view as ODP object into SAP BODS? | SAP Community
Hi Frank, thanks for the effort, kind regards
Thanks for a great blog,
What about for enhance a CDS ? In SAPI extractors we can enhance 2LIS in LBWE appending new availables fields in MCVBAK/MCVBAP/MCVBUK structures without create a Z append.
If we want to append a new field in C_SalesDocumentItemDEX without change the standard CDS, (i.e: new field from a table from a VDM model), what options we have ? only using ADT and copy a Z version of CDS or there´s something standard method to enhace the CDS (F1866A Custom CDS View app or similar ) ?
Thanks for your feedback.
There is a whole framework around extending objects in SAP S/4HANA and keeping the core clean. So extending standard CDS Views is also possible of course. You do this based on new CDS views of type "Extend View", which refer to the original one and enhance it correspondingly according to the customer requirements. This is described step-by-step in #5 of this comprehensive blog post.
Please also consider these sources regarding the C_SalesDocumentItemDEX CDS extractor:
SAP note 2832702: Additional Information about SAP BW/4HANA Content for SD-Sales
SAP note 2796370: Additional Information about SAP BW/4HANA Content for SD-Billing
SAP note 3070845: Use new CDS-Views for SAP S/4HANA SD and Billing (1)
SAP note 3077184: Use new CDS-Views for SAP S/4HANA SD and Billing (2)
Great blog, thank you Frank!!