Business Transaction Events are also known as BTEs and they are accessible through transaction code FIBF. This post will give you an overview on BTEs and their purpose. This will additionally cover how and why to utilize them.
- What are Business Transaction Events?
- Why utilize BTE’s?
- How to Use BTEs?
- Additional Information
What are Business Transaction Events?
You can associate Business Transaction Events or BTEs with SAP enhancements. We can focus on the word “event” for now as we visualize what BTEs are.
As a consultant, you may be faced with requirements that go beyond the standard scope of SAP. This is where BTEs come into the picture.
In this case, BTEs allow you to attach a custom functionality to a certain business transaction event.
In the image below, you will notice that the standard SAP behavior would simply consist of an Event and the End of that Event. This is of course a simplified explanation for tutorial purposes.
In the next scenario, we see that we added a custom functionality (green box) BEFORE the Event ended.
The last scenario shows a high-level example of how BTEs are triggered.
We are telling SAP this: “Hey SAP, when Event 00002040 is triggered… please call the indicated custom function module before Ending.”.
The example basically explains that it is possible to add this custom functionality (non-standard SAP requirement) to certain business transaction events.
Why utilize BTEs?
This brings us to the question “Why utilize BTEs?”.
- Standard SAP does not have the functionality or requirement the client is asking for. In this case, you build and implement this functionality given that there is an existing business transaction event / process in SAP that you can work on top of.
- SAP may advise you to utilize BTEs to implement quick fixes or enhancements to certain country specific requirements etc. For example, I have encountered this approach for IBAN related concerns which I will discuss later on.
How to Use BTEs?
In the example below, we will go through transaction code FIBF for you to quickly see how to select a business event / process and link your custom function module that satisfies your client requirements.
1. Choose / Locate your business process
Tcode FIBF > Environment > Infosystem (processes)
From here you can isolate the specific business process you want to enhance/customize.
For example, I chose 00002040 for output payment advice note customization.
Take note of the sample function module linked to the BTE process.
2. Work with an ABAPer or Developer to utilize the Sample Function Module linked to the BTE process selected to build the needed custom function module.
The developer can copy that sample function module and use it as basis to create the custom function module.
3. Link the newly created custom function module to the BTE.
The custom function module can be specified following the steps below.
First create a product
FIBF > Settings > Products > of a customer
In the image below, I created a new product called “ZPMTADV” described as “Custom Payment Advice”. Note that you can leave the A or Active checkbox blank if you are not yet testing.
For RFC destination, keep that field blank. You do not need to make an entry in this field unless the additional component in question is not in the local system.
If the additional component does not run in the local system, you should enter the standard name of an RFC destination. You can read more about this by clicking on the field and pressing F1 on your keyboard.
Then link that product + custom function module to the BTE process
FIBF > Settings > Process Modules > of a customer
Below, we see that New Product “ZPMTADV”, the custom function module, and the BTE process was entered as new entry. Thus, linking the custom functionality to the BTE.
Normally, Ctr field is left empty. This is used to indicate the ISO code of the country. An entry in this field means the custom functionality is only run if the country code is active. You can read more about this by clicking on the field and pressing F1 on your keyboard.
Likewise, Appl. Field is normally left empty. You use the application code here to execute function modules assigned to the application under certain conditions only. If you make an entry in this field, a customer’s or partner’s additional component is only carried out if the entity is active that is described by the application code. You can read more about this by clicking on the field and pressing F1 on your keyboard.
Earlier, I mentioned that it is possible for SAP to advise the utilization of BTEs to implement quick fixes or enhancements to certain country specific requirements etc.
The example was in relation to IBAN concerns in Turkey. If you are curious to know more about this error and BTE advice, you may refer to SAP Note 1422201 – Turkey: Convert bank key and bank account to IBAN
This was an approach provided because at the time there was no support to do this in the system. To further specify, proposing the IBAN number from existing bank key and account number automatically in Turkey was not possible at the time.
Thus, prompting the creation of FIBF entries below. You will also notice that the “Product” coincides with the SAP Note in concern.
Of course, this is just an additional example / scenario where BTEs will be utilized.
Note that the BTEs may no longer be needed if the fixes or functionalities are covered in the latest SAP patch. For example, once the SAP system is updated to the latest patch, the BTEs above won’t be applicable anymore.
I hope this helps. Good luck! 😊