Sunday, March 29, 2015

Executing .Bat files from Calc Manager

Few days back, I had an opportunity to discuss on capability of Calc Manager to trigger .bat files. A fellow colleague of mine happen to have this requirement and had written a CDF to call a batch script. I was not convinced to write a CDF to perform such activity and believed to have some option using which we can avoid writing CDFs.
Most of us have used Maxl and must be aware of the command ‘Shell’. This command triggers underlying operating system commands from within Maxl shell session. This is our easy way to do what we want. With the introduction of Calc Manager CDFs @CalcMgrExecuteEncryptMaxLFile and @CalcMgrExecuteMaxLEnScript, we now have ability to trigger Maxls from within Calc Manager. All we need to make sure is all such requests are sent to Essbase Server and bin folder under Essbase path is our starting point.
Lets use Oracle sample application Vision and Calc Manager to test out.
  • Create a batch file Test.bat. This file accepts a run time parameter and simply writes it to a log file
  • Create a RTP to accept Version member from a webform
  • Create a business rule which uses RunJava version of the Calc Manager CDF to execute Maxls. We intend to pass the RTP member name as parameter to the batch file which should be written to log file. CDF function requires use of exit keyword if we intend to pass parameters. In this case, RTP member is passed as parameter. We need to enclose it within double quotes to make it act as parameter
  • Lets associate this rule as a menu item to a form from Vision app and select the version to trigger this
  • Since we unchecked the ‘Hide Prompts’ option, it displays the selected member during execution of rule

  • This triggers the Test.bat file and a log file gets generated with the version name written into it
I noticed a peculiar way application was handling the RTPs, it tend to cache the RTP value that was used during first execution. On executing this rule with different version members, it returned the same member name. Though this would get fixed if we restart out Planning services once. Seems to be a potential bug where RTP values are not updated during subsequent executions.
Hope this helps !!!

Thursday, February 19, 2015

Calc Manager - Buggy ? Already ?

While exploring different features under EPM release, I happen to stumble upon an interesting setback in Calc Manager which I believe is a potential bug. 

The issue occurs when we try to write business rules for Essbase applications and deploy them. It all started with me trying to explore how business rules with RTPs can be executed from Essbase. Interestingly, it the script editor which is buggy while the designer mode works perfectly. I used Sample.Basic, which comes with installation to test out my findings.

  • Created a runtime variable PeriodApp of type member which belong to dimension Year from Sample.Basic
  • Created a new business rule 'LNCHTST'. Select the 'Script' mode and type in a simple command to copy data from one period to another. And target is a runtime prompt.

  • When I try to validate this rule, I get a popup asking for RTP value. Bang !!! Script validation throws an error. I could not determine as to what is the issue. I double checked my rule to make sure I did not make any stupid mistake.

I did try a lot of workarounds to see if I am doing anything wrong, but nothing seem to work out. Then I tried creating the same rule using the designer mode of Calc Manager. Rule name LNCH2 using the same variable and script. To my surprise, it validated without any errors. Definitely, there is something fishy with script editor.

I went on deploying both the rules to Essbase to check how they get translated to Essbase scripts.
As per Calc Manager documentation - "When you deploy Essbase business rules with runtime prompts to Essbase, you can use Administration Services, MaxL, or any component that can launch a calc script to launch the business rules. When you deploy these business rules, they are converted to Essbase calc scripts, and the runtime prompt variables are converted to RUNTIMESUBVARS in the Essbase script"

The rules after deployment get converted to RUNTIMESUBVARS, but there is a catch between the two rules. The rule created in script editor did not deploy correctly in Essbase. We can find {PeriodApp} variable written as it is in the script. This would also fail when we try to execute this calc at Essbase level. While the one created using designer mode translates well to replace the RTP with RUNTIMESUBVAR. 

At the same time I wanted to check how the rules look like when they are exported. I opened them in XML Notepad and compared side by side

I just named it into different sections to compare. To my surprise where is Section 3 in the rule which was written using script mode ?? That's the issue probably .

Let me brain storm more into this and see how it can be fixed. At the same time, check if RTPs work fine on Planning. I hope they do !!!

Monday, February 9, 2015

EPM : First Look

Oracle released EPM with various new features added to the list. Having initial look at the list, it seems quite exciting to work with new release. Apart from minor enhancements and features for different products, migration of HFM application from Windows dependent platform to platform independent nature seems to be the major offering in this release. HFM's dependence on Windows had been the reason behind unavailability of HFM over Exalytics. Thus Oracle catered to this requirements to introduce ability to install HFM on Linux but it is supported only for Exalytics as of now.

Let's quickly walk through the new EPM and have a chance to look and feel the new interface. I will limit myself to basic visual changes to the interface and won't delve into technicalities.
  • Installation
Installation steps have not undergone any change except for HFM where it no longer asks for DCOM and IIS details. Similar to we can install and configure all components in single go. Configuring different databases for each component is possible too

The configurator service with a long name is no longer present in the list of services

The background processes still have HyS9 in their names and profitability still have its name starting with HyS9HyS9 similar to EPM

  • Web Interface - Workspace, Planning
Oracle has changed its landing page and introduced different colour combinations

The interface has new look and feel. I would say, it is now more crisp and pleasing. The tabs are edgy, with changes to expansion buttons - '+' no longer exists. The interface is quite similar to the PBCS version of Planning.

There is a new entry at the bottom of Planning app - 'Diagnostics'. This was initially available as a utility under tools, now has a place on left menu

The webforms have undergone changes too - Planning's sample app Vision
  • They load comparatively fast
  • The grids look more like excel spreadsheet
  • Users can use tab, shift+tab
  • No need to double-click on cells to see numbers when they are large

Oracle mentions that most of the activities are now done at client side and less requests are sent to server which enhance experience working with new forms.

And finally, Oracle planning's simplified interface. It the same planning interface running at port 8300 with a complete makeover. And guess what, it can be accessed from chrome browser too. 

This version of planning enables accessing it from mobile/tablet devices and definitely seems promising. Stay tuned for detailed analysis of different modules !!!