Hi ABAPers,
This particular document is very useful for those who work on SAP Financial Services Industry, especially for SAP Banking Services.
Problem Behind:
When you do any updates to Account Master by using a BAPI/BTE/BADI or infact All the LUW Programs that is being called in the Custom update Function Group. Then there is a chance of getting the Warning messages saying "GUID not found / Searching for GUID" and also a huge performance impact in several ways. This is because the Memory that is being consume by that specific processor is not being refreshed for each COMMIT / ROLLBACK.
Solution:
Registration for Main Memory Synchronization
Refer to the following notes on implementation:
Implement a refresh function module to initialize the global data on the program or function group.
- This function module does not have any parameters.
- Create event Load-of-Program in the function group or program to be initialized and call up function module BANK_REGISTER (registration for main memory synchronization).
- LOAD-OF-PROGRAM. CALL FUNCTION `BANK_REGISTER` EXPORTING I_REFRESH_MODULE = `` Transfer the name of your refresh module when you access the module. As an example, use the function group BCA_OBJ_CONTRACT (Object Layer of Contract Module Contract Anchor) and the include LBCA_OBJ_CONTRACTLOP for its LOAD-OF-PROGRAM event.
For example : Create a Function Module ZBS_CLEAR_MEMORY where you just CLEAR and REFRESH your global variables declared in the TOP Include of your Custom Function Group.
Call the FM BANK_REGISTER in the LOAD-OF-PROGRAM (In TOP Include) as mentioned below.
CALL FUNCTION BANK_REGISTER
EXPORTING
I_REFRESH_MODULE = 'ZBS_CLEAR_MEMORY'.
Post Implementation Benefits:
Better Performance in the Program Executions
Better Performance in the Parallel Processing Framework
No Unnecessary messages in SLG1/BALLOG
Quicker updates in the Bulk Account Master Updates
Please do refer to the Function Module Documentation of BANK_REGISTER to Know more about MAIN MEMORY SYNCHRONIZATION.
The Function Module Documentaiton also explains answers for these questions.
1. When must synchronization be carried out ?
2. Which Types of Transactions are affected ?
3. Which Program are affected ?
4. How does the Process Function?
There is also a better way to do this in case of ABAP Object with the Interface provided by SAP which is "IF_BANK_REGISTER".
Hope this helps all the ABAPers who are working on SAP Financial Services or SAP Banking Services.
There is also a similar kind of Function Module available in SAP CRM for Product Profile updates, Soon I will be writing another document for that.
Best Regards,
Bhargav.