Skip to Content
Technical Articles
Author's profile photo Michael Sauter

Renovating the ABAP Dictionary: Component-Based Dependency Analysis

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%20Dependency%20Analysis

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%20Dependency%20Analysis

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.

 

 

Assigned Tags

      5 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Alejandro Sensejl
      Alejandro Sensejl

      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

      Author's profile photo Michael Sauter
      Michael Sauter
      Blog Post Author

      Hi Alejandro,

       

      thank you 🙂 

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

       

      Best regards,

      Michael

      Author's profile photo Chad He
      Chad He
      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
      Author's profile photo Michael Sauter
      Michael Sauter
      Blog Post Author

      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

      Author's profile photo Srinivas Rao
      Srinivas Rao

      Hi SAP - What a relief!! Thank you so much!!