SAP Business Add-ins (BAdIs) are one of the most important features used to adapt SAP software to different requirements. Based on object-oriented methods,they represent a new SAP enhancement technique that was first introduced in Release 4.6 and have been used widely ever since: Over than 5000 BAdIs were used in SAP systems before the release of SP7.
Now let’s focus more on the way they work. SAP BAdIs intend to add certain requirements involved in business process that could be too specific for standard use cases. How is that?
The answer is quiet simple: They allow the creation of enhancement interfaces that could be implemented later by the individual industry solution, partners or even customers.
SAP offers different types of BAdIs like internal ones which can only be implemented by SAP. In this case customers can only control their activation using Switch framework (transaction FIBF). There are also multiple use BAdIs that can have any number of implementations. Once we call the BAdI, they will all be called up in a predefined sequence. We will now concentrate on filter based BAdIs in order to illustrate BAdIs usefulness.
Filters allow controlling add-in implementation and making it dependent on specific criteria: Imagine the case of SAP ERP that comes with a standard finance/accounting algorithm, but the end-user need to integrate specific calculations related to each site according to the country financial law. In this case BAdIs could easily solve the problem by associating different filter values to different treatments.
We first discovered BAdIs while developing customer specific dashboards based on the Dashboard framework and SAP BW. We wanted to have a way to intercept BW queries by having a pre or post processing. BAdIs did not only allow us to do that, but also replace complicated queries, set data in the DB, initialize the dashboard or launch external links from it.
Exited enough? Wait until you find out that SAP actually allows you to create extensible programs by exposing your own BAdIs.
We should finally mention that BAdIs should not be confused with USER-EXITs: BAdIs can be used any number of times while USER-EXITs can only be used once. You might also cross BAPIs in some tutorials. Well be careful, their names might look alike but they have total different meanings. BAPIs are Business Application Programming Interfaces and have the role of a communication platform for application development.
Author- Marwa ZITOUNI