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) - release 2023: ~2800 extractors (about 20% 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 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.
[Update 10/2023]: There is some useful documentation finally in the help portal at SAP S/4HANA > Virtual Data Model and CDS Views > CDS Views. There is a list of the different LoBs or Industries providing information of the core views for extraction as well. Here is the URL for SAP S/4HANA Cloud and for SAP S/4HANA on premise. [End of Update]
However, to really get started, 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, not applicable for S/4 Cloud),
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.
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.
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.
SAP Notes regarding authorizations for CDS extractions: 2930269 and 2855052
Appendix I In a recent customer workshop, we discussed differences between S-API extraction and CDS extraction from a tool perspective. I know this could fill a separate blog post at least, but maybe it is helpful to start with on little overview comparing both worlds:
Appendix II Are you aware that there is a growing number of SAP BW/4HANA content which relies on the new SAP CDS extractors? Here is a good overview and additional links to the documentation as well: