There are several scenarios in SAP where there are pre-defined places where you can influence the program flow. One of the approaches how to do this is technique called Business Transaction Events (BTE)
- Find BTE
To list all available events call transaction FIBF and go to
Menu->Environment->infosystems(processes) and press Execute
- Choose the required BTE
Let’s assume you want to restrict parked document to be posted and allow this only to selected users – we can see that process 00002213 is the correct one for our scenario.
- Let’s assume we have a table containing list of users who are allowed to posting like on the picture below.
- Create a function module that will contain our restriction code
- Create a new cutomer PRODUCT
Run transaction FIBF and go to Menu->Settings->Products->of a customerPress New Entries and input a PRODUCT name and check ACTIVE checkbox which is very important to trigger BTE, if unchecked then this BTE will not be triggered.
- Assign process module to our new PRODUCTRun transaction FIBF and go to Menu->Settings->Process modules->of a customer
Press New Entries and input process number (00002213) our new function module name (ZSAMPLE_PROCESS_00002213) and the new PRODUCT name (ZPARKDOC) and save the changes.
- Testing scenario:
Post a document which has already been parked by user not present in the table defined in step 3.