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
Advisor
Advisor
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:

 



 

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 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 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
alejiandro_sensejl
Active Participant
0 Kudos
Hi michael.sauter , that sounds like a great improvement. Kudos for working that out!

Is CBDA procedure also used in S/4HANA 2023 on-prem release? 🙏

Cheers,

Alej
Chad_He
Participant
0 Kudos
Hi Michael Sauter,
Thank you for your introduce about CBDA.
It sound like a wonderful feature.
First, which products are CBDA used in now, OP2023, or Cloud2311, or some else?
Second, as a developer, I think I could feel faster when I active DDIC Objects.
But are there some other differences when I change or create a DDIC Object.

 

Cheers,

Chad
MichaelSauter
Advisor
Advisor
0 Kudos

Hi Alejandro,

 

thank you 🙂 

Yes, it's also available on-premise, with everything ABAP-based from 2308/2023 on.

 

Best regards,

Michael

MichaelSauter
Advisor
Advisor
Hi Chad,

 

thanks a lot. It's available in every ABAP-based software with an ABAP-platform (fka SAP_BASIS) release starting from 2308/2023. So it's there in Steampunk, S/4HANA Private and Public Cloud, IBP, ...

 

Best regards,

Michael
Srinivas-Rao
Contributor
Hi SAP - What a relief!! Thank you so much!!