As of release 7.0, BAdIs can be created in the Enhancement Builder as a part of the enhancement concept of the ABAP Workbench. These BAdIs, together with their calling points in ABAP programs, form explicit enhancement options of these programs are assigned to enhancement spots.
If BAdIs and their calling points have been defined in a system, enhancements can be made in follow-on systems by creating BAdI implementations in these systems. A BAdI mainly consists of a BAdI implementation class, whose instances functionally enhance an ABAP program at runtime in the form of an object plug-in. Within the enhancement concept, a BAdI implementation is an enhancement implementation element and is administrated by enhancement implementations.
A BAdI primarily consists of a BAdI interface that contains the declaration of BAdI methods and of a set of filters. The filters enable certain BAdI implementations to be selected for use. In the definition of a BAdI, in addition to the selection of the BAdI interface and the definition of filters, the following settings can be made:
In contrast to previous BAdIs, the new BAdIs are supported directly by the ABAP runtime environment with the following ABAP statements:
The BAdIs of the enhancement concept are also freely switchable using switches of the Switch Framework.