Using JHAT to automate HFM tasks

Using JHAT to automate HFM tasks

HFM Task Flows provides a way to automatize HFM tasks (consolidations, data extracts, etc…). JHAT tool is another way to automatize these tasks using a batch file and the HFM API. It is the former HAT updated to be compliant with the last HFM release. JHAT offers the opportunity to use any scheduler to launch HFM tasks and provide a better flexibility than Task Flows.

How does it work?

JHAT utility is present in the path hereunder:


The batch file embeds all libraries, paths and other references to execute HFM tasks:

  • Home settings

  • Library settings
  • Java and JHAT execution settings

Before the first run, it’ mandatory to create “setenv.cmd” file and set the parameter EPM_ORACLE_INSTANCE_FOR_JHAT to point to the EPM instance:

JHAT usage

A text file provides the tasks to be executed against HFM. Basically, the structure of the file is as below:

  • Logon()
  • OpenApplication()
  • SetPOV()
  • Consolidate() (or other HFM function)
  • CloseApplication()
  • Logout()

For example:

You only have to provide the file previously create as argument and call the utility to run the task:

jhat.bat -I E:\JHAT\test.txt

Use “jhat.bat -H” command to explore the available options:

This utility can be used to launch consolidations, data load, data extraction, etc…

Some available functions from the HFM API:

  • LoadSecurity
  • ExtractSecurity
  • LoadMetaData
  • ExtractMetaData
  • LoadData
  • ExtractData
  • LoadRules
  • ExtractRules
  • Allocate

As the tool is based on batch file, it’s easy to schedule using Windows Task Scheduler or any other enterprise scheduling tool (Control M, Dollar U, etc…).


Next article Loading many columns in FDMEE
Previous article Hyperion Financial Management On-Premise Roadmap


  1. hi Nguyen, this looks interesting, but we are using HFM and I couldnt find this JHAT tool in our installation folder, nor on Oracle support site. Do you have more information on this that how it can be installed or from where to get it? Thx


    • From Oracle support:

      For versions prior to, there was a third party command line utility called HFMCmd (you can google it and find it for download). But it was written with the Windows HFM API which went away with For, look into JHAT which is supported by HFM.

  2. Hi Daniel,

    Please find below an example for extract data:
    ExtractData(“c:\\Voyager\\Data_Extract.dat”, “c:\\Voyager\\Data_Extract.log”, ”;”, ”YTD”, ”2000”, ”Actual”, “Entity”, ”All”, “1”);

    The last “1” is for the “dynamic data”. Choose “1” to extract dynamic data and 0 if you don’t want to.

    Kind regards,


    • Hi Niza,

      I called the function ExtractData by using this line ExtractData(“myfile.dat”, “mylog.log”, “;”, “YTD”, “2018”, “ACTUAL”, “MyEntity”, “All”, “1”, “True”) ;

      I got a NumberFormatException error message on “MyEntity” parameter. Is it supposed to get Integer type value ?
      I can’t figure out. Could you help me.


  3. Hi,

    for the Entity you must use lists.

    Below an exemple for the Entity dimension:

    InitLists ();
    AddItemToList(“1″,”Entity”, “NEONN”);

    then you must use “1” for the Entity field.

    Best regards.

  4. Hi,

    This is great information.

    I am able to run translations using below function for an entity, but when I am trying to run translation for a list of entities (member list) then it’s giving me an error “The POV selected for this function is invalid”.

    Could you help me?

    SetPov(“ACTUAL”,”2018″,”Oct”,”YTD”,”Entity_NonUSD_List”,”USD”,”BS”,”[ICP Top]”,”Cust1″,”Cust2″,”Cust3″,”Cust4″);


  5. Hi Bhuvaneswari,

    You have to ask your HFM developer to give you the right POV to use for the translate.

    It depends on the application structure.

    Best regards.


Leave a Comment

Your data will be safe! Your e-mail address will not be published. Also other data will not be shared with third person. Required fields marked as *

thirteen − ten =