While working with the @CalcMgrExecuteMaxLScript Essbase CDF I came across some intricacies around using the RUNJAVA flavor of this CDF (RunJava com.hyperion.calcmgr.common.cdf.MaxLScriptFunction). I was developing some calc scripts in EAS with the intention of converting them to Calc Manager calculation rules for use with Hyperion Planning. I find the script editor in Calculation Manager to be atrocious, really just a horrible editor to work with in my opinion. My apologies to the Calculation Manager Development team at Oracle but sometimes the truth hurts. So I often use the calc script editor in EAS to do my development work and then simply cut and paste into a new calc rule in Calc Manager. All well and good you would think. But alas there are often validation issues that crop up in Calc Manager that simply do not exist in the EAS calc script editor.
Back to the original Calc Manager validation issue I was encountering with the @CalcMgrExecuteMaxLScript function. I had created a simple calc script utilizing this function to launch a Linux script on the Essbase server. The original calc script is shown below (EAS editor) with a successful syntax check. The calc script also ran successfully and properly launched the ‘wait.sh’ script.
Great, the script works properly, time to copy into a calc rule in Calc Manager. I do just that and attempt to validate and save the calc rule and…DENIED!
Now this isn’t the first time that a script that validates and runs successfully via EAS does not validate or run in Calc Manager. It drives me nuts though. I figured at first it was something with the CDF JAR file on the Foundation server, but other CDFs worked fine. After a little tweaking, I figured out that all the parameters that are passed to the function must be enclosed in quotes. In the screenshot below, you can see the RUNJAVA statement in the editor in the background. The only difference between the prior screenshot and the one below is that I’ve quoted the encryption key and the ‘-D’ flag.
Now the calc rule validates and executes. Moral of the story you may ask, quote everything when working with Calculation Manager calc rules. Also, when working with CDFs in calc rules and you’re getting validation errors similar to the one shown the screenshot with the validation error, make sure any parameters you are passing that have an identical name to a member in the outline are enclosed in @NAME().
Hey Ragnar, what are your thoughts???