Enhancement options are positions in repository objects where enhancements can be made. These options are either explicitly defined (by a developer) or exist implicitly. Explicit enhancement options are defined in a central initial system. Enhancements are made in follow-on systems.
Explicit enhancement options can currently be defined by:
● Explicitly flagging source code points or sections in ABAP programs. For an enhancement, these can be enhanced or replaced by source code plug-ins.
● Including Business Add-Ins (BAdIs) in ABAP programs. These programs are then enhanced by object plug-ins with predefined interfaces.
Explicit enhancement options are managed by enhancement spots and enhanced by enhancement implementations.
Implicit enhancement options are:
● Specific options in ABAP programs – such as the end of the program – which can be enhanced by source code plug-ins.
● Parameter interfaces of function modules, which can be enhanced with parameters.
● Attributes and parameter interfaces of global classes, which can be enhanced with attributes or parameters.
● Enhancement of a Web Dynpro object.
Implicit enhancement options always exist and do not require enhancement spots. They are also enhanced by enhancement implementations.