Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
Showing results for 
Search instead for 
Did you mean: 
The purpose of this blog is to show the different ways of searching points to enhance SAP applications without having to modify SAP standard system.

Business case and philosophy

There is a business requirement which is not completely covered by SAP standard application. Before starting to think of modifying SAP standard or in a custom development which would mean a significant effort for the company not only at development but also to support it, it is worth to investigate if any of the alternatives given by SAP to enhance its applications could be used to cover the requirement.

When we talk in general about a user-exits, enhancements, BAdI’s…  we mean a  way to enhance SAP standard applications. In general they all work in similar way:

  1. SAP delivers the points where allows customers to modify SAP standard logic.

  2. Customer implements their logic in these points.


  • In the beginning there were user-exits.

  • Then customer-exits were added, wrapped in Enhancements and Projects.

  • Afterwards, Business Transaction event came for Finance.

  • A big step was done with Business Add-In’s (BAdI’s)

  • And finally, Enhancement Framework was delivered containing New BAdI’s, explicit enhancements and implicit enhancements.

Currently all these ways live together in SAP systems and frequently you can see in the code  BAdIs, customer-exits and user-exits at same point.

How to find enhancements

  1. Search in customizing

  2. Use SE84, filtering by package of your transaction (you get the package in SE93)

  3. SE80 - Enhancement Framework section

  4. What to search in the code and where to put breakpoints to find enhancements while debugging.

    Enhancement type Transact. Search in code for Breakpoint at
    User exit -- userexit --
    Customer exit




    (SE37: EXIT_<prog>_*)




    BAdI – classic



    • EXIT_NAME gives you the BAdI’s name.

    • Follow interface type of referenced variable to navigate to BAdI definition.



    CALL METHOD cl_exithandler=>get_class_name_by_interface

    BAdI name is returned in exit_name.
    BAdI – new




    Follow variable to see BAdI and to navigate to enhancement spot.


    Check variable values to see BAdI’s name.
    Enhancement-point -- ENHANCEMENT-POINT --
    Enhancement-section -- ENHANCEMENT-SECTION --

  5. How to put all breakpoints at once

Implicit enhacement points

Implicit enhancement points are options to insert source code in SAP programs, functions modules and methods without making modifications.They are at certain points in the SAP program and they are not explicitly provided by SAP Development.

You can find implicit enhacement points at

  • The beginning and at the end of the source code of a function module.

  • The beginning and at the end of the source code of a method.

  • Implement additional methods.

  • The end of a structure (type) declaration (to include additional fields).

  • The beginning and at the end of subroutines (to enhance additional functions).

  • The end of includes (to implement additional functions and subroutines).

You  can see implicit enhancement points in ABAP code, from ABAP editor

I hope it helps.

1 Comment