Show TOC

Background documentationModification-Free Enhancements Locate this document in the navigation structure

 

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 programs is to be imported. To avoid such conflicts, you can create enhancement implementations for existing applications that were implemented using Web Dynpro 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 is integrated in the ABAP Workbench in Application Server ABAP (AS-ABAP). The original objects they are based on are not changed by this enhancement and can therefore be updated whenever there is a release change, usually without any problems. You can find information about special cases where an adjustment is necessary in Adjusting Enhancements After an Upgrade.

Enhancement Implementations for Web Dynpro ABAP

You can enhance ABAP source text in a Web Dynpro application by using BAdIs. For this purpose, explicit anchor points (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. You can, for example:

  • Add UI elements to a view or hide them

  • Add new nodes in a controller context

  • Create completely new views

  • Embed additional views to a window in enhancement mode

Note Note

You can also switch between enhancement implementations.

More information: Switch Framework

End of the note.
Creating an Enhancement Implementation
  1. In the object list in SE80, switch to display mode for the relevant component.

  2. Open the view or the controller in the editor in which you want to make your enhancement.

  3. Choose the Enhance icon in the Web Dynpro Explorer toolbar.

    Enhance (Enhance)

    Note Note

    The Enhance function is only available to you if the original component is in display mode.

    If you switch from display mode to change mode, the original component itself can be changed, so no enhancement implementations can be created or changed. The icon is grayed out.

    End of the note.

    You therefore either open a creation dialog for a new enhancement implementation, or a list of all the enhancement implementations that exist for this component and that you can edit is displayed.

  4. Enter a unique name and a short text for your enhancement implementation.

    If you want to create a composite enhancement implementation, either select an existing enhancement by using the F4 help or create an additional implementation by choosing the Create Composite Impl. icon.

    Note Note

    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.

    This helps to prevent name conflicts with objects from the original component.

    If you create a Button in the enhancement /myCompany/myEnhancement_1/, you could call the Button /myCompany/button_1.

    For more information about Namespaces and Naming Conventions, see Setting up a Namespace for Developments.

    End of the note.
  5. Choose Creation of Enhancement (Enter).

  6. Assign a package and choose Save (Enter).

  7. Make the required enhancements, and save your entries.

    The new enhancement implementation is displayed in a separate node in the object list under the component node.

You can then execute you enhancements or enhancement changes.

Note Note

As a rule, you can create multiple enhancement implementations, all independent of one another, for a component. The individual changes can be edited only in the implementation in which they were created.

End of the note.
Hiding an Enhancement Implementation

For performance reasons, you may want to prevent enhancement implementations from being displayed by adjusting the settings from the ABAP Workbench menu.

  1. To do this, in SE80, choose   Utilities   Settings  .

  2. Navigate to the ABAP Editor tab page.

  3. In the dialog box that appears, navigate to the Editor tab page.

  4. Under Enhancement Implementations, select the Do Not Display Any option.

    Alternatively, you can choose to display all enhancement implementations or activated enhancement implementations only.

  5. Choose Transfer (Enter).