Comparison of Classic BAdIs with Previous Techniques

Due to the necessity of adjusting an ABAP-based SAP system to the specific needs of a variety of customers, several different enhancement techniques have been developed in the past. A short description of each of the various enhancement techniques follows.

Business Transaction Events (Open FI)

The Open FI enhancement technique was developed in the Financial Accounting component. This enhancement technique is based on the following principle:
Application developers must define their interface in a function module. An assignment table is read in the corresponding (generated) code, and the customer modules assigned are called dynamically.

This technique differentiates between enhancements that are only allowed to have one implementation and enhancements that can call multiple implementations in any sequence desired. Both industry-specific and country-specific enhancements may be defined.

The concepts behind the Business Add-Ins enhancement technique and Open FI are basically the same. However, the enhancement techniques do differ from each other in the following points:

·         Open FI can only be used to make program enhancements, that is, enhancements to code. You cannot enhance user interface elements with Open FI like you can with Business Add-Ins.

·         Open FI assumes that enhancement will only take place on three levels (SAP - partners - customers), whereas with Business Add-Ins you can create and implement enhancements in as many software layers as you like.

·         Open FI uses function modules for program enhancements. With Business Add-Ins, ABAP Objects is used to enhance programs.

Enhancements in Transactions SMOD/CMOD

Making enhancements using the transactions SMOD/CMOD has the following disadvantages:

·         This enhancement technique assumes a two-tiered system infrastructure (SAP – customer).

·         The naming conventions do not tolerate name extensions.

Summary:

None of the techniques mentioned above can easily be extended to fulfill the requirements of a system infrastructure containing country versions, industry solutions, partners, and customers.

Business Add-Ins are to be seen as a type of generalization of business transaction events. In addition to program enhancements, menu and screen enhancements can also be grouped together in a Business Add-In. They can be created and used in all software layers.