Tuesday, January 3, 2017

FDMEE (PSU210), diving into the patch! - Part 2

In my last two posts I went through new PSU210:
In this new post, I will continue with the new features, especially executing custom scripts from command line.

Running Custom Scripts from Command Line (executescript batch utility)
I'm going to keep it simple so I have created two custom scripts having application COMMA4DIM assigned as target application:
  • Custom script with no parameters
  • Custom script with one static parameter
The two scripts simply write a debug entry in the FDMEE process log:
I have registered the two scripts as follows:
When having parameters, it is important to know that Display Name value will be passed in the command line. I will show more details below.

If you are familiar with custom scripts, you may have noticed that they are actually treated and stored as reports. Indeed you can run a SQL query on TREPORT table to see them:
Script parameters are also stored in TREPORTPARAMETER:
Batch Utility executescript
This new command line utility allows us to execute custom scripts either from Windows or Unix systems. We already copied the bat/sh utility when applying the patch. Now we will see how to use it.
Bear in mind that the new admin guide has not been released yet (maybe it is already when you read this post), so I may have to update some details later.

Update 13/1/2017: admin guide is now released. However, this topic is not well documented, probably a documentation bug.
Syntax is quite similar to the one used for runreport utility:

executescript <user> <password> "<script name>" <parameters> <execution mode>

  • user is the FDMEE user running the script
  • password can be either the hard-coded password or a file with encoded password (-f:filename)
  • script name is the name registered in Script Registration page (not the python script filename)
  • parameters are the script parameters in the form "Display Name=Parameter Value"
  • execution mode is either SYNC (synchronous) or ASYNC (asynchronous)
If you are going to use an encoded password, you will find the configuration steps in the admin guide.

Executing a custom script with no parameters
If the execution request is successfully submitted, we will see the new process id:
Getting a success message in the command line window doesn't mean that the script has been successfully executed.
To verify it, we can navigate to Process Details page to see more details:
Executing a custom script with parameters
The new process id:
If the script has additional parameters, they will be passed as additional enclosed strings. For example:
executescript user password "script name" "display1=value1" "display2=value2" ...

FDMEE Process Log
I found something unexpected when I executed the script from the command line. FDMEE created two process logs, one in the global application folder and another one in the target application application folder.

For example, when executing the script with parameters:
  • Log in the target application log folder
  • Log in the global log folder

What I'm missing
If you give a try, you will notice that noting prevents you to create two custom scripts for two different target applications but having the same name. In the following example, I have a new custom script assigned to target application GRA and registered as "Script from Command Line (no parameters)". In the syntax we don't have an option for target application. Therefore, I guess FDMEE just queries the TREPORT table and gets the last one created. In my example, the script for GRA was executed instead of the first one created for COMMA4DIM:
I was also expecting a new button in the UI to show the syntax for executing the custom script from batch. We already have one for executing reports from batch utility in the Report Execution page.

Allow Unlock by Location
When enabling this new option, user will be allowed to unlock a specific POV (Period and Category) by location.
Users can unlock the POV when selecting it in the Data Load Workbench:
IMHO, POV lock feature really needs more enhancements. For example, I would like to have an easy way to have all related to this feature in one place: see all locked/unlocked POVs, lock/unlock a set of POVs in one click, etc.

Max Number of Parallel Batch Jobs
We can now specify the maximum number of parallel processed submitted by a batch in one execution. This can be configured when defining the batch:
Just a funny experiment I tried to set it as a character:
Message says value must be a signed decimal,,,but we just need a positive integer.
It doesn't raise any error when you save a negative number which doesn't make sense at all.

Export Delimiter for Mappings
This a new Global/Application/User setting to define the delimiter for mapping export files:

REST API for FDMEE  (Data Management)
As happened with PBCS and Planning, REST API for Data Management (Cloud) is now available in FDMEE. I'm not going to cover it as my colleague John is already blogging and reading his posts about REST API is highly recommended.

However, I already covered how to use the On-prem Planning REST API to load metadata from FDMEE in this post. In the same way, you can think in may integration/automation requirements which can be now easily met with REST API for On-prem Data Management (aka FDMEE).

I'm going to leave it here for today. I hope you now have a better idea about new PSU210 and what new features are provided. In any case, don't forget that this new PSU fixes several bugs in addition to providing new features.

I consider the SAP HANA integration one of the coolest new features so in my next posts I will cover this integration in more detail.



  1. Hi Francisco,

    I have installed this patch on customer, but seems like the POV unlocked based on location still did not work. Although the options is there.
    Have you try to LOCK ALL LOCATIONS in the beginning, and then choose to UNLOCK ONE LOCATION only and try to import the data?
    For me , it still did not work...

    Let me know it is only my wrong setting...

    1. Hi,
      don0t remember if i try it. Did you raise a SR with oracle?

  2. This comment has been removed by a blog administrator.

  3. Hi Francisco, I was wondering if you have ever loaded IC Transaction data from FDMEE ?? And if the answer is affirmative whether you had any way to show this loaded data in a check report, maybe comparing it against something else, for example original data loaded beforehand on ACTUAL scenario and then some ICP scenario to check if the balances loaded using the IC transaction module matched or not ??

    Thanks in advanced

    1. Hi,

      I have one customer loading IC transactions through FDMEE. Did not have the requirement to include in any check report. I think the problem would be that IC details are stored in Attribute columns which are not accesible from the check report. However you could create your own report to show values as long as they are stored in the FDMEE db

  4. Hi Francisco,

    May I know is it possible to execute FDMEE purge scripts (System Maintenance Tasks) in command line?

    I have tried to run in command line and got error "2017-08-24 11:55:46,522 ERROR [AIF]: Error in Report Generation: null".

    Many thanks

    1. Hi,

      haven't tested with runreport utility but you can do it with powershell executing the REST API


Thanks for feedback!