Dayalan Punniyamoorthy Blog

Showing posts with label Oracle EPM. Show all posts
Showing posts with label Oracle EPM. Show all posts

Sunday, March 1, 2026

Unlocking EPM Power: Get User Variables with Oracle Planning REST APIs!

Retrieving User Variables in Oracle EPM Using REST APIs

If you’re building integrations with Oracle Enterprise Performance Management (EPM), sooner or later you’ll run into User Variables. They are everywhere—driving form personalization, security filters, default selections, and even calculation behavior.

The good news? Oracle EPM provides powerful REST APIs that let you retrieve user variable values programmatically.

In this blog, we’ll break down two commonly used REST APIs:

  • GetUserVariablesForUser
  • GetUserVariablesForUserAndMember

You’ll learn:

  • What user variables are and why they matter
  • When to use each API
  • How to call them
  • What the response looks like
  • Common real‑world use cases

All examples and explanations are provided with reference 

 

What Are User Variables in Oracle EPM?

User Variables are configurable placeholders that dynamically resolve to dimension members based on the logged‑in user. They are widely used across Planning, FreeForm, FCC, and other EPM modules to personalize the experience.

Typical use cases include:

  • Default Entity, Version, or Scenario for a user
  • Security‑driven data access
  • Dynamic filtering in forms and dashboards
  • Personalized calculations and rules

From a technical perspective, user variables help avoid hardcoding dimension members and allow applications to scale across users with different responsibilities. [docs.oracle.com]

 

Why Retrieve User Variables via REST APIs?

While user variables are usually set and managed through the UI, integrations often need them programmatically. Common scenarios include:

  • External applications that need to respect EPM personalization
  • AI agents or middleware dynamically resolving context
  • Audit and validation of user setup
  • Mass analysis of user configurations
  • Integration testing and automation

Oracle addresses these needs through the User Variable Values REST APIs available in Planning REST API v3. [docs.oracle.com]

 

API #1 - What This API Does

This API retrieves ser variable values set for all users and for all user variables defined for the application.

 

REST Endpoint

/HyperionPlanning/rest/v3/applications/EPBCS/uservariablevalues




Response



API #2 - What This API Does


To retrieve user variable values set for all users for a user variable with a specific name.

REST Endpoint  

/ /HyperionPlanning/rest/v3/applications/EPBCS/uservariablevalues/Asset - Buy



API #3 - What This API Does

//HyperionPlanning/rest/v3/applications/EPBCS/uservariablevalues?q={"userName":"dayalan.example@example.com"}


to retrieve user variable values for one or more users.






Example Use Case

  • An external planning portal needs to open with the same defaults as EPM
  • A batch job validates that users have all mandatory variables assigned
  • AI‑driven workflows resolve default dimension context before executing rules

 

 

Security and Access Considerations

  • Service Administrators can retrieve variables for any user
  • Regular users can retrieve only their own variables
  • APIs follow standard EPM REST authentication (Basic Auth or OAuth2)

Oracle also enhanced these APIs in recent releases to allow retrieving multiple users’ variables in a single request, improving performance for administrative use cases. [docs.oracle.com]

 

Real‑World Integration Patterns

Here’s how these APIs are commonly used in modern EPM architectures:

  • AI agents translating natural language into EPM actions
  • Data pipelines aligning user context across systems
  • Automated testing validating environment consistency

If you’re building an EPM Control Center, middleware, or AI‑driven workflow, user variables are often the first API call you make.

 

Final Thoughts

User variables may look simple on the surface, but they are foundational to personalization and security in Oracle EPM. Oracle’s REST APIs make it easy to retrieve them in a clean, scalable, and secure way.

 

If you’re building advanced integrations or AI‑powered solutions on Oracle EPM, mastering these APIs is a must.

 

 Happy days on the cloud!


Monday, April 14, 2025

Data Copy using DataGridBuilder in Groovy!

 



 

In this blog, we will see how to perform an intercompany data translation with ease,  

 

This rule ensures intercompany data is clean, aligned, and instantly processed when users save a form. It applies standard naming and business logic automatically—no manual cleanup needed. Data flows straight into the target  cube or POV, reducing cycle time and reconciliation effort. It improves auditability and consistency across entities, accounts, and products. The result? Faster closes, fewer errors, and more trust in your numbers

Tuesday, April 8, 2025

Triggering Pipeline from Groovy Rule

For example, consider running a forecast pipeline in Oracle EPM, we often deal with multiple forecast periods that need to be processed sequentially.


However, ensuring that each period runs correctly, waiting for previous jobs to complete, and handling errors gracefully can be tricky.

 



In this the script ensures that each forecast period is processed properly, one at a time, and prevents overlapping or conflicting jobs.

 

Monday, March 24, 2025

Fetching Pipeline Execution Details in Oracle EPM Using Groovy!

In Oracle EPM, pipelines are essential for automating data workflows, integrating data sources, and performing transformations. To ensure smooth execution, it's crucial to monitor pipeline runs and detect job failures in real-time.

 

