Break the rules! Change them without interrupting the process! How to change HFM rules without disconnecting all users?
Everybody knows that when you need to update HFM rules, it means you need to disconnect users from the application. For worldwide companies it might be very difficult to identify a period of inactivity because their HFM application is used in all time zones. It might be useful to have a way to update calculation rules without having to disconnect everyone.
How is it possible?
It is possible by using the simple VB command “execute”. With this command, you can run a script located anywhere. You can write your rules script in a file located on HFM server. In your rules .rle file you only have to execute this “external” script. And it works!
With this configuration, you will be able modify your script file anytime you want. The modification will be taken in consideration without .rle file loading needed.
You will have to pay attention to Noinput and Input rules which are executed while loading a .rle file. So, if you have to update your Noinput rules, it is recommended to load the .rle file after noinput rule modification.
In the following example, the rle file contains only the following script. The entire rules script is located in HFM_Rules.rle file on the desktop of HFM server.
For rules modifications, only HFM_Rules.rle file needs to be updated.
- Update rules without interrupting the closing process
- It can also be a way to protect HFM rules from extraction. Only administrator users with access to the server can view and modify the script file.
- It can help developpers to work on the same set of rules separated in many files. For example, each system Sub can be stored in a separated file. One developer can work on Sub Consolidate rules while another one works on Sub Translate rules. Both in the same application.
- Debugging will be affected. In case of blocking error on a line of the script, administration console will not display the proper line number. You might have to use a workaround by loading a complete set of rules to get the line with error on the console
- As Noinput rules are run while loading the set of rules, after a change in Noinput rules you will need to load the .rle file to refresh noinput cahe.
Thank you for reading. Do not hesitate to share your comments below.