Modification-Free Enhancements
In many cases, it
will be necessary to change or enhance applications delivered by SAP or ones
that already exist. Unstructured
changes to the source code or layout of an application are called
modifications. Modifications can
cause conflicts when a new release of the application program is
imported. To avoid such
conflicts, you can create
enhancement
implementations for existing applications that were implemented using Web
Dynpro for ABAP. These
enhancement implementations are independent development objects that are
managed separately from the respective original object. They are part of the
enhancement
concept that was integrated in the ABAP Workbench in Application Server
ABAP Release 7.0. The original
objects they are based on are not changed by this enhancement and can
therefore be updated usually without any problems whenever there is a release
change. You can find information
about special cases where an adjustment is necessary in Adjusting Enhancements
After an Upgrade.
ABAP source texts
in a Web Dynpro application can be enhanced using
BAdIs.
For this purpose, explicit anchor points
(called
enhancement
options) are implemented in the source code at suitable points during the
development of the application. Using these options, you can insert a
separately developed BAdI later on into the flow of the program. Each BAdI is therefore an
explicit
enhancement. An
implicit
enhancement, on the other hand, does not need any advance implementation
through the application development department.
In addition to the source code enhancements described above, you can also perform enhancements to individual sections of a Web Dynpro component. For example, you can insert UI elements into a view or hide them, or you can insert new nodes in a controller context.
To create an enhancement implementation, first open the required component in the object list in SE80. With double-click, you open the view or the controller in which you wish to perform the enhancement in the editor.

You can find the icon for the function Create/Change Enhancement Implementation in the icon toolbar of the Web Dynpro Explorer.
The function Create/Change an Enhancement
Implementation will only be available to you if the original component is
available in display mode. If you
switch from display mode to change mode, the original component itself will be
ready for change, so therefore no enhancement implementation can be created or
changed; the icon is grayed out.
By clicking the icon, you open either a creation dialog for a new enhancement implementation or you get a list of all the enhancement implementations that exist for this component.
It is good practice to add a namespace prefix to the
name of the enhancement implementation. The names of objects that you create in this
enhancement implementation should also begin with this namespace
prefix.
Example:
If you create a pushbutton in the enhancement /myCompany/myEnhancement_1, you could call it /myCompany/button_1.
This helps to prevent name conflicts with objects from the original component.
You can find
more information about
Namespaces and Naming
Conventions for development in
Creating Namespaces
for Developments.
As soon as you complete the dialog, you can then execute the enhancement or enhancement changes you have created.
As a rule, several enhancement implementations, all
independent of one another, can be created for a component. The individual changes can be edited only in
the implementation in which they were created.