Beruflich Dokumente
Kultur Dokumente
Basic concept
SAP has introduced new enhancement technique Business Add-ins from release 4.6A. Business Add-in is the new enhancement technique based on ABAP Objects. BADI is an exit point in a source that allows specific industry sectors, partners, and customers to attach additional software to standard SAP source code with out modifying the original object. The users of Business Add-ins can customize the logic according to requirement or they can use the standard logic one available. SAP guarantees the upward compatibility of all Business Add-in interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces.
BADI in detail
Business Add-ins infrastructure is multi-level system landscape (SAP, partner, customer solutions, as well as country versions, and industry solutions). Definitions and implementations of Business Add-ins at each level within system infrastructure.
Different Views
Architecture
a) The different views of the BADIs are: i. Definition view, Application Programmer can predefine the exit points in the source in which specific industry sector customers can attach additional software to standard SAP source code with out having to modify the original object. ii. Implementation view, the users of Business Add-ins can customize the logic they need or use a standard logic if available. a) Architecture:
b) User defined BADIs: i. First define a Business Add-In, application developer creates an interface for the add-in.
Enhancement management creates an adapter class that implements the interface and thus provides the interface for implementation by the customer, partner and so on. iii. The programmer/developer creates an instance of the adapter class in the application program and calls the corresponding method at the appropriate time. c) Standard BADIs: i. For Standard Business Add-ins, the interface and adapter class will be predefined by SAP. The adapter class that implements the interface and provides the interface for implementation by the customer, partner specific to business. d) Each Business Add-in will have one interface and an adapter class that implements interface. Depending on the business requirement user will implement the interface. The generated class (Adapter class) has the following tasks. i. Control, the adapter class calls the active implementations. ii. Filtering, If the Add-in has to be executed under certain conditions, then the adapter class ensures that only certain implementations will be executed.
ii.
Technical Details
e) BAdIs are contained in the system and are fully operational as of Release
4.6B. SAP creates Add-ins for specific programs, menus, and screen enhancements for standard R/3 applications. This Add-ins doesnt contain any functionality. Instead you can add-on functionality onto these hooks. f) Customers can find the enhancements in their system in the implementation guide and in the component hierarchy. If customer wishes to use a Business Add-in, he has to first create an implementation. The customer must implement the methods and the enhancements, and afterwards activate the implementation of the enhancement. The enhancements active components are then called at runtime. g) Business Add-in contains an interface and other additional components such as function codes for menu enhancements. Business Add-ins also includes enhancements for screens. The enhancement, interface and generated classes are all located in the appropriate application development namespace. Business Add-in implementations are created in the respective implementation namespace.
d) Double click on the interface name field. The system branches to the class builder.
e) In the class builder assign a method to the interface and define a parameter with the attributes.
f)
Save and activate the interface and navigate back to the Business Add-in definition. Now in the Badi screen, displays the method you have created for the interface. When you maintain the interface methods, corresponding executing class (Adapter class) is generated. g) Save your entries and document the description of the Business Add-in. Documentation is important for the users to understand the purpose of the Add-in.
Implementation of Badi
a) The list of Business Add-ins available in the system can be found through SAP Reference Implementation guide (IMG) or in component hierarchy. Badis definition is included in IMG so that the customer/partner can create suitable, company-specific implementations. b) In the SAP menu, choose ABAP Workbench -> Utilities -> Business Add-ins or transaction code SE19. c) Enter the implementation name and click on the create button.
e) Enter the short description for the BAdi implementation and implement the interface in the class appearing in the BAdi implementation screen.
f)
Double click on the implementation class and insert the desired source code for the implementation between the method ZIF_EX_BUSINESSADDIN~CONVERSION. And Method. In this particular example enter the statement translate parameter to upper case. Save and activate your entries and return to the change implemention screen. g) Choose Activate, now you can use this implementation when the application program is executed. Several implementations may exist for a Business Add-in but that is not used in multiple use basis. However only one implementation can be activate at any one time. But in case of multiple use of the BAdi, we can have multiple implementations activate. The instance generation of the implementing class must set the attribute as public and not as private, protected or abstract. System will give dump if you do so.
parameter. The application program provides the filter values for the implementation method. c) Filter dependent BAdi is called using one filter value only, it is possible to check active implementation for the filter value using the function module SXC_EXIT_CHECK_ACTIVE.
Advantages of BADIs
a) This enhancement technique has the advantage of being based on a multilevel system landscape (SAP, country versions, IS solutions, partner, customer and so on). b) We can create definitions and implementations of business add-ins at any level of the system landscape.
Technical stuff a) Following are the Tables which are relevant to BAdis
i. SXS_ATTRT - BAdi Definition list ii. V_EXT_ACT - Active implementations of an exit iii. V_EXT_ IMP - Implementation class for an interface+filter iv. V_EXT_M - BAdis with filters b) Transaction related to BAdis i. SE18 - Business Add-in builder ii. SE19 Implementation of Badi
iii.