When running automated data processing or calculations in Oracle EPM Cloud, monitoring the execution status of pipelines is critical. You don’t want to just trigger a pipeline and hope for the best—you need real-time insights into whether jobs succeed or fail.



 

Thursday, January 30, 2025

Extracting Notes and Attachments from Cells in Oracle Cloud EPM Using Groovy!

Lets explore on how to extract cell notes and attachments from Oracle Cloud EPM using Groovy scripting. 



This blog walks through retrieving Entity and Cost Center descendants, querying financial data, and identifying cells with notes or file attachments.

The script dynamically iterates through each combination, loads a data grid, and logs key findings after finding the cell Notes and Attachment if any. 

Suppression rules ensure efficient execution, while error handling prevents failures. Ideal for auditing financial data and ensuring compliance. 

Friday, May 31, 2024

All about During daily maintenance!!!

All about During daily maintenance!!!



During daily maintenance in Oracle EPM Cloud, the system creates a maintenance snapshot, applies patches, adjusts configurations, and analyzes activities to generate an Activity Report. The environment is then rebooted, with initial access limited to Service Administrators. Certain operations are restricted during this period, especially for processes like Planning and Financial Consolidation. Maintenance usually starts between 10:00 p.m. and 1:00 a.m. local time and a 15-minute notice is given before maintenance begins. The process typically takes less than an hour.


Friday, May 10, 2024

Setting User variables values for the first time using Groovy rule!



User variables function as filters within forms, allowing users to narrow their focus to specific members, like a department. Prior to linking a user variable to a form, you need to establish the user variable. When designing forms with user variables, users are required to initially designate values in preferences for the variable prior to accessing the forms. Subsequently, users can modify the variable within the form only if it's dynamic. If not, they must persist in setting the variable in preferences. For instance, if a user variable named "Cost Center" is created, users must designate a Cost Center before engaging with the form.

When users interact with a form for the first time, they set their preferred variable, such as a department or division, in their preferences. This initial selection is crucial as it helps customize their form-viewing experience.

After the initial setup, users have the flexibility to update this variable. They can either go back to their preferences and make changes there, or they can directly adjust the variable within the form itself. This flexibility allows users to adapt their form interactions based on changing needs or contexts without needing to navigate away from the form.

Overall, this approach ensures that users have control over their viewing preferences and can tailor their experience to suit their individual requirements.

Tuesday, May 7, 2024

All about Vanity URLs!

Vanity URLs


 Vanity URLs offer a convenient solution for memorizing complex URLs associated with Oracle Enterprise Performance Management Cloud environments. 

These customized URLs provide direct access to EPM Cloud environments via web browsersOracle Smart View for Office (version 20.200 and higher), and EPM Automate. 

To generate a new vanity URL, you can utilize third-party services such as T.ly, Bitly, Rebrandly, or TinyURL, or opt for an open-source alternative like YOURLS. When leveraging an API gateway or reverse proxy, substitute the EPM Cloud URL with the designated URL and context specified for your environment.

Monday, May 6, 2024

Multiple Rules of Enterprise Profitability and Cost Management (EPCM) using Groovy in Sequential Manner!

In this blog we will see how to run multiple Rules of Enterprise Profitability and Cost Management (EPCM) using Groovy in Sequential and proceed with the next rule only after completion the previous rule.











 

/**************************************************************************************/

/*                  Run IC Calcs All Region                                                                     */

/*                  Creation Date       : 10th Apr 2024                                                  */

/*                  Version                   : 1.0                                                                    */

/*                  Modifications         :                                                                        */

/*       The Rule uses the Sub Var &CurMth, &CurYr.                                          */

/*  The Rule will be executing the following,                                                     */

/*       1. Clear for EMEA                                                                                          */

/*        2. Clear for APAC                                                                                         */

/*        3. Clear for Americas                                                                                   */

/*       4. Merge Slices                                                                                         */

/*       5. Run Ruleset Ranges:                                                                            */

/*                  Start   End                                                                                      */

/*                  1            999                                                                                   */

/**************************************************************************************/

connectionName is a variable that stores the name of the connection to the server. In this case, it's set to 'Localhost'. This variable is later used to specify which server to connect to when making HTTP requests. 

def connectionName = 'Localhost'

Closure subVarValue = { String subVar -> operation.application.getSubstitutionVariable(subVar).value }

String CurYr = subVarValue('CurYr')

String CurMth = subVarValue('CurMth')

println "The Rule is using the Sub Var Current Year : " +CurYr +" " + "Current Month : " +CurMth

Wednesday, May 31, 2023

Leveraging & Introduction to Oracle OCI for Oracle EPM suite components - Part 2

Continuation of my Part-1 post

Kubernetes, also known as K8s, is an open-source container orchestration platform that automates the deployment, scaling, and management of containerized applications. It provides a robust framework for managing clusters of containers across multiple hosts, allowing organizations to efficiently run and scale their applications.

Tuesday, May 30, 2023

Leveraging & Introduction to Oracle OCI for Oracle EPM suite components - Part 1

