Hyperion Planning: Deploy Option is Disabled for EPMA Application

Deploy option is disabled for EPMA applications

In general, majority of EPMA deploy option grey out issues occurs only when previous deployment failed or diagnostics tests are failed.Issue should be resolved after doing below steps:

1. In EPMA Application Library, right-click on the application and select ‘Run Diagnostics’ – tick all the tests.

2. If that doesn’t work, we can adjust the AWBConfig.properties and reduce the deploy timeout. The default is 8 hours (480), you can change it to 10 minutes.

It’s here:

Restart of EPMA Web is required.





Planning Forms Error: “Because of inactivity, your session has timed out and is no longer Active Click Ok to reload the page.”

When user has multiple planning sessions of the application is opened they encounter the error below:

Because of inactivity, your session has timed out and is no longer Active Click Ok to reload the page.

This is a known behavior.

ADF maintains a fixed set of session tokens on client side and if user launches multiple pop-ups in app, they will run into this error.

This should not cause any functional loss – user can click OK on message pop-up and it should re-load the page.

To get past the error message you can bump up CLIENT_STATE_MAX_TOKENS  modify web.xml within HyperionPlanning.ear


Please perform the below mentioned action plan  ,

1) Navigate to C:\Oracle\Middleware\EPMSystem11R1\products/Planning/AppServer/InstallableApps/Common/) here you will find a HyperionPlanning.ear file

2) Using a 7zip utility open this archive and navigate to \HyperionPlanning.war\WEB-INF\

the patch in the 7zip will look like “C:\Oracle\Middleware\EPMSystem11R1\products\Planning\AppServer\InstallableApps\Common\HyperionPlanning.ear\HyperionPlanning.war\WEB-INF\”

3) in this location you will find a Web.xml file

4) Apply the solution Edit Web.xml

Look for below parameter

Change it to


Save the changes

5) When you exit the 7zip it will say the archive is modified and will ask to save the changes please save the changes

6) Delete existing weblogic deployment /tmp folder for Planning, re-starting services and checking the behavior.

Please ensure to try this on either QA/Dev/Test environment first.

Please note setting property value to a high value will result in caching of too many session tokens on client side and they need to evaluate performance impact



Hyperion Planning Utilities Syntax – Reference Guide


As we all know there are different utilities available in Hyperion planning. In this post i tried to cover some of them.

  • ExportSecurity
  • ImportSecurity
  • FormDefUtil
  • ProvisionUsers
  • UpdateUsers/UpdateNativeDir

By default, Planning utilities are installed in the EPM_ORACLE_INSTANCE/Planning/planning1 directory.


The ExportSecurity utility exports Planning access permissions to the SecFile.txt file, enabling you to export and import access permissions across applications.

  • If you specify only mandatory (not optional) parameters, all access permissions to all artifacts for all users and groups are exported. You can limit the export by specifying a member parameter (but only one member-based parameter).
  • You can specify the optional parameters in any order.
  • You can use only /S_USER or /S_GROUP, not both.
  • Use the /S=searchCriteria parameter to specify users and groups with the same name.
  • Running the utility creates a file named SecFile.txt, which contains the exported access permissions.


ExportSecurity [-f:passwordFile] /A=appname,/U=username, [/S=searchCriteria|/S_USER=user|/S_GROUP=group], [/S_MEMBER=memberName|/S_MEMBER_ID=memberName |/S_MEMBER_D=memberName|/S_MEMBER_IC=memberName|/S_MEMBER_C=memberName],[/DELIM=delim] , [/DEBUG=true|false],[/TO_FILE=fileName],[/HELP=Y]

For example, to export access permissions for a user and group named Sales, enter:

ExportSecurity /A=app1,/U=admin,/S=Sales

The exported file will have same format as SecFile.txt example in the ImportSecurity section.


The ImportSecurity utility loads access permissions for users or groups from a text file into Planning.

  • All users, groups, and artifacts must be defined in the application.
  • Before importing access permissions on a user-defined custom dimension, you must allow access permissions to be set on it by selecting Apply Security.
  • You must name the text file SecFile.txt and save it in the planning1 directory.
  • Each line in the SecFile.txt file must specify access permissions information.

Example SecFile.txt:

North America,Account101,write,@ICHILDREN


