Define an interface for the enhancement in the SAP menu under Tools ® ABAP Workbench ® Utilities ® Business Add-Ins (transaction SE18) and call this interface at the appropriate point in their application program. Customers can then select the add-in and implement it according to their needs.

Example:

You want to be able to convert strings in your application program. You also want users to determine how their strings are converted themselves. As the application developer, you define an enhancement consisting of an interface with a method. A changing parameter is used to transfer strings.

To create an add-in like this, proceed as follows:

1. Choose Tools ® ABAP Workbench ® Utilities ® Business Add-Ins (transaction SE18)

from the SAP menu.

2. Enter a name for your Business Add-In containing a maximum of 20 characters.

3. Choose Create.

4. On the subsequent screen, enter a short description for your Business Add-In.

The option SAP internal is used when a developer at SAP provides a business add-in with implementations. If this flag is set, customers cannot create and use their own implementations for this business add-in. The possible entries help does not display business add-ins carrying this flag.

If this enhancement is going to be used multiple times or if you want its implementation to depend on a specific filter value, select the appropriate check box in the category Type.

This example only deals with basic enhancements, therefore neither of these check boxes should be selected.

5. Choose the Interface tab.

The name of the interface, which is generated automatically, now appears. At this time, you can change the name of the interface if you so desire.

7. Confirm that you want to save the entries you have made. Assign your add-in to a package.

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 changes. Use the push button Back to navigate back to Business Add-In definition.

If you do not activate your attributes in the Class Builder, the system will not allow you to proceed with Business Add-In definition.


A table control now appears on the definition screen containing the method you have assigned to the interface.


Whenever you assign a method to an interface, the corresponding executing class is generated. The code generated cannot be altered in the initial expansion phase.


11. Save your entries and use the Def.-Docu. push button to create a description for your new Business Add-In. Be aware that this documentation is of great importance in helping end users understand the purpose of your add-in.

Changes made to the interface and changes made to the Business-Add-In definition are always incompatible!


If implementations already exist for a Business-Add-In definition, they are invalidated if you make changes to the interface. This means that their syntax is no longer correct. No statements can be given on the runtime behavior. Try to absolutely avoid making changes to the interface or the Business-Add-In definition after the transport has taken place.


If changes to the interface are inevitable, clean up the method includes for all implementing classes, that is, all classes for which Business-Add-In implementations are used. To do this, in the Class Builder (using transaction SE19, tab Interface, field Name of implementing class) choose Utilities ® Clean up ® Method includes.


Default and Sample Code


In the BAdI Builder, you can choose the Goto menu entry to create, display, change and delete default or sample code.The default implementation is only executed if no other active implementation is available. This applies also to filter-dependent Business Add-Ins.When you create default or sample code, do not forget to save your entries to ensure that the link between the class and the implementation can be established.


Calling Add-Ins from Application Programs


When you define a Business Add-In, enhancement management generates a class that implements your interface. Application developers use factory methods to create instances of these adapter classes in their application programs and call the corresponding method if necessary.


The adapter class methods generated by add-in management decide if multiple active implementations should be called. If necessary, these implementations are subsequently executed. The application program itself simply calls the adapter class methods; it does not know which implementations are actually being called.



Serkan AKKAVAK

Computer Engineer

SAP Department Deputy Manager

Contact : serkurumsal@yandex.com