What is a classic BAdI?
BAdI stands for Business Add-In. These are like user exits but are implemented using ABAP Objects. BADIs can be implemented in every stage of the systems landscape. That means there are more than SAP and Customer specific views, but also country or language specific views.
They are named "classic" BAdIs since the concept "new" BAdIs was introduced in NetWeaver 7.0 (along with enhancement framework and switch framework).
For each Business Add-In you have one interface and an adapter class that implements this. The interface is implemented by the user.
The generated class (Add-In adapter) has the following tasks:
The adapter class calls the active implementations.
If a Business Add-In is to be executed only under certain conditions, the adapter class ensures that only certain implementations will be executed.
More information can be found inSap Library
How to Search BADI for a Transaction?
?Finding BADI Using CL_EXITHANDLER=>GET_INSTANCE
Go to the Transaction, for which we want to find the BADI,
Get the Program Name of Corresponding Transaction.
(Click on System->Status. Double Click on Program Name)
Once inside the program search for 'CL_EXITHANDLER=>GET_INSTANCE'.
Make sure the radio button "In main program" is checked.
A list of all the programs with call to the BADI's will be listed.
The export parameter 'EXIT_NAME' for the method GET_INSTANCE of class CL_EXITHANDLER will give you the BADI name for the Transaction.
?Finding BADI Using SQL Trace (TCODE-ST05).