Enhancement Technologies

There are different kinds of technologies that provide enhancement options:

  • Source code enhancements - enhancement points are positions in the source code where you can attach source code plug-ins which enhance the source code at these positions. While a source code plug-in at an enhancement point is processed in addition to the original code, the code of an enhancement section is substituted by the respective source code plug-in.
  • Function group enhancements - you can enhance the interface of a function module by additional parameters using function group enhancements.
  • Class enhancements - you can add additional methods, optional parameters, pre- and post-methods to existing methods.
  • BAdIs - object-oriented enhancement options. The BAdI defines an interface that can be implemented by classes that are transport objects of their own. The new BAdI is fully integrated into the Enhancement Framework. Within the Enhancement Framework, a BAdI is an enhancement option or an anchor point for an object plug-in.
  • Web Dynpro Enhancements - enhancements to individual sections of a Web Dynpro component.

Implicit and Explicit Enhancement Options

Class enhancements, function group enhancements and enhancement options at particular predefined positions (such as the end of a report, a function module, an include or a structure and the beginning and the end of a method) are called implicit enhancement options. They are provided by the framework, only their implementation has to be inserted

If there is a need for additional or different enhancement options than those provided by the framework, you can use explicit enhancement options. They have to be inserted explicitly by the developer. There are two types of explicit enhancement options: BAdIs and explicit enhancement points or sections, where you can insert source code plug-ins.