ImportSecurity [-f:passwordFile] “appname,username,[delimiter],[RUN_SILENT],[SL_CLEARALL]”

(-f passwordFile is optional)

For example:

ImportSecurity “app1,admin,SL_TAB,1”.

Use the FormDefUtil.cmd utility to move data form definitions from one Planning application to another.


formdefutil [-f:passwordFile]import|exportfilename|formname|-all server name user name application

To import one file:

FormDefUtil.cmd import c:\EPM_ORACLE_INSTANCE\Planning\planning1\form1.xml localhost admin APP1

To export one file:

FormDefUtil.cmd export Form1 localhost admin APP1

To export all data form definitions:

FormDefUtil.cmd export -all localhost admin APP1

To import all data form definitions:

FormDefUtil.cmd import -all localhost admin APP1.

The ProvisionUsers utility synchronizes Planning users, groups, and roles in Shared Services Console with a Planning application and with Essbase.


ProvisionUsers [-f:passwordFile] /ADMIN:adminName /A:appName [/U:user1[;user2;user3]] [/R:n]

To Synchronize all users in the App1 application:

ProvisionUsers /ADMIN:admin /A:App1

To Synchronize user Planner1 in the App2 application every 60 minutes:

ProvisionUsers /ADMIN:admin /A:App2 /U:Planner1 /R:60.

If you move users and groups, their identities (SIDs) change, unless you synchronize their identities between Planning and Shared Services, their assigned access permissions are lost. This command is used in concert with the UpdateNativeDir Utility. This utility and its documentation can be found in the EPM_ORACLE_INSTANCE/common/utilities/UpdateNativeDir directory. You use two utilities in concert to synchronize changes.

It is important to run the utilities in this order.
  1. Run the UpdateNativeDir utility to update user and group identities in Shared Services (refer to the documentation on usage).
  2. Run the UpdateUsers.cmd utility to update the SIDs in Planning with the changes in Shared Services.


UpdateUsers [-f:passwordFile] serverName adminName applicationName


UpdateUsers.cmd ABCserver admin Planningapp.

If your application formerly used Business Rules, but now Calculation Manager is the selected calculation module for your application, administrators can migrate launch access permissions on business rules and their projects from Business Rules to Calculation Manager business rules in Planning using this command.

  • Overwrites launch access permissions that are already assigned to business rules in the specified Planning application.
  • Migrates access permissions only for users and groups that are provisioned for the specified Planning application in Shared Services Console.

Before running HBRMigrateSecurity.cmd:

  • If you are using Classic application administration, ensure that Calculation Manager is the selected calculation module for the application (see “Specifying System Settings” on page 231). If you upgraded the application to Performance Management Architect, then Calculation Manager is automatically selected as the calculation module.
  • Migrate business rules from Business Rules to Calculation Manager. See the Calculation Manager Designer’s Guide.
  • Deploy the business rules to Planning.


HBRMigrateSecurity.cmd /A:appname /U:admin /F:C:\temp \HBRExportedSecurity.xml.


Administrators can use TaskListDefUtil.cmd (Windows) or TaskListDefUtil.sh (UNIX) to move task list definitions between Planning applications. You can export or import task list definitions to or from an XML file. When you export task list definitions, the utility creates an XML file in the current directory and logs errors in TaskListDefUtil.log in the EPM_ORACLE_INSTANCE/diagnostics/logs/ planning directory. You can copy the utility to any directory and launch it from there to save files to another directory.

TaskListDefUtil [-f:passwordFile] import|exportFILE_NAME|TASK_LIST_NAME|-all SERVER_NAME USER_NAME APPLICATION

To import one file:

TaskListDefUtil.cmd import c:\EPM_ORACLE_INSTANCE\Planning\planning1\TaskList1.xml localhost admin APP1

To export one file:

TaskListDefUtil.cmd export TaskList1 localhost admin APP1

To export all task list definitions:

TaskListDefUtil.cmd export -all localhost admin APP1

To import all task list definitions:

TaskListDefUtil.cmd import -all localhost admin APP1

Hyperion Planning Data Form Design – Things to keep in mind


while designing data forms below are some of the steps to keep in mind in HPB while development or this may lead to performance issue as well as Data retrieval.

