Introduction to BADI:
BADI stands for Business Add-in. BADIs are used to implement
custom functionality as per client requirements in standard SAP code.
·
BADIs follow object-oriented approach.
·
They are implemented as part of methods in class.
·
BADI interface name starts with IF_EX.
Advantages over Customer Exits:
·
BADIs can have multiple implementations.
· Implementations
can be restricted using filter criteria.
Transactions Used for BADI
· SE18
– BADI Definition
1.
Goto transaction SE18 and enter BADI name to
display the properties of that BADI.
2. Properties will contain metadata, type of BADI.
· SE19
– BADI Implementation
After selecting suitable BADI for your
requirement, enter BADI name in SE19 under Create implementation – New BADI or
classic BADI based on type of BADI and click on create implementation and enter
the implementation starting with Z*. Incase if you want to edit the already
implemented BADI go with edit implementation.
There are 2 types of BADI
1.
Classic BADI
2. New BADI (Kernel BADI)
Click Here to know Difference between Classic BADI and Kernel BADI
BADI Usability:
Classic BADI
· Within
SAP / Can only be implemented internally at SAP: The BADI can be used only
by SAP standard programs
· Multiple
Use : If multiple use checkbox is selected, the BADI can be implemented
multiple times or has multiple implementations. If multiple use checkbox is not
selected, the BADI can be implemented only once or has only one implementation.
· Filter
Dependent/Limited Filter Use: If Filter Depend. is selected BADI can
be implemented with filter criteria like company code, document type or plant.
So, the BADI implementation will be triggered only for specific values which
meet the filter criteria.
Kernel BADI:
· AMDP BAdI: This checkbox is used to create BADI for ABAP managed database procedures. AMDP supports database procedures and functions from SAP HANA database.
· Fallback
Class: This option is selected to execute a default class automatically when
there are no active implementations for a BADI. It can also be used for BADIs with
filter criteria. When the BADI implementations filter values are not met,
fallback class will be executed.
What is meant by BADI migrates to enhancement spot?
Before ERP 6.0 version BADI definitions were independently
stored. From 6.0 SAP migrated the BADIs to enhancement spots which are now
called as Kernel or new BADI.
Copy the enhancement spot name and enter in SE18 -
enhancement spot field and display it.
In Enhancement spot definitions, the BADI definition, interface and from where this spot migrated will be displayed.