Business Add-Ins

What is a BADI?
What do you understand by BADI?

Business add-in (BADI) is a source plug-in provides enhancements to the standard version of the system. The enhancement technique uses the object-oriented method.
BADI accommodate specific user requirements involved in standard delivery of the business process. These are customer specific and not provided by standard code in SAP.
BADI provides a mechanism to change the functionality of a well-defined business function without making changes to the delivered source code. BADI implementations are classes that implement the BADI interface.

How does BADI typically enhance the program?

BADI is the enhancement to add some additional functionality to the existing application program by the SAP programmer or user. A customized or standard logic to enhance the SAP system functionality. BADI should be defined to create an interface and implemented by one or more classes to enhance the SAP application.

What is the difference between BADI, and user Exits?

BADI is object oriented however user exits is not. BADI is client independent however user exit is client dependent. In BADI, multiple implementations are possible. In User Exit, multiple implementations are not possible.