Business Transaction Events in SAP
Business Transaction Events in SAP
Business Transaction Events in SAP
Overview
Concept of Enhancement
Enhancement means "Adding new functionality to the standard SAP according to the requirement". Underlying concept behind
enhancements in SAP is very simple. In a nutshell, “SAP delivers a standard version of software comprised of several repository
objects. SAP anticipates that this standard version of its software may not be fit for use right away. So, it has made a provision in
its repository objects for customers to plug-in their developed repository objects. The provisions made by SAP keep looking for
the repository objects plugged-in by customers. With these plugged-in objects, the enhanced version of SAP software becomes fit
for customer’s business process”.
Enhancement Techniques
Depending on the type of repository objects which need to be enhanced and also the influences of the
technological advancements, there are various techniques using which enhancement provisions are made
in SAP software. Since, SAP ensures downward compatibility during software upgrades, SAP has to keep
supporting the enhancement provisions made in past using deprecated enhancement techniques. As a
technical consultant, we should be aware of all enhancement techniques.
The major enhancement techniques used in various SAP applications are listed below:
Customer Exits – Function Module Exits, Menu Exits and Screen Exits
Enhancement Framework
R/3 provides three "customization spots" that allow you to enhance FI/CO features without modifying the standard code. Although
often collectively referred to as "user exits," two of the three have different names. SAP Enhancements are used to expand the
standard functionality within SAP. Enhancements use function modules and are called from the standard SAP code. Each module
in the system has a set of delivered enhancements that help companies expand the standard functionality where they need it.
The Open FI Interfaces or Business Transaction Events are also used to expand the standard functionality within SAP. These events
are defined in the IMG. Business Transaction Events were new in release 4.0. They are not available for all modules and are not
called on all integrated transactions into FI as of release 4.5B. This will change with each release and should be retested.
Benefits
- Standard SAP functionality can be enhanced without modification to the standard code.
- Upgrades do not erase the functionality and it does not have to be re-transported or re-entered into the system. The
enhancements should be thoroughly tested
Let us go in detail and try to understand what is BTE, under what circumstance it can be executed and the solution which is
implemented in current business scenario.
Process
BTE is a function module (Implemented by the customer) that has a standard interface defined by SAP. The BTE is called by the
SAP standard program by a call to function OPEN_FI_PERFORM_<BTE-number> or OUTBOUND_CALL_<BTE-
number>. This function checks if there are any active BTEs according to customizing.
Structure
SAP provides sample function modules (called SAMPLES) for each event, which describes the interface and can be used as a
template for modules to be developed. To use a SAMPLE, copy it into your namespace and finish programming it.
Modules
Functional modules determine active applications or implementations for various enhancements and place these enhancements in
an internal table. The internal table defines the sequence to process the implementation of function modules. The system considers
the conditions that cause the function module to process customer attributes, such as applications, locations and products, and
displays these conditions as filter values.
Menu path
A. Go to IMG Menu Path: Financial Accounting à Financial Accounting Global SettingsàBusiness Transaction
Events:
Hence forth for our training purpose we would only use t-code FIBF.
Let us distinguish with example when publish and subscribe interface is used and when process interface can be implemented.
Examples:
1. 1. Business Scenario for BTE - Publish & Subscribe interfaces
Requirement: Display the Debit (Dr)/Credit (Cr) Indicator and Amount Column in Line items Reports for our implementation
companies in India.
According to client Accounts Dept, they would like to have Debit & Credit amount and indicators (‘Dr’ or ‘Cr’) in separate columns
in all the standard line item reports viz. FBL*N.
Currently in the existing SAP standard line item reports the amounts for Debit and Credit are shown in the same column with
positive or negative sign and the indicator shown is according to the SAP technical indicator which is S (Debit) or H (Credit). These
terminologies and the way amounts are depicted are difficult for the users to understand or report.
In the current SAP Standard Line Item Report the Debit and Credit amounts are displayed in the same column with or without a
negative sign (i.e. ‘-’). This is to be interpreted as below:
1. Amount without a negative sign indicates Debit Amount.
2. Amount with a negative sign indicates Credit Amount.
3. If the user wants to show the Dr./Cr. indicator alongside the amount then the SAP standard report displays S for Debit and H for
Credit.
However the users in Indian companies have been reporting to legal authorities as well as the management in the format shown
below:
Difficulties faced by user on the current SAP Line Item Reports
1. The user cannot split the amount easily into different Debit or Credit columns from the SAP line items, without additional
manual efforts.
2. It takes manual efforts from users to modify the debit/credit indicator manually from S or H to Dr or Cr.
3. The auditors in India may not be able to make out whether the line item is a Debit or Credit
4. Users encounter difficulties in differentiating the SAP line items when there are Partial Payments/Clearings/Debit notes or Credit
notes.
Solution and its advantages
The above difficulties can be solved by a simple configuration in FI and a minor development from the technical side.
The solution is driven by using the Business Transaction Events (BTE) for the Line Items Layout Display and by adding “Z” fields
to the line item layout structure.
A Function Module is written to populate the values into these “Z” fields whenever the BTE triggers at the time of Line Item
Display execution.
This solution will be reflected in the below line item reports
* FBL1N * FBL3N * FBL5N
Advantages of the Solution:
o This solution will have no impact to any existing configuration or development.
o The fields will be available in the line layout for all the company codes irrespective of the countries.
o These fields can be made available to any company code interested to view them in their report layouts.
o The development or customizing will not do any modification on the data in any of the database tables. It works only at the time of
line item report display.
Configuration Steps Required
Below steps shown are simple configurations that are required for new Debit and Credit Amount and Indicator columns.
1. Create a Product in Business Transaction Events(BTE):
Go to FIBF transaction code > Settings in menu bar > Products > Customer > Create one product as
ZDRCR and save.
Client would like to activate the duplicate invoice check functionality when an accounting document is
posted for vendor invoicing.
Difficulties faced by user on the current posted documents:
- Users have to manually use the change document to update the values in assignment field
- Chances are there that few documents might be missed due to manual update
Pre-requisites:
- It is a prerequisite to check duplicate invoices that you have set the indicator for the check for duplicate invoice/credit memo on
screen "Payment transactions accounting" in the vendor master.
Vendor master setting for duplicate
If we check the BSIP table it would display the duplicate entry:
SAP Note 305201 clarifies this in a more details; please read it.
The following fields must be identical for Duplicate invoice check:
Company code (BUKRS); Vendor number (LIFNR); Currency (WAERS); Document date (BLDAT)
Reference number (XBLNR); Amount in document currency (WRBTR)
Note: If the document is having any one of the above field different then the system does not consider it as a duplicate invoice.
Development Steps Required
1. You are now in transaction SE37 – Function Builder. This is the function module
(SAMPLE_PROCESS_00001110) you will need to copy into a "Z" or “Y” name function module for your
coding. Copy “ZDUP_INV_PROCESS_00001110”
DATA it_bsip TYPE STANDARD TABLE OF bsip.
DATA v_count TYPE i.
References taken:
http://scn.sap.com/
http://help.sap.com/