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.
Before migrating the BADIs to enhancement spot BADIs are
called as classic BADI. After migration to enhancement spot, BADIs are called
as Kernel or new BADI.
Understand the difference between Classic BADI and Kernel BADI in ABAP
CLASSIC BADI | KERNEL BADI (or) NEW BADI |
---|---|
1.Classic BADIs are instantiated using CL_EXITHANDLER=>GET INSTANCE method. | 1.Kernel BADIs are instantiated using GET BADI statements. |
2.Classic BADIs methods are called using CALL METHOD. | 2.Kernel BADIs methods are called using CALL BADI. |
3.Classic BADIs are slower than Kernel BADIs as it is instantiated using proxy class CL_EXITHANDLER. | 3.Kernel BADIs are faster than Classic BADIs as it is directly instantiated using from BADI definition using GET BADI statement. |
4.Classic BADIs definitions are not attached to enhancement spot. | 4.Kernel BADIs definitions are attached to enhancement spot. |
5.Classic BADIs doesn't have fallback class feature | 5.Kernel BADIs have fallback class feature |
How to create custom Kernel BADI and call from Custom program