Skip to Content
author's profile photo Former Member
Former Member

Order to choose: BAdI, Customer Exits, Implicit and Explicit Enhancements


Which of the enhancements techniques should I look first? Is this?

1- Kernel BAdI

2- Classic BAdI

3- Customer Exits

4- Explicit Enhancement

5- Implicit Enhancement

What would be the correct priority order to verify that's available?

Could you please provide the links from where you got the information?

Thank you! 😊

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Posted on Feb 03, 2013 at 08:51 AM


    1. Customer Exit,

    2. Classic BAdI

    3. Kernel BAdI

    4. Implicit Enhancement

    5. Explicit Enhancement



    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 03, 2013 at 10:30 AM

    Hi Leandro,

    The order you specified is correct except one thing. I am not sure what you understand by explicit enhancement. Explicit enhancement is a generic term used to cover all types of 'explicit' enhancements. This may include enhancement spots, enhancement sections, BAdIs. They are called explicit because their position in the standard code is defined explicitly. On the other hand, we have implicit enhancements whose position is implicit i.e. at the beginning and end of programs.

    With that understanding, explicit enhancement would be the preferred choice over implicit enhancement.

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Kumar,

      I'm trying to understand why has SAP released the explicit enhancement options to the customers and did not keep these for internal use only? Is it only for the purpose of:

      1. To be able to wrap the repairs to the standard programs into custom Enhancement Spots (as a source code plug-ins or Kernel BAdIs) then using Enhancement-Point or Enhancement-Section in the repair so that its much easier to upgrade in future; and
      2. To be able to use the Switch framework for these custom created explicit enhancements so that they could be switched off to easily seggregate the SAP bugs from custom bugs?

      If there's no SAP defined explicit enhancement options found in a standard program then usually the developers enhance this using implicit enhancement option (as source code plug-in) at start or end of the form or function module etc.

      Do you see any value to wrap an implicit enhancement into a custom enhancement spot (which then hooks itself to a custom explicit enhancement) i.e. by enclosing the implicit custom code within syntax Enhancement-Point enh_id SPOTS spot 1 spot 2 so that it could be Switchable when required and/or an OO approach to enhancement can be realised for example when using a Multiple use implementation for a new BAdI ... what do you think?


Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.