BADI stands for Business Add-Ins, which is an enhancement technique that facilitates a SAP programmer, a user, or a specific industry to add some additional code to the existing program in SAP system. It is an object-oriented method of user exits, where each BAdI has a definition and more than one implementation. BADI is used to hook custom enhancements to SAP functionality, and it allows customers to include their own enhancements in the standard SAP application.
A BADI must first be defined and then implemented to enhance SAP application. While defining a BADI, an interface is created. BADI is implemented by this interface, which in turn is implemented by one or more adaptor classes. A BAdI consists of an interface, filters, and customizable settings, which allows developers to customize the behavior of the BAdI implementation according to specific requirements, providing a tailored solution that aligns with business processes.
To create a BADI, you need to create a container for the BAdI, which is a (simple) enhancement spot. This is the container in which you develop your BAdI. A BAdI interface has to implement the interface if_badi_interface. By completing the steps above, you have created an enhancement spot and a BAdI with an interface. The interface has one method so far.
In summary, BADI is an enhancement technique that allows developers to add custom functionality to standard SAP applications or custom solutions without altering the original source code. It is implemented by an interface, which is created by defining a BADI, and it allows customers to include their own enhancements in the standard SAP application.