Recommended Design

  • Keep dense dimensions in rows and columns.
  • Place sparse dimensions in the Page and Point of View (POV).
  • Place static dimensions in POV and hide these dimensions where not relevant to the form.
  • Place Scenario, Version, and Year dimensions in the Page wherever possible.
  • Use dynamic user variables and substitution variables as much as possible.
  • Use Run on Save and Run on Load for business rules on data forms only where business rules can complete execution within a short timeframe (say less than 30 sec.). All other business rules should be set to launch manually.
  • For Planning release 9.3.1 and later, set long-running business rules to run in the background. See the Hyperion Planning Administrator’s Guide for details on these settings.
  • Limit composite data forms to two data forms where possible
  • Use the Suppress Missing Data option to skip #MISSING values from resultant data forms.
  • Split single larger data forms into multiple smaller data forms with fewer rows and columns.
  • Minimize using account annotations on data forms.
  • For Planning release 9.3 and later, enable the Mass Allocate feature on data forms only where absolutely necessary. This feature runs calculation scripts that can impact data values at intersections to which the end user may not have access.


Optimal Design Example

Rows: Account
Columns: Time Period
Page/POV: Entity and other dimensions.

Sub-optimal Design Example

Rows: Entity
Columns: Year
Page/POV: Account, Time Period, and other dimensions.

Performance Considerations

  • The Run on Save and Run on Load calculation options place an additional demand on resources within the Essbase server for each save or load operation performed by end users. If it is necessary to use Run on Save or Run on Load, runtime prompts should be used to restrict the scope of the calculation and minimize the impact on users of the Essbase server.
  • Review the Hyperion Planning Administrator’s Guide for steps that detail the execution of large calculations in batch mode. For example, you can set Planning properties to have business rules switch to background processing after a threshold that you configure. In addition, you can run business rules in batch mode using the options under Tools > Business Rules.
  • When users access data form members that are dynamically calculated or have member formulas, an additional load is placed on the Essbase server. The impact is more acute during heavier user load.
  • The biggest impact on data form performance is the grid size. Grid size consists of the number of rows, multiplied by the number of columns. The grid size doubles if an application uses multiple currencies.
  • Adjust the number of cells retrieved to the memory on end users’ client machines. To determine the number of cells, multiply the number of rows by the number of columns.
  • The Suppress Missing Blocks option for rows allows placing large sparse dimensions in rows, while providing good response time if the density of the query is low. Only blocks with data are retrieved. For example, when using this option, you can place an employee dimension consisting of thousands of members in the rows, and place the entity in the page or POV. Then, only employees of the selected entity are retrieved.
  • Using Suppress Missing Data can improve performance. Before using this feature however it is recommended that you test the impact on performance.
  • Using account annotations impacts performance. Use this option only if account annotations are required.
  • If the Supporting Detail Detection Cache reaches 75% or higher, the cache size should be increased.
  • Enabling shared member security impacts performance. Use this option only if you want the base member’s security to be based on its own security and that of all of its shared members. If this option is not enabled, users with access to the base member still have access to all of its shared members.
  • The administrator should define data forms using dynamic user variables, to narrow the data form display to the dimensionality required by users. End users can set the value for the user variable in preferences. Review the Hyperion Planning Administrator’s Guide for these settings.
  • For areas with low bandwidth, it is recommended that users access Planning data forms using Smart View for Office for faster response time.
  • When Planning is first loaded, the first few requests to Planning can take longer because caches might not be loaded. It is recommended that an administrator or power user pre-load the most commonly used data forms before the general community uses the Planning server after each reboot to the Planning server.
  • It is highly recommended that administrators conduct performance tests on data forms to ensure that they meet user expectations. Data forms should be tested in both single and multi-user environments before they are deployed to production.
  • Data form definitions are cached when users log on to a Planning application. Because one cache is created for data form definitions, memory usage is not affected by the number of users viewing data forms. However, memory usage goes up if multiple users enter data in data forms at the same time.


Data Form Size Estimation

To get a rough estimate of data form size,  open the data form and select File > Save As from the browser. The size of the .HTML file is the portion of the data form that changes based on grid size. The .JS files remain the same size and can be cached, depending on browser settings. Information such as data form definitions, pages, and .gif files are not compressed when data forms are opened and sent to the Web browser.

About Suppression

Planning follows this basic sequence to suppress information in data forms, depending on suppression settings for Suppress Missing Blocks and Suppress Missing Data.

