SAP mutiple use BADI and enhancement spot implementation (Business Add-In)

A BADI that has the multiple use checkbox ticked simply means that you can not only create multiple instances but also have more than 1 of them active at the same time. This is unlike a standard BADI without the multiple use option ticked, which can only have one implementation active at any one time.

There is however one caveat to multiple use badi�s, although you can have multiple implementations you can�t specify which order these will be fired in. Therefore, each implementation needs to be coded as a separate entity and must not rely on a specific execution sequence or another one being completed first i.e. you could not have one performing some checks and another updating a database based on these checks.

To be honest I can�t think of an instance where this would cause you too much of a problem. Why would you need to split connected coding across two implementations? If you have come across a requirement to do this, please add it to the comments section below as there could be ways around this limitation if required!

There may be instances if you have a multi-national company, but filter values might help with this. I will cover this in more detail at the end of this article.

One final point about Multiple use BADI�s, is that they can only have IMPORTING and CHANGING parameters.

Implementing a multiple use BADI

Well Implementing a multiple use badi is much the same as implementing a none-multiuse BADI so see that article for full step by step details...

You basically execute Business Add-In(BADI) transaction SE18, choose the BAdI option, enter a multiple use BADI name ( i.e. ADDRESS_UPDATE ) and press display. Also if you want to know which badi is executed within a particular transaction see here for how to find where a BADI is triggered


Note this BADI has the multiple use badi checkbox ticked


Now follow the usual classic BADI implementation steps i.e. select menu option Implementation->Create


and give the implementation a name such as Z_ADDRESS_UPDATE.

On the next screen enter some implementation short text and press save

Etc etc...until you you have added your desired ABAP code into BADI methods ( within the interface tab) and then activated the implementation.


Activate multiple BADI implementations
As this is a multiple use BADI you can now create a second, third, four etc implementation and activate them without any problem. But remember they will not be executed in any particular sequence and it could be a different sequence each time.


BADI with filter-depend type value
There is an alternative way to allow you to create multiple active implementations of a BADI via the use of the filter-depend option to add a filter type value. This means that you can execute a different implementation depending on the value of the filter. see here for more details about BADI's with filter


BADI related articles
  Find which BADI's are triggered within a SAP transaction
  Classic BADI enhancement
  Multiple Use BADI's
  Classic BADI with filter
  Migrated BADI to enhancement
  All SAP Enhancement


Related Articles

ABAP Enhancements - Modify SAP standard code using the SAP enhancement transaction CMOD
SAP BADI enhancement implementation (Business Add-In)
Changing SAP Data Element documentation (F1 help text)
Changing SAP Data Element field text
Find SAP BADI triggered from a SAP transaction, also find tcode from BADI name
Access values outside the SAP customer exit
SAP User Exits to Add functionality to the PBO and PAI of SAP HR infotypes
Adding fields to SAP standard Infotype
SAP User exist enhancements
SAP Field Exits implementation to update global dictionary field details
SAP filter BADI allows multiple implementations to be active
SAP migrated BADI using enhancement point implementation
Modifying Standard SAP System and help Menu options
Modifying Standard SAP System and help Menu options
SAP User exits to allow developers to enhance standard SAP functionality without modifiy SAP code