Business Add-Ins in SAP (SAP BAdI)

Preface – This post is part of the Object Oriented ABAP series.


SAP as a solution for any enterprise workflow is one of the best product available in the market. It almost covers all the possible scenarios of any business. Still, based on the requirement of the customer, a developer has to enhance the existing code. For that the developer needs to add their own code within the SAP source code. Every year SAP rolls out its new version of source codes in the form of updates. It means whatever programs or reports you are using, it gets updated yearly. In this scenario, the developer may lose their changes. To fix this issue, SAP provides some enhancement techniques which can be used to enhance the code in such a way that it is preserved for every update. One such type of enhancement is Business Add-Ins. In this article we will explore more about the concept of SAP BAdI in detail.

What is a SAP BADI

SAP BADI is an object oriented enhancement option where the enhancement is made with the help of reusable objects and added within the source code with the help of predefined hooks.

How to use SAP BADI

A BAdI is created using Enhancement spot under transaction SE80. The name of a BADI should always start with BADI_ for standard BADIs and ZBADI_ for custom BADIs.

A BAdI can be re-implemented using two elements i.e. GET BADI and CALL BADI.

Types of BAdIs

SAP provides given three ways of BAdIs Implementation:

  1. Single-Use BAdI: This type of BAdIs have no filters and are called once.
  2. Multiple-Use BAdI: This type of BAdIs allow multiple implementation
  3. Filter BAdI: A filter in BAdI helps a developer to select among multiple BAdIs with the help of filters.

Advantages of SAP BAdIs

Following are the scenarios where a BAdI implementation is useful:

  • A customer wants to enhance his product, but modification in source code is not desired. This is easily achieved with the help of BAdIs.
  • Different country and industry have different business cases for same product. This is easily achieved using multiple BAdI implementation.
  • A customer can do add their codes after delivery. The customer with the help of BAdIs can implement their own codes in the BAdIs objects later.


  • Barry Allen

    A Full Stack Developer with 10+ years of experience in different domain including SAP, Blockchain, AI and Web Development.


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.