Compared with earlier releases, the software delivery process now looks quite different. Previously, only two parties were involved in the delivery: SAP produced the software, and delivered it to its end-customers. Customers could enhance this standard using customer exits.However, now that the software is more component-oriented, more parties have become involved in the process: SAP provides the R/3 standard to each SAP Industry Solution, which uses it as a basis to add on its own encapsulated functions. The next link in the chain might be a partner firm, which builds its own Complementary Software Program (CSP) solution based on R/3. The last link in the chain is the customer, as before.
All of the parties involved in this process are potential users and providers of enhancements. This requirement cannot be satisfied by customer exits, which can only be used once. Consequently, SAP developed a new enhancement technique in Release 4.0, which allows enhancements to be reused.Business Transaction Events (BTE) allow you to attach additional components, in the form of a function module, for example, to the R/3 system.
Business Transaction Events use one of the following types of interfaces:
Publish & Subscribe interfaces
These interfaces inform external software that certain events have taken place in an SAP standard application and provide them with the data produced. The external software cannot return any data to the R/3 System.
These interfaces are used to control a business process differently than the way in which it is handled in the standard R/3 System. They intervene in the standard process, and return data to the SAP application.You can attach various external developments to the R/3 System. You can create additional developments using the ABAP Workbench.The example above pertains to Publish & Subscribe interfaces. In this case, data only flows in one direction - from the SAP application to the additional component.SAP application developers make interfaces available to you at certain callup points in a transaction.You can deposit additional logic at these points.
In a very basic scenario, SAP partners and customers can use the interfaces themselves. In this case business transaction events function in much the same manner as customer exits (see the unit on "Enhancements using Customer Exits").
In contrast to customer exits, business transaction events allow you to use an interface for multiple types of additional logic.If this is the case, you must decide which bit of logic you want to execute at what time.Both of your enhancements exist side by side with out impeding each other; however, at runtime only one of the enhancements can be processed.
Publish & Subscribe interfaces:
Allow you to start one or more (multiple) additional operations when a particular event is triggered. They do not influence the standard R/3 program in any way.Multiple operations do not interfere with each other.Add-on components can only import data.Possible uses: Additional checks (authorizations, existing duplicates, and so on)
In contrast to Publish & Subscribe interfaces, data exchange takes place in both directions with process interfaces. This influences the number of additions that can be attached to the interface.When an event is triggered, a process in the standard program can only be replaced by a single external process using the process interface.
If you are using an add on from an SAP partner that uses a process interface, this enhancement is processed at run time. If you choose to use this same process interface for one of your own developments, the partner enhancement is dismissed and your own enhancement is processed at run time instead.
The graphic shows the flow of an SAP program. The program contains an enhancement in the form of a Business Transaction Event. The program calls a service function module, which determines and processes the active implementation of the enhancement. The naming convention for these function modules is OPEN_FI_PERFORM_
My SAP Project safety and security