Business Add-Ins (BAdis) are a SAP enhancement technique based on ABAP Objects. Two parts - Definition and its Implementation - definition can either be SAP provided or user may also create it.
How to find BAdi
You can look for BAdi definition in IMG and in component hierarchy. But there are some easier methods to find a BAdi. They are follows:
Method 1
These steps should enable you to find a BAdi related to any transaction in a matter of minutes.
1) Go to the transaction SE37 to find your function module.
2) Locate the function SXV_GET_CLIF_BY_NAME.
3) Put a breakpoint there.
4) Now open a new session.
5) Go to your transaction.
6) At that time, it will stop this function.
7) Double click on the function field NAME.
8) That will give you name of the BAdi that is provided in your transaction.
Method 2
1. Goto SE80, open CL_EXITHANDLER (Class)
2. Goto Method, GET_INSTANCE
3. Set a break point at
CALL METHOD cl_exithandler=>get_class_name_by_interface
EXPORTING
instance = instance
IMPORTING
class_name = class_name
CHANGING
exit_name = exit_name
EXCEPTIONS
no_reference = 1
no_interface_reference = 2
no_exit_interface = 3
data_incons_in_exit_managem = 4
class_not_implement_interface = 5
OTHERS = 6.
CASE sy-subrc.
WHEN 1.
RAISE no_reference.
WHEN 2.
RAISE no_interface_reference.
WHEN 3.
RAISE no_exit_interface.
WHEN 4.
RAISE data_incons_in_exit_managem.
WHEN 5.
RAISE class_not_implement_interface.
ENDCASE.
4) Now open a new session.
5) Go to your transaction.
6) At that time, it will stop this function.
7) Double click on the function field EXIT_NAME.
8) That will give you name of the BAdi that is provided in your transaction.
Method 3:
1. Goto ST05
2. Select SQL trace and buffer trace
3. Activate trace
4. Now run your transaction
5. Deactivate trace
6. Display trace
7. A pop will come
8. Select following objects (Views)
9. Now display the trace results. It will return all the BAPI and enhancement list in order of their execution.