The new enhancement concept of the ABAP Workbench (Enhancement Framework) enables the integration of different concepts for modifying and enhancing development objects. The enhancement concept is supported by the Enhancement Builder tool and ABAP language elements.
In the long-term, the new Enhancement Framework is to replace or incorporate the existing enhancement and modification concepts. These are described under Changing the SAP Standard (BC).
The previous concepts were separated into modifications – that is, changes to delivered development objects, and enhancements – that is, inserting user developments at points predefined by SAP.
· Modifications were carried out using the Modification Assistant and supported in system upgrades.
Problematic aspects of the previous concepts are:
· There is no real upgrade support for modifications and enhancements made in different systems of a transport route – for example, by SAP, to partner add-ons, or to customer developments.
· It is difficult to trace developments made in different parallel systems back to one system.
· In the case of systems in which large amounts of user developments and modifications were made, retracing and testing these developments after an upgrade is a very time-consuming process.
The aim of the new enhancement concept as of Release 7.0 of the SAP NetWeaver Application Server ABAP (SAP NetWeaver 2004s) is to unify all possible ways of modifying or enhancing SAP products (more precisely, Repository objects of the SAP NetWeaver Application Server ABAP), which go beyond the scope of Customizing. The corresponding tool is the Enhancement Builder, which is integrated in the ABAP Workbench.
In the context of the new enhancement concept, the following can be handled as enhancements:
· Modifying a Repository object
· Replacing a Repository object with an identically-named object
· Enhancing a Repository object at a predefined position
· Using a foreign object
The Enhancement Framework knows all information about an enhancement that is required, for example, for an upgrade or for the ABAP runtime environment.
The enhancements of the enhancement concept can be switched using the Switch Framework. This means that 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.
In constrast to modifications, with enhancements it becomes possible to have enhancements on different development levels, for example:
· core development
· application development
· add-on development
· customer development
It is possible to create multiple enhancement implementations on different layers or to replace an enhancement implementation, but enhancements cannot be nested.
For the current release, the enhancement concept only incorporates enhancements of Repository objects at predefined positions called enhancement options.