Main Memory Synchronization – BANK_REGISTER
This particular document is very useful for those who work on SAP Financial Services Industry, especially for SAP Banking Services.
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.
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
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.