BADI Introduction and Usability in SAP ABAP

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.

Post a Comment

Previous Post Next Post