Start of Content Area

Background documentation Enhancement Framework  Locate the document in its SAP Library structure

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 as effectively as possible.

With this new technology you can enhance global classes, function modules, Web Dynpro ABAP components, and all source code units using implicit enhancement options provided by the system. An application developer can also define additional explicit enhancement options for source code plug-ins and new kernel-based BAdIs, which are also integrated in this new framework.

Previous Concepts

The previous concepts include two different methods for adapting SAP software that go beyond the scope of customization:

      Modifications – changes to development objects delivered by SAP with or without the Modification Assistant

      Enhancements – inserting user developments into SAP development objects at predefined positions using customer exits, appends, includes, and classical Business Add-Ins (BAdIs).

The new Enhancement Framework is intended to integrate the existing enhancement and modification concepts, to replace and improve some of them, and to add some new ones to address recent developments like Web Dynpro, for example.

Initial Settings

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.

Modifications and Enhancements

In contrast to modifications, with the new technology it becomes possible to have enhancements on different development levels, for example:

      core development

      application development

      add-on development

      customer development

This graphic is explained in the accompanying text

Note

It is possible to create multiple enhancement implementations on different layers or to replace an enhancement implementation, but enhancements cannot be nested.

See also:

Enhancement Concept

Enhancement Technologies

Enhancement Builder

 

 

End of Content Area