In this blog series i am going to talk about my fun project which is leveraging Oracle OCI to connect to Oracle EPM and invoke EPM components to perform multiple compute/analytical operation using the REST API.





Before that we see a brief introduction to Oracle OCI.


Introduction to Oracle OCI



Global Infrastructure:

 Example: An e-commerce company wants to expand its operations to the Asia Pacific region. Oracle OCI offers multiple data centers strategically located in countries like Singapore, Australia, and Japan. The company can choose to deploy its application in the Singapore data center to serve customers in that region. By doing so, they can take advantage of the low-latency network connectivity between the data center and the end-users, resulting in faster response times and an improved user experience.

Compute Services:

Example: A software development company is working on a project that requires high-performance computing capabilities. They can utilize OCI's compute services, such as the VM.Standard.E3 shape, which provides a high CPU-to-memory ratio. This instance shape is suitable for CPU-intensive workloads, such as scientific simulations, rendering, or machine learning. By leveraging this shape, the company can allocate more computing power to their application and achieve faster processing times.

Networking:

Sunday, May 28, 2023

Restoring the Out of Box artifacts for the EPBCS modules!

It happened that some of the module-based artifacts were missing/accidentally deleted and we were finding a way to restore them.

As a user of Oracle Enterprise Performance Budgeting and Planning Cloud Service (EPBCS), you may want to restore the out-of-box artifacts that were delivered with your EPBCS instance.

In this blog, we will see how to systematically restore artifacts related to the EPBCS module's process of restoring the out-of-box artifacts for the EPBCS modules.

Monday, September 5, 2022

Invoking REST API via Groovy program outside of EPM Cloud – Authentication to EPM Cloud Part-2



This post is the continuation of the previous one where I explained how to read the User ID, Password, etc.. from a file in the Groovy Program. So the file containing the  User ID, Password, etc.. is a central repository where you need to change it only once.

In this post, I will extend that feature by using the encoding/decoding methods to encode the password and decode it wherever needed. So the password Is not exposed anywhere and no security breach of storing the password in a file or a program.

Let me divide this post into two parts

  1. Encode the Oracle EPM authenticating Password using a Secret Key.

Kindly note I have used the AES encryption algorithm to encrypt the password.

 

Saturday, August 27, 2022

Invoking REST API via Groovy program outside of EPM Cloud – Authentication to EPM Cloud

In this blog, we will see how to invoke the Oracle EPM REST API endpoints outside of Oracle EPM (as a standalone program accessing the REST API endpoints from any machine where the Groovy program can be executed). We all knew we can call Oracle EPM REST API endpoints from the Calculation Manager Business rules as Groovy rules but this is entirely different from that.

 

Thursday, April 21, 2022

Cube refresh failed with Essbase Cube: Cube Name, Error code: 1060374 - Fix/suggestion

A quick one that took a while to fix the issue, assuming it helps the needy.  

The customer was running on EPBCS on version latest version. While running the database refresh it did throw the following error message, 

Cube refresh failed with Essbase Cube: Cube Name,

Thursday, September 30, 2021

Migrating Data Maps between PBCS/EPBCS instances

Migrating Data Maps between PBCS/EPBCS instances


This is applicable only for the data maps created by the Admins/Users, Not for the system created ones like the following 

For the Custom-created Data Maps, you can migrate using LCM

Navigate to the Tools 

 



Under Migration, Go to the Core 

Sunday, May 31, 2020

Oracle Enterprise Performance Management Cloud June 2020 update part 2


This is in continuation of Part 1 series of the June 2020 new updates for the Oracle Enterprise Performance Management.

Quick one today is the sortMember

Sorts members of Entity, Account, Scenario, and Versions dimensions and of custom dimensions. This command is useful for sorting dimension members after loading members into Planning.

Note:

You cannot use this command to sort members of Period, Years, and Currency dimensions.

 This command works only for Planning.

Wednesday, August 29, 2018

Quick Tip - Oracle Smart View disable for Outlook

Had an instance where one of the customers had installed the Oracle SmartView for accessing the Oracle Planning and Budgeting Cloud. After the installation, the Microsoft Outlook didn’t get started and was staying in the screen starting for a quite long time.

This was quite annoying, but luckily there is an easy solution to the issue. There is life saver option given in SmartView under Options -> Advanced.


With this option, Smart view will be disabled in Outlook and will not hamper the time to load the Outlook. Hope this helps.




Monday, February 26, 2018

Explore User Reports & Daily Maint REST API - Oracle PBCS with Groovy flavor !!!


In continuation of other series about REST API on Planning & Migration in this post let’s explore the REST APIs for Provision Reports,User Audit reports and the Daily Maintenance Window Time. 

1.REST API for running Provision report on Oracle PBCS\EPBCS

Straight from the document:
Generates a provisioning report of users in the system and writes the report to the filename provided. This is an asynchronous job and uses the job status URI to determine if the operation is complete.

You can manually generate a Provision Report from Oracle PBCS instance
 Navigate -> Tools