All parts of a Web Dynpro controller can be enhanced. Here, too, the following applies: Controller parts created in the original component cannot be changed or deleted in an enhancement implementation.
For each existing context, additional nodes and attributes can be created within an enhancement. However, if you wish to add an attribute to an existing node, there are two different situations:
Within a node without a dictionary structure, this is possible without restriction.
Within a node with a dictionary structure, one or several attributes from the used structure can be added through the context menu entry Create Through Wizard->Attributes from Components of a Structure. If you select an attribute added in this manner, you will see the name of the implementation for which it was created displayed in its properties table in the last row Enhancement Implementation.
You may only change or delete a context note or context attribute that was created for enhancement purposes in exactly that enhancement implementation in which it was created.
In accordance with all the steps performed so far, it is possible to create and implement new methods for a controller in an enhancement. However, to be able to intervene in existing methods, a so-called pre-exit and post-exit are provided in an enhancement for each method. These two self-contained, additional methods are run directly before or directly after the corresponding original method is called.
Pre-Exits:
The pre-exit
method automatically provides all the importing and changing parameters of the
corresponding original method.
Post-Exits:
The post-exit method automatically reads the importing parameter of the original method. All the other parameters of the original method (exporting, changing, and returning parameters) are provided as changing parameters.
Additional attributes can be created within an enhancement implementation.