Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Maximum for multiple BAdIs RSU5_SAPI_BADI

Former Member
0 Likes
785

Hi there,

could somebody tell me what the maximum number of implementations is for this BAdI (RSU5_SAPI_BADI)?

And whether performance will be seriously affected if we implement, say, twenty or thirty different ones?

The reason for doing is is that we want to be able to enhance extractors independently of each other. The order of transport to production should not be important.

Thanks is advance!

Roy van de Kerkhof

1 ACCEPTED SOLUTION
Read only

sander_vanwilligen
Active Contributor
0 Likes
648

Hi Roy,

Please have a look at my recent publication .

In this document I present an approach where you create a single “generic” BAdI implementation where dynamically the DataSource specific class is determined and called. This avoids unnecessary calls for irrelevant BAdI implementations. It also complements the BAdI by offering filter functionality: the exit is only processed for a particular DataSource that is found in the control table.

I hope that this is what you are looking for.

Best regards,

Sander

Hi there,

could somebody tell me what the maximum number of implementations is for this BAdI (RSU5_SAPI_BADI)?

And whether performance will be seriously affected if we implement, say, twenty or thirty different ones?

The reason for doing is is that we want to be able to enhance extractors independently of each other. The order of transport to production should not be important.

Thanks is advance!

Roy van de Kerkhof

4 REPLIES 4
Read only

sander_vanwilligen
Active Contributor
0 Likes
649

Hi Roy,

Please have a look at my recent publication .

In this document I present an approach where you create a single “generic” BAdI implementation where dynamically the DataSource specific class is determined and called. This avoids unnecessary calls for irrelevant BAdI implementations. It also complements the BAdI by offering filter functionality: the exit is only processed for a particular DataSource that is found in the control table.

I hope that this is what you are looking for.

Best regards,

Sander

Read only

0 Likes
648

Hi Sander,

I just saw your  post, sorry I haven't replied earlier!

Your blog is quite interesting, thanks for the insight.

Roy

Read only

0 Likes
648

Sander,

Wouldn't it add more value if you converted this Classic BAdI into a New Enhancement Spot BAdI then made multiple Enhancement Implementations on it defining the DataSource value as the BAdI Filter? You could then lose the Z table overhead and also Kernel BAdIs are a lot faster than the Classic ones. You could also then have implicit Switches defined for each Enh Impl which could then be controlled via its own Switch.

This model is explained in the below link.

Cheers,

Sougata.

Read only

0 Likes
648

Hi Sougata,

Thanks for your comments and sharing your blog re. switchable kernel BAdIs. I agree with you.

In the meantime, I have developed a more sophisticated framework using the Enhancement Spot technology. It works with a single generic implementation of the standard SAP (classic) BAdI RSU5_SAPI_BADI where we get and call the appropriate Enhancement Spot BAdI implementation.

Please have a look at my recent publication . It contains a step-by-step guide.

My enhancement framework could be combined with the Switch Framework as you explained in your blog. I hope that I will have a chance to try it out myself.

Best regards,

Sander