Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
MichaelSauter
Product and Topic Expert
Product and Topic Expert
4,999

If you are an ABAP developer or ABAP key-user, you have probably activated a table or a CDS View Entity before. I assume you have also spent quite a bit of time waiting for the activation to finish. We in the development of the ABAP Platform work continuously on improving your experience as developers and recently released a feature called "Component-Based Dependency Analysis", or CBDA, to reduce runtime of the activation of dictionary objects. To give you an insight on how this works, we prepared a short video:

 
2024-11-27_07-14-35.png

 

The Past

In the past, when you activated a dictionary object, all other objects that used this object were activated as well. In cases of big stacks of CDS views, this takes a long time and isn't necessary most of the time. This is called "Object-Based Dependency Analysis".

To provide an example: If you activate “Data Element 1” after changing the type from a character of length 5 to a character of length 10, the database table and both CDS views and all objects using them were activated.

Object-Based Dependency AnalysisObject-Based Dependency Analysis


The Present

Now, or to be more specific, as of ABAP Release 7.93, SAP BTP ABAP Environment 2308, CBDA is available for everyone. This means that the dependency analysis is done in a more precise way. Looking at the same example, we get a vastly different result now: CBDA notices that the data element only affects one field of the database table and therefore only follows the dependencies of this field, greatly reducing the number of activated objects.

Component-Based Dependency AnalysisComponent-Based Dependency Analysis

 

Some performance measurements indicate huge improvements:

In common cases in development, like adding cast statements to certain fields of widely used CDS views, CBDA reduced the number of objects to be activated from over 5000 to 6, resulting in a runtime reduction of about 85%.


In extension cases, like adding extension fields at CDS view I_SalesOrder, CBDA reduced the activation time by almost 75%.

The Future

We will continue this journey of improving the dictionary activation, making it faster, easier to understand and more stable. And with CBDA, we merely completed the first step in the renovation of the ABAP Dictionary activation by reducing the number of objects to be activated. In the future, we will go ahead and speed up the activation of the objects themselves, making your work faster and more productive.

5 Comments