Monday, 10 January 2022

Finding the right CDS Extractor in SAP S/4HANA

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 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: ~400 extractors

– release 2020: ~1100 extractors

– release 2021: ~1800 extractors

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 the purpose of this blog post is to provide possible solution approaches:

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), 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.

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

Step 1

There is a high-level list of all CDS extractors in each 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.
◉ Is the object CDC enabled or not? This means it is a delta enabled extractor based on the sophisticated Change Data Capturing concept.

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

In my example, I focus on an alternative to the classic LIS DataSource 2LIS_02_ITM (MM Purchase Order Items). 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).

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

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.

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

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 as described in the image below and then download the list to excel for further evaluation.

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

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 it, i.e. you see clearly from which source SAP S/4HANA tables the CDS extractor takes the data.

CDS Extractor, SAP S/4HANA, SAP HANA Exam, SAP HANA Exam Prep, SAP HANA Exam Preparation, SAP HANA Career, SAP HANA Guides, SAP HANA Skills, SAP HANA Jobs

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.

No comments:

Post a Comment