BTE in Payment Run' and Dunning'
BTE in Payment Run' and Dunning'
Technical Articles
Ponnaganti Vasudha
November 8, 2019 | 8 minute read
Follow Hi All,
In this blog post I would like to share basic knowledge on BTE in technical point of view.
Like
You will find several blogs on BTEs, while implementing BTE for Payment run and Dunning I must
go through all those links to get a basic idea on how payment run and dunning works. So, I
RSS Feed thought of posting this blog where we would find all the basic points at one place.
Topics discussed:
Like user-exit, badi and enhancements in SD module, we have two important enhancement
technics in FI module in SAP ABAP.
1. Substitution user-exits
2. BTE (Business Transaction Events)
In this blog I am going to give a basic idea on role of BTE in “PAYMENT RUN” and “DUNNING”
from technical point of view.
TCODE (FIBF)
BTE is one of the enhancement techniques available in SAP that can be used by SAP, third
party vendor(partner) and customer.
BTEs are generally found in the general ledger accounting (FI-GL), account receivable and
payable (FI-AR and FI-AP) and sales and distribution components.
A BTE has a predefined interface and allows you to attach additional functionality in the form
of a service function module.
The BTE is called by the SAP standard program by a call to function OPEN_FI_PERFORM_ or
OUTBOUND_CALL_. This function checks if there are any active BTEs according to
customizing.
Publish & Subscribe interfaces: Cannot update data it is possible to have multiple
implementations 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 interfaces: Can update data, only one active implementation. 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.
P/S: If we need BTE corresponding to Publish and subscribe interface, click on (INFO SYSTEM
P/S).
Select A (Application Component) and execute. We will get all the related BTEs for (Posting
Document, Change Document, Customer Balances, Customer master, Dunning, Payment
Methods Etc.)
Select the BTE for which functionality you are looking for and click on “Pattern Function Module”
Below SE37 Screen will get opened along with the function module name
Check if you have the required variables in importing parameters. If yes, copy the function
module into Z function module and do necessary changes.
Automatic Payment Run: (F110) Main tables are (REGUH – Header table and REGUP-Item table)
In the Print out / output medium tab we will be mentioning the report with the variant.
Flow of “RFFOAVIS_DD_PRENOTIF “:
For Payment runs, we have standard function module “FI_PDF_ADVICE_OUTPUT” which calls
our adobe form or smart form which is mentioned in the report. The sequence in which our form
is being triggered is already handled by standard report ““RFFOAVIS_DD_PRENOTIF “.
The form name will be captured in the variables “PAR_AFOR” “PAR_APDF”.
In other words, if a company code has three customers with three accounting documents each,
then we will have three forms with three line items in it.
If we closely observe FM “FI_PDF_ADVICE_OUTPUT” it is automatically calling our adobe form.
Here it is enough for a technical person to create form and interface and to have his code in code
initialization. While declaring parameters in adobe interface we should declare like the
parameters in the FM. All the header and item values will be automatically available, so we need
not write any select queries to get data.
Practical examples to implement BTE:
I found BTE 2040 suitable for my development as I have REGUH (payment header table in
import parameter and FINAA as output parameter where we pass the email id to send email
If you see FINAA table, you have INTAD where you can pass email address.
Then goto Process interface and click on customer. Here, “ of an SAP application” containes all
the standard implementation already done in the system. And for futher implementations we
need to chose patner or customer depending on our requirement.
Senerio 2: Place PDF output in AL11
Loop
AVIS
AVIS_SCHREIBEN
FI_PDF_ADVICE_OUTPUT (Calling our Form and creating spool number with content in
it)
ENDlOOP
After this end loop we will all the spool details with the content in it . we have to read this spool
and place it in AL11 path.
Please refer my blog to know how to place adobe form in AL11
https://blogs.sap.com/2019/07/22/common-errors-and-difficulties-faced-in-adobe-forms-
beginners/
Since we are getting spool details at the end of “ENDLOOP”, we get all the documents for all the
customers in a company code into same spool. But we must get each document in each spool
according to our requirement. So, we must split the spool. For this we have BTE 2050.
For NACHA = 1, we can pass “X” to C_ITCPO_TDNEW so that we get new spools for every
document.
DUNNING
(F150)
What is dunning?
In SAP FI, Dunning plays a vital role in Accounts receivables. Dunning is like reminder notice to
our business partners for their overdue/open items or outstanding balances.
Dunning letter summarizes overdue invoices record and asks for payment to be made. We
configure dunning program for accounts receivable and accounts payable.
Dunning procedure
Dunning level
Dunning Areas
Dunning procedure controls the path of dunning to the customer and vendor through the
system. We can define our own dunning procedure as per our convenience. Transaction code:
FBMP.
Dunning level defines dunning text; maximum nine dunning levels are available. As the dunning
level increases, text will also change as consistent to make payment.
Dunning area means the client/company/company code in which we are working on dunning
program.
If we don’t want to run dunning program at company code level then we can also run dunning
program at organizational level like, sales organization.
Each dunning notice depend on the dunning procedure. Dunning procedure is nothing but after
how many days dunning notice should be sent. It can be for 10 days or 20 days etc.
These are configured in FBMP Transaction. Form name is also configured in the dunning
procedure level.
Click on Dunning text button, we find our form name here for respective dunning levels.
Function module to call above maintained form is configured in BTE 1720.
Since it will not update any data, it will be under P/S module interface.
Hope, you got a basic idea on usage of BTEs in Dunning and payment run.
Regards,
Vasudha Ponnaganti.
Alert Moderator
Assigned Tags
FIN (Finance)
accounting;dunning;
bte
dunning
fibf
Customer Statement/ Vendor Invoices/ & Dunning sent automatically by BTE Implementation
By chandan bhatnagar Oct 17, 2022
Vendor code addition in FBL3N report using Business Transaction Events (BTE)
By Rohidas Shinde Dec 03, 2013
Related Questions
Validation for F110
By Pradip Dutta May 20, 2020
5 Comments
Gokul Radhakrishnan
November 10, 2019 at 3:49 am
Excellent Blog Vasudha!. Informative & very useful. Keep rocking & come up with more such blogs! Thanks for sharing.
Like 0 | Share
Vigneshwaran Sivalinagam
February 26, 2020 at 10:08 am
Hi Vasudha,
Kindly help me for this scenario, For specific condition type, can we restrict the condition group 5 field..
1. Actually, I have using a condition type (zfab and zfbb - custom for example) in vk11. for this condition type, i have specific
condition group 5 (i.e, for zfab is vs and zfbb is vo).
2. While manually entering the condition type in vk11, for example zfab, in the selection screen the condition group field is
accepting both the vs and vo. but in my scenario, it should not accept it.
How to give restriction for that specific condition type. after entering the condition type in vk11.
Like 0 | Share
Santosh Kumar
August 17, 2020 at 7:43 pm
Hi Vasudha,
How do I configure Adobe form to Dunning can you give a basic Idea.
Regards,
Santosh.
Like 0 | Share
Like 0 | Share
Othur Alla mahammad
April 27, 2022 at 9:27 am
Well executed !
Like 0 | Share
Find us on
Newsletter Support