Skip to Content
0

Why Enhancement-Section and Enhancement-Point techniques were introduced as explicit options

Feb 07 at 06:46 AM

99

avatar image

What could be the reason? Why enhancement-section/enhancement-point were introduced instead of leveraging the BAdI as a hook to enhance functionality.

Thank you!

Regards,
Balaji

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Sandra Rossi Feb 07 at 07:17 AM
3

If the question is what are the differences between explicit enhancement options and BAdI implementations, then the main one is that enhancement options allows adding code inside the enhanced program, while BAdI implementation is code outside the program, so in the first case you have access to all variables, local classes, etc. And of course, combined with the Switch Framework, the code may be inactive by default, and activated by switching on Business Functions.

If the question is why they gave such a powerful possibility, similar to what standard code modifications are, then I can just presume that they wanted to give internal projects/partners the opportunity to extend the standard/build new solutions easily.

Etc.

Show 10 Share
10 |10000 characters needed characters left characters exceeded

Thank you for the response!

I am clear with differences between the two techniques as part of enhancement framework.

Not only to internal project and partners, customers who have implemented SAP, can also enhance by implementing provided enhancement option (it can be BAdI or enhancement-section or point).

Question - technically speaking, using one of these techniques, required functionality can be achieved. Then, why enhancement-section/point option was introduced instead of leveraging BAdI (object-oriented approach)?

Regards,
Balaji

0
Balaji Nandikolla

As I said, only a few parameters are exposed to the BAdI implementations. With enhancement options, all "program objects" (variables, etc.) of the enhanced program are exposed.

I.e. BAdIs are much less open than enhancement options.

0
Balaji Nandikolla

An other difference is that the code in an enhancement section is automatically deactivated when an implementation is created. A BAdI does not have such a capability.

0

I know these technical differences. But, just wanted to understand, what led to introduce this enhancement technique by SAP. And, why to expose ALL the program's data objects to implementer.

Regards,
Balaji

0
Balaji Nandikolla

In his blog post Former Member says:

  • "What the Enhancement Framework does is to combine the advantages of both the standard (easily maintainable) with the proprietary solutions (more flexible) while avoiding the drawbacks of both standard software (lack of flexibility) and customized software (upgrade issues)."
  • "Its purpose: to offer you the ability to enhance the SAP standard software and to organize these enhancement options and their respective implementation elements as effectively as possible."
0

Why they did this is a SAP internal secret, never to be revealed. Like most things SAP decide to do. I mean, you assume there's a rational reason behind it... ;-)

5

It's The Design! (c) SAP

0

I am thinking about what could be the possible rationale behind it. :)

0

My guess is someone had the idea, then a manager rolled a twenty-side dice and it came up 20, so they decided to implement it.

1
Balaji Nandikolla

Balaji,

1. To let the Customer implement his own custom solution without breaking the standard functionality.

2. To let the Custom code sail through Upgrades.

3. To have the flexibility of Switch On/Off as and when required.

Those are well enough to be considered as reasons and already covered by Sandra and Matt in their replies, to answer your "Why".

0