Enhancement Framework
Goal
The Enhancement Framework enables you to add functionality to standard SAP software without actually changing the original repository objects and to organize these enhancements separately from the enhanced objects.
The basic idea of the Enhancement Framework is to make modification-free enhancements of development objects such as programs, function modules, global classes, and Web Dynpro components. It is the new state-of-the-art technology that SAP recommends to enhance and change SAP programs. These technologies and the new kernel-based BAdIs are now integrated in one framework that has the following features:
- Enhancements of existing development objects on different levels - for example, in an industry solution, in the IT department of the customer, and in a customer's company.
- Better upgrade support
- Switching of enhancements with the Switch Framework
- Support for grouping enhancements and appropriate tool support for documentation.
Previous Concepts
Up to now, customers could use the following classic technologies to adapt the software when the options for customizing were insufficient:
- Classic enhancement technologies such as customer exits, user exits, ABAP Dictionary appends, ABAP Dictionary includes, and classic BAdIs.
- Modifications Technology - changes to development objects delivered by SAP with or without the Modification Assistant
Scope and Limitations
The new Enhancement Framework is intended to integrate existing enhancement and modification concepts and addresses recent developments such as Web Dynpro. The classic technology for appends and includes cooperates perfectly with the Enhancement Framework but is not yet integrated in it. If you want to be able to enhance all layers of an application, the classic append technology is still necessary.
Allowing and Forbidding Modifications
To be able to enhance repository objects, the software component they belong to should have the property Modifiable or Not modifiable; enhanceable only. For more information about setting this property, see Setting the System Change Option.
Integration
The main tool for performing enhancements is the Enhancement Builder, which is integrated in the ABAP Workbench.
The enhancements can be switched using the Switch Framework. An enhancement takes effect when the package in which the above enhancement components are defined is assigned to a switch of the Switch Framework and this switch is not deactivated.
To have more control over possible enhancements, you can use Enhancement Append Packages. The concept of enhancement append packages is designed for the implementation of enhancements such as source code enhancements and ABAP Dictionary enhancements.
Enhancement implementations are located in a separate append package that is assigned to the original package so that the package treats the content as part of the original package.
See also: