Friday, August 30, 2013

Using PyDev for Jython Scripts

Hi again!

I introduced new FDMEE scripting capabilities in my last entry.
So what´s next?
If you had time to play with new Script Editor I´m sure you already noticed few things: not interpreter, no colors, no indentation,etc.

If you come from FDM World then you will have to change your mind if you want to use Jython Scripts (they are mandatory for Import Scripts so...) If you have Java knowledge then it will be easier. And if you are Jythoner/Pythoner then you are lucky!

Even if you develop Event Scripts using VB Script you will see important differences from FDM. You can take a look to HFM Action Scripts which are located in  %EPM_ORACLE_HOME%\products\FinancialDataQuality\bin\

VB Scripts are executed using cscript (command-line version of the Windows Script Host -WSH) Therefore you need to declare input parameters for cscript, use WScript object, etc. Take a look!


For example, when data is loaded into HFM, you can see in the FDMEE process log how the HFM Action Script HFM_LOAD.vbs (see above) is executed... good for debugging :-)


So back to developing scripts. As Oracle suggests, your best option is to use a JAVA IDE to develop scripts. The most popular is Eclipse (or at least the one I´m going to use)
Is it enough? Not.
You need to install a Jython/Python Interpreter. I would recommend PyDev. You can use PyDev console to test your code and why not to learn Jython. 

To summarize your first steps:

1Install Eclipse
2. Install PyDev (follow instructions from in PyDev Site)
There is no installer for PyDev. You just have to install new software in Eclipse:


You have to configure the Jython Interpreter by selecting the Jython.jar file you want to use. I have selected the one coming with FDMEE installation as it is the one FDMEE provides:


3. Create your first project 
Don´t forget to select the Jython Interpreter you configured:


Amendment: I got some comments from colleague regarding Grammar version (thanks Craig!). Although there are more versions of Jython we will have to select the one aligned with the Jar we selected in previous step. We can check version by running command Java -JAR Jython.jar:


You can also check Jython version in any FDMEE Process log:


Grammar version can be adjusted after project has been created using the wizard (right click on project > PyDev - Interpreter/Grammar). As version provided by FDMEE is 2.5.1 we can then setup Grammar Version to 2.5 in order to ensure our Jython code will be working in FDMEE:



After project is setup you will have to add two JAR files in order to use FDMEE API objects (aif-apis.jar and aif-custom.jar which are located at EPM_ORACLE_HOME/products/FinancialDataQuality/lib). Appropiate JDBC driver is also needed. The 3 JAR files will be added as External Libraries:


4. Test the initialize script
In the FDMEE Admin guide you will find a sample script to initialize the FDMEE API. You can crate an empy PyDev module to develop it. Take into account that the parameter passed to fdmAPI.initContext function represents a valid Load ID. For example, you can find a valid one in table AIF_APPL_LOAD_AUDIT:


You can execute the script and see result in the PyDev console:


I would recommend you take a look to the new FDMEE Object Model and enjoy with new Jython in FDMEE

I wish you all a nice weekend!

FYI. You can follow us in Twitter (@akafdmee)

Friday, August 16, 2013

FDMEE PSU1 released (11.1.2.3.100)

Last week FDMEE PSU1 (11.1.2.3.100) was released by Oracle



For those who were afraid about scripting capabilities not being shipped... you are in your lucky day!

Although the new admin guide has not been published yet (surely next week) I´m going to take you through new features. The new admin guide was published yesterday (updated on 19/08)

Before starting, just one comment about installation step where you have to add a rewrite rule to your OSH configuration file:

"Add the following rile to the OSH configuration file: %EPM_ORACLE_INSTANCE%\httpConfig\ohs\config\OHS\ohs_component\epm_rewrite_rules.conf
RewriteRule ^/aif/static/(.*) /epmstatic/aif/$1 [PT]"

What about if you have just the embedded server and not OHS? There are no instructions yet from Oracle. As per my knowledge WebLogic Server doesn't provide rewrite capability. Typically these rules are specified using a separate HTTP server, that lives on top of WebLogic server, and passes on request... OHS :-)
Anyway I can show you how your nice fishes will look like:




So now, what´s new?

  • New VBS files for HFM action scripts (remember FDM?). You can take a look into them and let me know what you think.

  • Loading Journal Templates. We can now load HFM journal entries from Journal Excel Templates (like FDM). Users can download the template from Data Load Workbench

  • New target application options for HFM

  • Intersection Validation Report. We can now validate HFM data intersections (like FDM). There are two formats: Fixed (4 dims) and Dynamic

  • Append or Replace mode for File-based data loads (like FDM)
  • We can run Essbase Calculation Scripts when loading data to HP/Essbase. This feature has been really enhanced compared to FDM.
You can now configure the scope of the script, when it's executed and its input parameters (new run-time substitution variables in Essbase 11.1.2.3)


Script name must be a valid existing Essbase script :-)



or you will not be able to retrieve parameters... which you can assign values from FDMEE context including new integration options and custom values.


For the following Essbase script having 3 run-time substitution variables:


Parameters retrieved are:


  • New custom options available for Locations (like FDM Adapter integration options) and Data Rules. Really good enhancement for custom applications


  • ScriptingFDMEE now provides Jython (.py) and Visual Basic (.vbs) based scripting in order to extend and customize their solution to best fit their requirements. For the moment only 3 types of scripts in PSU1:
    • Import Scripts (Import Formats) = Jython script only
    • Mapping Scripts = Jython and SQL script
    • Event Scripts = Jython and VB script (VBS only for FDMEE on Windows! Linux... Jython)
FDMEE provides set of JAVA APIs and VB API to which users can look up and include frequently used data loads properties, or to perform common actions (... FDM accelerators?)

The new Script Editor will let you write your scripts (you can see the list of currently supported event scripts)

Some points about scripting:

    • Jython 2.5+ as ODI
    • Maybe using programming IDE :-)
    • We will talk about scripts soon
  • Open batch automates the process of loading a large number of files (batch loader). Open batch is a new type of batch definition

  • Custom Target Application (old Pull Adapter). We can now export data from FDMEE into a flat file instead of loading it to Essbase, Planning, and HFM. The file can be then loaded to an external system

  • Batch Report Execution (batch report scripts). We can run reports from command line using a set of batch/shell scripts provided in FDMEE (easy to publish reports from scripts...). Parameters can be set in a text file or being selected once the report in generated.
  • Shared Application Root Folder at Target Application Level (before it was at System Level). Let me explain this: now we will have the ability to share scripts and other files based on target application. Actually it is similar to have one FDM classic application with one target adapter although now everything is centralized within FDMEE. Folders (data, inbox, outbox) are created under the "Application Root Folder" and folders for locations under appropriate inbox folder

    • Event Scripts are defined at target application level
    • You can configure if event scripts applies to locations or not

Talk to you soon.



Friday, August 9, 2013

Say Hello to FDMEE 11.1.2.3

To be honest, I feel bit sad when I think FDM is in his last days.

It´s been some years since I started fishing data from one customer to another but it´s time to talk about present and future.

Let´s start with a formula:

        FDMEE = Best(FDM) + Best(ERP Integrator)

When ERPI was firstly released (11.1.1.3) it didn´t have many FDM features included although everybody suspected what finally happened. Next releases were taking shape and several functionality started to overlap.

Yes, ERPI was a good but transition product (FDM > ERPI > FDMEE)

We thought ERPI was going to be restricted in terms of customization but then Source Adapter and Open Interface Adapter came up. Also new source systems were supported (SAP, JDE E1, etc.) ERPI was complementing FDM with really interesting functionality.

With both FDM and ERPI we had a robust solution to load data and metadata into our EPM applications including Drill-Through and Write Back capability.

But release 11.1.2.3 announcement was hot and it confirmed that FDM had his days counted and that ERPI was re-branded as FDM Enterprise Edition (aka FDMEE).

So what will happen?
  • New 11.1.2.3 customers > FDMEE
  • Existing customers upgrading to 11.1.2.3 > FDM Classic and/or FDMEE
  • For 11.1.2.4, everybody in the house  ... > FDMEE
Tic Tac Tic Tac... time to migrate? Additional license fee NOT required

Are you afraid about all your custom FDM applications?
I´d recommend you not to stress yourself and let FDMEE grow.

For existing customers using FDM Classic and FDMEE in 11.1.2.3 they can still use FDMEE as source adapter of FDM like they did with ERPI:



Let me introduce you some of the new features and small piece of road map.

What´s new?
  • ODI is now installed with FDMEE
    • ODI folder created in MIDDLEWARE home
    FDMEE ODI

    • ODI Console and ODI J2EE Agent are deployed in the FDMEE Managed Server
    FDMEE J2EE Agent

    • Agent is automatically configured in ODI Topology
FDMEE ODI Agent TopologyFDMEE ODI


  • Agent is started with FDMEE Windows Service
FDMEE Service

  • No FDMEE client tool (all web-based)
  • Master and Work Repository are created in the FDMEE schema (lot of tables...)
FDMEE Schema

  • Manual configuration in ODI Topology is minimum (only for source systems and multiple instances)
FDMEE Topology

  • New access in Workspace named Data Management
FDMEE Workspace

  • FDMEE reports based on BI Publisher (no BIP license required unless you create templates with BIP). You can adjust templates with BIP Word Add-in aka BIP Desktop
FDMEE Reports

  • FDMEE application folder created from FDMEE System Settings (similar to FDM folder) Like in ERPI there are not FDMEE applications. This folder should be shared and have Write permission granted to Everyone.

  • Batch Scheduler (We can also schedule Data Load Rules)
FDMEE Scheduler

  • No manual steps when using File data source
  • Signage Enhancements (Absolute, Same As Source, Reverse From Source)
FDMEE Signage

  • SAP BW (InfoCubes) as source system
FDMEE Source Systems

  • New Security Roles (intermediate roles 2-9)
FDMEE Roles

  • Integrated with Shared Services (also Groups which are created from FDMEE Location Security)

    FDMEE Groups
  • High availability
  • LCM Support
FDMEE LCM

  • ...
What´s next?
  • Standalone migration utility FDM > FDMEE
  • Import Scripts, Mapping Scripts, Event Scripts, Custom Scripts ... Jython, SQL, bit of VB Script
  • Excel templates
  • HFM adapter functionality (Intersection, Journals, Cell Texts...)
  • Batch Loader
  • Controls Groups
  • Object Security
  • HFM and ARM Write-Back
  • Data Synchronization
  • New source and targets (ERP Projects, HPCM...)
  • DRM Integration
  • SAP BW Metadata
  • ...
We will be playing with the new features in next entries.

Good bye FDM!
Welcome FDMEE!