1. First, Planning evaluates the data form definition and creates a grid to send to Essbase.
2. If Suppress Missing Blocks is selected for data form rows:

a. Planning queries Essbase to determine which members in the data form definition have data blocks. This query typically takes only a few milliseconds. (This setting is most effective for sparse dimensions, and should not be used for dense dimensions.)
b. Planning then determines which members have data blocks available in Essbase, and filters out members for which the user does not have access permissions.

3. Next, Planning constructs a grid, and sends information to Essbase to fill in the data. (The constructed grid is generally very small, so the result is returned quickly from Essbase.)
4. If Suppress Missing Data is selected, Planning suppresses data for any #MISSING data element. (This operation generally occurs quickly. However, if a large volume of data is set to #MISSING, or blocks are created but have no data, this can take some time.)
5. Planning then queries the relational database, and marks every cell to show whether it has supporting details and cell text.
6. The Web data form is then presented to the user.

Hyperion Planning – Steps to Clear the EPM Oracle Instance Temporary Directories

This document is to provide information and recommendations on clearing the TMP and CACHE directories.

Each time an import or export occurs, Planning generates temporary files which are placed in the EPM Oracle Instance tmp directory. These files are not deleted, and over time, they can build up and affect performance. Oracle recommends that you periodically clear the EPM Oracle Instance tmp directory.

This is also recommended after upgrades and patches are applied.

