New BAdIs
If you are planning new enhancements, BAdIs are the most important explicit enhancement technology for you. In the context of the SAP Enhancement Frameworks, BAdIs are specially designed object plug-ins. With BAdIs you can create specified enhancement options via an object-oriented interface and implement these options in the same or other systems at a later stage. BAdI implementation methods are called using a BAdI handle, which functions like an object reference syntactically but is technically implemented somewhat differently. If one or more filters are defined for the BAdI, you can, when calling the BAdI, select the BAdI implementations that meet specific filter conditions by passing these as parameters.
Unlike source code enhancements, in which user-defined code is inserted, BAdIs enable enhancements for which the developer of the code unit to be enhanced defines an enhancement option, but also specifies the interface for this enhancement. Developers thus have more control over enhancements. For this reason, BAdIs are a better prestructured enhancement option.