Definition of a Classic BAdI


An application developer who wishes to have a Business Add-In in a particular program defines the interface for an enhancement in the BAdI Builder. In the following step, he or she programs the interface call in the application program at the appropriate place. Customers can then select the add-in and implement it according to their needs.

As of Release 7.0, BAdIs should only be created within the enhancement frameworks. See Creating BAdIs.



       1.      From the SAP menu, choose Tools ® ABAP Workbench ® Utilities ® Business Add-Ins (transaction SE18).

We would like to explain the procedures using an application program as an example. There is a string conversion in the program. You want the add-in users to determine themselves how their strings are to be converted. The application developer defines an enhancement. It consists of an interface with a method. A changing parameter is used to pass on the string.

       2.      Enter a name with a maximum of 20 characters for the Business Add-In.

       3.      Choose Create.

       4.      On the following screen, enter a short text as the description for the BAdI.



Within SAP

If the customer selects this option for an Add-In, he or she has no option for creating his or her own implementations for this BAdI or for using them. In the input help, Business Add-Ins with this flag are not displayed. For more information on the checkbox SAP Internal, refer to the section Definition of a BAdI in the Enterprise Core.

Multiple use

The Business Add-In can be set for multiple use.

For more information, refer to the section Multiple-Use Business Add-Ins.


The implementation of a Business Add-In is dependent on a particular filter value.

For more information, refer to the section Multiple-Use Business Add-Ins.

In this example, we are dealing with a simple enhancement. None of the above options is selected.

       5.      Choose the Interface tab. The interface name is generated automatically and can be changed here.

Under the FCodes tab, you can create Menu Enhancements, and under the Subscreens tab you can create  Screen Enhancements.

       6.      Double-click the interface name field. The system branches to the Class Builder.

       7.      Confirm that you want to save the entries you have made. Assign a package to the Business Add-In.

       8.      Use the Class Builder to assign a method to the interface.

       9.      Now define a parameter with the following attributes:

   10.      Save and activate your entries. Use the pushbutton Back to navigate back to the Business Add-In definition.

You can now continue with the definition of the Business Add-In by executing activation in the Class Builder.

A table control now appears on the definition screen for the Business Add-In. It displays the method you have created for the interface.

When you maintain the interface methods, the corresponding executing class is generated. The generated code cannot be altered in the initial expansion phase.

   11.      Save your entries and use the Documentation pushbutton to create a description for your new Business Add-In. Remember that this documentation is very important for users to be able to understand the purpose behind the Add-In. For more information, read the section Documentation of a BAdI.

Choose Goto ® Default Coding / Sample Coding if you with to create default coding and/ or sample coding for the Business Add-In. The default implementation is executed only if no other active implementation is available. This applies also to filter-dependent Business Add-Ins.

When you create default or sample coding, do not forget to save your entries. In this way, the connection between the class and the implementation is set up.



See also:

Changes to BadI Definitions