SAP ABAP Enhancements

ABAP Enhancements are a new type of SAP extension. They are part of a new concept regarding extensions to the SAP system: using source-code plug-ins the customer may add code to explicit and implicit enhancements.

Previous extensions had some disadvantages that needed to be improved:

  • No Upgrade support for modifications and enhancements made in different systems of a transport route; that is, extensions created by SAP, customers orpartners add-ons

  • It is very hard to trace back into one system developments made in different parallel systems

The goal of this new Enhancement Concept is to unify all forms of extending the standard SAP System.

The Enhancement Builder is the tool for viewing, creating and editing the new enhancements. It is integrated in the ABAP Workbench.

Explicit Enhancements

These are predefined enchancement sections, usually defined by SAP. Explicit Enhancements are stored in Enhancement Spots. In program RIAUFMVK you can see some examples of them.

Explicit Enhancements are prety easy to implement; in the ABAP editor, get into the Enhancement Mode by clicking the spiral button. Then, right click into the enhancement point you plan to implement and select Enhancement Implementation->Create. You will be asked a name and a description and after this you can simply add your code.

Implicit Enhancements

This type of enhancement are predefined in the following places of an ABAP program:

  • At the end of an include (some restrictions apply; for example, at the end of a method include)

  • At the end of Private, Protected and Public sections of a Class

  • At the end of the Implementation of a Class

  • Before the END INTERFACE in an Interface definition

  • At the end of a structure definition

  • At the beginning and at the end of: forms, functions, methods

  • In the parameters list of a method, at the end of: CHANGING, IMPORTING and EXPORTING

To see what Implicit Enhancements are available, in the ABAP editor follow this path: Edit->Enhancement Operations->Show Implicit Enhancement Options.