Author: kalyan Annapareddy
Submitted: 7th july 2008
Business Transaction Events(BTEs)
This is an enhancement technique (Open FI) that were developed for Financial
Accounting component . BTEs can be used both by SAP, third party vendors and customers.
Each use their own function modules where the logic is placed, so they don't interfere with
each other .
This technique differentiates between enhancements that are only allowed to have
one implementation and enhancements that can call multiple implementations in any
This can be easily adopted / customized to the business needs wherein SAP does
not provide the standard functionality through customization or enhancements. This
functionality is primarily used in FI in the areas of dunning, credit management, banking etc.
For Example: Standard Dunning functionality in SAP sends the notice to the Pay to partner
function (based on the partner functions in SD module i.e. pay to hits the books in Accounts
Receivable in FI module), whereas the requirement could be to send the same to Bill to
party, based on the premise that the original invoice was sent to him as per the partner
functions in SD.
Difference between BADI's and BTE's :
The concepts behind the Business Add-Ins enhancement technique and Open FI
are basically the same. However, the two enhancement techniques do differ from each other
in the following points:
?? Open FI can only be used to make program enhancements, that is, you can only
enhance source code using Open FI. 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 are used enhance programs.
There are 2 types of BTE:
(1) 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.
(2) Process interfaces: 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.
-> 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)
-> Process interfaces:
. 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
. 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 runtime. 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 runtime instead.
Finding Business Transaction Events :
SAP Reference IMG -> Financial Accounting -> Financial Accounting Global Settings -> Business Transaction Events
? For Publish and Subscribe Interfaces, Environment - > Info system (P/S)
? For Process Interfaces, Environment -> Infosystem(Processes)
- Find for Character String "OPEN_FI_PERFORM" in source code
Basic Steps in Configuring Business Transaction Events :
. Make sure the application is active for Business Transaction Events.
. Identify the BTE
. Copy the sample interface function module into a "Z" or "Y" function module.
. Write the ABAP code into the source code section of the new "Z" or "Y" function module. You may choose to create a "Z" or "Y" program to enter the code into and then insert the "Z" or "Y" program into your function module source code.
. Save and activate the function module.
. Assign the function module to the event, country and application.
1. Go to IMG Menu Path: Financial Accounting ->Financial Accounting Global Settings-Business Transaction Events-> Environment-> Infosystem (Processes) or Infosystem(P/S).
2. Press on Execution button to find list of BTEs available. In next screen we can find list of BTEs.
3.Find the correct BTE which satisfy the requirement.
4.Place the cursor on BTE and click on sample function module button.
5.In next screen you will in the SE37 tcode. It will show the function module related to the that BTE .We have to copy that function module into Z or Y function module module to add the code.
6.click on copy button.
7. Specify the "Z" or "Y" function module name in the To Function Module field
8. Specify a Function Group. If you need to create a "Z" or "Y" function group, go to transaction code SE37 and follow menu path: Go to Function Groups Create Group. A function group is a logical grouping of function modules, and the ABAP code is generated for function groups. You will be prompted for a development class and transport when creating the function group.
9. In Function Builder (transaction SE37), enter the new "Z" or "Y" function module. Click on the Change button.
10. The system will default into the source code screen where you may enter your ABAP code.
11. Notice the tables available for the code. Additional tables may be declared if necessary.
12. Enter the source code as per the requirement.
13. Save and activate the function module.
14. To assign Function module to the Event, first create a product say "ZTEST".
Go to IMG Menu Path: Financial Accounting ->Financial Accounting Global Settings-Business Transaction Events-> Settings->Products->-- of a customer.
15. Click on the "New Entries" button.
16. Enter the Product name and make sure you select the "Active" check box, otherwise the BTE will not trigger.
17. Now assign the function module "Z_SAMPLE_PROCESS_00001120" to the Event.
Go to IMG Menu Path: Financial Accounting ->Financial Accounting Global Settings->Business Transaction Events-> Settings->Process function modules->-- of a customer.
18.Test the BTE by creating posting document.
© 2006 SAP AG 8