This requirement can be addressed by creating a special BADI that will implement the missing functionality. BADI allows more complex system infrastructure that can include SAP, country-specific versions, industry solutions, customer developments, and so on. There are two kinds of applications of BAPIs. Second, they can be defined as interfaces that are implemented outside of an SAP system but can be called from within the SAP system.
BAPI is commonly used for setting up a synchronous communication interface between two parties. It is identified with a three character code that tells the SAP system that a custom chunk of code needs to be executed at a predefined point of a standard SAP program. If a code starts with S letter, it is a standard user exit delivered by SAP.
If a code starts with U letter, it is a custom user exit defined by a user. Inside a user exit it is possible to read and change almost any data local or global from the host SAP program. Therefore, user exits give you a lot of flexibility but this flexibility comes at a price of the higher risk to make a critical error that would lead to an ABAP dump or inconsistency in database records.
User exits allow developers to modify SAP programs by modifying their data objects and program components. On an upgrade, every user exit has to be re-implemented and verified that it complies with the original but now updated standard SAP program.
As a result, you have access to pretty much anything the program does. This means you can do pretty much anything but with power comes responsibility. Additionally, the user exits gets activated whenever you activate the standard program. SAP customer exits are like SAP user exits: they are special points where customers can implement their own logic.
Unlike user exits, customer exits cannot change program components or data objects in the standard SAP program. After you activate a customer exit in an SAP standard program, it calls an empty function module. So when the SAP standard program calls the user exit, the user exit calls the function module, and the function module calls your code:.
BADI definition assigns the exit point for the source code of the object while BADI implementation allows including necessary code without changing the original source code of the object. There are several advantages of BADI.
The enhancement techniques in BADI uses object-oriented methods. Other than customer exits, Business Add-Ins no longer assume a two-level infrastructure SAP and customer solutions , but instead allow for a multi-level system landscape SAP, partner, and customer solutions, as well as country versions, industry solutions, and the like. Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces.
Post a Comment. The main characteristic of a BAdI is that it provides a mechanism to change the functionality of a well-defined business function without making changes to the delivered source code. Future upgrades of the original business function can be applied without losing the customer-specific enhancements or the need to merge the changes.
A BADI can be used any number of times whereas standard enhancement techniques can be used only once.
0コメント