BTE (Theory)

This document keeps the all theory regarding BTE (Business Transaction Event).

BTE (Business Transaction Events) : BTE is one of the enhancement  technique available in SAP that can be used by SAP, third party vendor(partner) and customer.

BTE's are generally found in Financial Accounting module (FI-AP,FI-AR,FI-GL) but also available in APO,CRM,IS
.
BTE is called by a SAP program by a call to function OPEN_FI_PERFORM_<number> or OUTBOUND_CALL_<number>.

It has a predefined interface that allows you to attach additional functionality in the form of a service function module.

Two types of interfaces are available for implementing BTE's :
1)Publish and Subscribe interface
2)Process interface

Publish and Subscribe interface:
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 returns no data to the SAP Standard System. They do not influence the standard R/3 program in any way.

Process interface:
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.

Finding and Implementing BTE's:
The corresponding BTE for a transaction can be found using the function module BF_FUNCTIONS_FIND.
Put a break-point in this FM and execute the required transaction
The value of the BTE associated with a particular transaction can be found in variable I_EVENT.


For implementation:
1) go to t-code FIBF.
2) In the menu bar Environment-->Infosystem(Processes)-->execute
Picture
It will show a list of BTE process numbers . You can read the documentation for a better understanding of the     particular BTE
Place the cursor on the identified BTE process number, click on the sample function module and copy it into a  Z FM and write your own functionality.
3) In the menu bar 
Picture
Create a new entry and enter the product name description and RFC destination if applicable.
Check the Activate Custom product (A) indicator check-box. The OPEN_FI function module for a certain customer enhancement cannot find the corresponding customer function module until this indicator is checked.

4) Now link the BTE process number, product created and the Z FM created by creating an entry in the below path.
Menu bar Settings->Process Modules -> of a customer ->

Useful Transactions related to BTE's :
BERE   Business Event Repository
BERP   Business Processes
BF31    Application modules per Event
BF32    Partner Modules per Event
BF34    Customer Modules per Event
BF41    Application Modules per Process
BF42    Partner Modules per Process
BF44    Customer Modules per Process
Overview
There are two function modules that can be used to find the BTE.
Step 1:
For Process BTE use function module PC_FUNCTION_FIND.

/wp-content/uploads/2015/07/11_762065.png
For Publish and Subscribe BTE use function module BF_FUNCTIONS_READ.

/wp-content/uploads/2015/07/10_762066.png
Set breakpoints in these two function modules and then execute the transaction where you need to find a BTE, Using the Display Account Transaction code.
To explain this a bit easier, I am using a simple transaction BCA_CN_ACCT_03, this transaction is related to Financial Services (SAP Banking Services) module. However you can use the same way whichever the transaction you would like to find the corresponding BTEs available.
Step 2: Display the transaction to which you want to find the BTE.
/wp-content/uploads/2015/07/9_762067.png
Before you hit enter after inputting in the initial screen, please make sure that your break points are active as explained in the overview.
Now hit enter or display the transaction.
Step 3: The debugger kicks off and stops at exactly where the BTE is available as show in the below screen shot.
/wp-content/uploads/2015/07/12_762068.png
These are some examples of BTEs triggered on account display, in the parameter T_FM_CUS, you can find the BTE Event and the corresponding implementations if there are any as show in the below screen shot.
/wp-content/uploads/2015/07/14_762069.png
You can also see the corresponding Business Process Interfaces in the parameter I_PROCS (Table level TPS01 and field PROCS) as shown in the below mentioned screen shot.
/wp-content/uploads/2015/07/13_762070.png
Now go to SE16 and see the exact process as shown in the screen shot above which is 0BCA1300
/wp-content/uploads/2015/07/15_762071.png
Hope this document helps all the technical consultants to find the right BTEs in their process of search.
Please do comment and rate for your queries and opinions.
In continuation with my document explaining on How to find a BTE (Business Transaction Event) in Technical way.
I would also explain on how to find the BTE in SAP Banking Services system. Technical way remains same across all SAP systems, but this is more like a functional way of finding the BTEs.
In general banks who are using SAP for their banking would have very complex integration and you will always need a place to enhance for custom validations. This document will explain finding the BTEs for “Publish and Subscribe BTEs (P/S)” and “Process BTEs (Process)“.
Step 1: The first way is to look for a BTE using customizing menu. The same process can be used for both types of BTEs
/wp-content/uploads/2015/07/16_749010.png
OR
/wp-content/uploads/2015/07/22_749011.png
Step 2: You can then search for object related BTEs using a specific attribute
/wp-content/uploads/2015/07/17_749069.png
If you choose “A – Application Component”, then the Selection Attribute help will show the components
/wp-content/uploads/2015/07/18_749070.png
You can then select a specific component, in this example for Account Closures
/wp-content/uploads/2015/07/19_749071.png
/wp-content/uploads/2015/07/20_749072.png
Execute to see the BTEs available
/wp-content/uploads/2015/07/21_749073.png


Comments