Clearing the TMP directory may help resolve issues similar to the following:

  • Blank page while accessing Planning directly: (http://plan_server:8300/HyperionPlanning/)
  • Blank page while opening Planning Administration from within WorkSpace
  • “Internal Server Error” while opening Calculation Manager from within Workspace


Please follow the steps below to clear the temporary files and folders:

1. Shutdown EPM services.

2. On Foundation Server delete folders:

3. On Planning Server delete folders:


4. Restart EPM services.
5. Clear browser cache and retest.



Hyperion Planning “Grid Spreading” vs. “Mass Allocate” Features



Create a scenario that is valid from August to December

Refresh the Essbase database

Create a data form with the following column selection

In Page select the scenarios:

The data form with the correct scenario shows the correct cells for data entry:

The data form does not show the immediate children of the YearTotal member. Since grid spreading spreads from parent to children and so on until the level 0 members, spreading will not work here as quarters (the immediate children of YearTotal) are not displayed on the data form.


Clicking on spread does not spread the value across, as explained above:

Modify the data form to display quarters in order to make spreading work:

Note: The above applies to any dimension used with grid spreading.


When using “Mass Allocate” to do the spreading, the Planning user (even if they are already the application owner) needs to be provisioned with the “Mass Allocation” role in Shared Services.

Enable Mass Allocation on the webform:

Select the cell that will contain the value to be spread:

Note that using “Mass Allocate” in such a situation will spread the value across all children, even those that are read only. This is because Mass Allocate writes directly to Essbase, bypassing existing security filters. This is why a separate Mass Allocation” role must be assigned in Shared Services before you can use it.


Use Grid Spreading if you need to spread values whilst respecting the existing read only/writeable security settings on a form. In order to allow Grid Spreading, you must ensure that all generations of the members you want to spread from exist on the form.

Hyperion Planning Error “Unable To Obtain A Connection To Hyperion Essbase”

The following error during logon to Hyperion Planning application:

Unable to obtain a connection to Hyperion Essbase from planning.

Try one of the following solutions to resolve this issue:

  1. Login to EAS administration console as admin
  2. Drill down the Essbase node to the application in question
  3. Right click on the application -> Stop
  4. Right click on the application -> Start

If login still fails with the same error then:

  1. Stop the Essbase server
  2. Start the Windows task manager and stop any (ghost) ESSVR processes.
  3. Start the Essbase service
  4. Login to EAS administration console and start the application
  5. Login to the Hyperion Planning application

You may edit the Essbase.cfg file and increase or add the following parameters if issue persists:


Hyperion Planning System Audit information

As an EPM System Administrator, what are the monitoring options in the Planning System?

From the Weblogic Server Administrators point of view, there is a built in Oracle Entreprise Manager 11g Fusion Middleware Control deployed with your install if Weblogic is used.
From the windows start machine (on the deployment server) -> All Programs -> Oracle Weblogic -> User Projects -> EPMSystem and run the ‘Start Admin Server for Weblogic Server’
One it is loaded, login to the following url http://Servername:7001/em
You can use this tool to check the load on each deployment and setup your alerts. See the OEM documentation for further details (you can use the Enterprise Manager help for details).


From the Database Administrators point of view they can monitor using the database tools.

Use the tracing tools available at database level as all activities are stored in the database.

From the Planning Adminstrators point of view the auditing can be enabled for Planning users.

1. Login to the Planning application that you would like to enable auditing for, as an Administrator
2. Select Administration -> Reporting
3. Select Auditing Tab
4. Select the component(s) you want auditing

The following options are available for auditing

Dimension Administration
Alias Table Administration
Launch Business Rules
Data Form Definition
Data Form Folder Administration
Copy Version
Users Administration
Groups Administration
Task List
Copy Data
Clear Cell Details

5. Select Save Selections
6. Restart Planning Web Service to activate changes
7. In the Planning Application RDBMs the HSP_AUDIT_RECORDS is where the audit records will be written to.

NOTE: From onwards, the Auditing option in Planning is moved to this location:
Tools -> Reports -> Auditing Tab

Hyperion Planning Application Owner – View or Change

How can we determine which user is the owner of a Planning application? How can we change which user owns the application?

Only one user can be the owner of a Planning application. That user has all the ordinary rights of an administrator user, plus the additional rights to delete the application.

The user who created the application originally (or deployed it from EPMA originally) is the initial owner. Only that user can hand over ownership to another administrator user. To hand over the ownership (assuming you know who the owner is):

  1. Log into the Planning application with the application owner
  2. Administration > Application > Settings
  3. At the bottom of this page is a menu that allows the owner to hand over the ownership to any other provisioned administrator for this application. Only the owner can see this menu.

If you do not know who the owner is, the easiest way to determine this is by looking in the Planning application database schema. You can also change ownership directly in the tables, although we recommend that it is changed via the user interface, as above.

  1. Before making any manual changes to the relational repository please ensure that you have a working backup of the database.
  2. Look at the contents of the HSP_USERS table. The owner has a ROLE value of 3. Ordinary administrators have a ROLE of 0.
  3. Make a note of the USER_ID of the user with a ROLE of 3.
  4. Look in the HSP_OBJECT table for a record with an OBJECT_ID that matches the USER_ID recorded in the previous step.
  5. This record’s OBJECT_NAME is the user name of your application owner.

If you want to reset ownership you can change the ROLE of an existing administrator to 3, and set the current owner’s role to 0. As above, you will need to look at the HSP_OBJECT table to work out which user corresponds to which USER_ID.

Restart the Planning service after modifying the database in order for the changes to take effect.



Hyperion Planning – Form Cell Text Data Does Not Show After Migration

We migrated a Hyperion Planning form from one environment to another and the text data does not show up.

Check to see it the text string exists in the new HSP_TEXT_CELL_VALUE table.

If so, that means that the relational store was migrated without issue.


In Essbase (i.e. retrieval from Hyperion Essbase Smartview), you will need to confirm that the corresponding numeric value stored in Essbase for that. particular intersection is there

You should then discover that there is text associated to that same numeric value in Hsp_cell_text_value in Planning schema.

If so, the cell text should show up.

If, however, if you did not bring over ALL the Essbase data, and the numeric value is missing as data (or showing as a 0) in the Essbase intersection, the text will not show in Planning for that intersection.

FYI: The text-numeric mappings in Planning schema are not deleted even if a user deletes the text value from Planning web form. And a new mapping gets created even if there’s a slight change in text value from an existing value. On the other hand, if the text value mapping exists in schema, it will be re-used.

Here is an example of the data in the Hsp_cell_text_value table:

13 “Is your area requesting new funding to support its FY 2015-16 plans and activities? If yes, please complete a new funding request form for each individual request. ”

6 Is your area requesting new funding to support its FY 2015-16 plans and activities? If yes, please complete a new funding request form for each individual request.

2673 “””Is your area requesting new funding to support its FY 2016-17 plans and activities? If yes, please complete a new funding request form for each individual request.””

If the numeric value in Essbase is 13,6, or 2673 the cell text will show in planning. If it is #mi or 0 it will not.


As a test you can save one of the numeric values from your table to the cell and check planning for the text.

To correct the issue, copy all of the relevant data to the Essbase intersections.