Once upon a time, there was a very clever person at Waldorf that decided that SAP standard coding could be possible to enhance without actually changing the standard code. A then Enhancement Framework was born.
The approach that I usually take on the SAP training sessions that I provide is to highlight the Enhancement Framework as a second layer of code sitting on top of SAP standard code. The two layers connect through anchor points. These anchor points are the BADIs, the enhancement points, sections etc.
The real great advantage of using the Enhancement Framework is that upon an upgrade or installation of support packages, the new standard code enters directly on top of the standard layer without touching anything on the enhancement layer.
1. Explicit VS Implicit Enhancement
Implicit enhancement options are already in a predefined place attached to the standard code, they are provided by the framework. Explicit enhancement options need to be inserted explicitly.
2. Explicit Enhancement
- BADIs – The interface of the BADI is already defined (attributes, methods, etc). It’s up to the developer to create one or more implementations for this interface. BADIs execution can be subjected to filters and there are old and new BADIs. The old ones are based at code level where implementations are searched by means of code execution, they are performance costly and should be avoided. The new ones are based on the kernel level and give the ability of a fast run and low level of impact on performance.
- These explicit enhancements that are new to this ECC6 framework are the ones which can be provided at a specific place – called Enhancement Point, and another which can be used to replace a set of statements – called Enhancement Section.

3. Implicit Enhancement
These enhancements are available at certain pre-defined places. For example:
- At the end of all the programs (Includes, Reports, Function pool, Module pool, etc.), after the last statement
- At the beginning and end of all FORM subroutines
- At the end of all ABAP Function Modules
- At the end of all visibility areas (public, protected and private) of local class

Using these Enhancement Framework enhancing function modules, class-methods interfaces are also quite easy to perform. On our next posts we will approach all thes features and a less known one, the Dark Side of the Enhancement Framework.
See you next time, on the dark side!
About the author
Helder Goncalves (hfgoncalves) has been working with ABAP development for more than 9 years, covering all major modules, releases and technologies. Click here to view Helder’s full profile.
















