Dayalan Punniyamoorthy Blog

Thursday, April 18, 2024

Groovy Rules Calling Enterprise Profitability and Cost Management Rules using REST API!


Using the Groovy script we can invoke the following REST API provided by an Enterprise Profitability and Cost Management system.

  • Calculate Model - Runs the calculation on a given point of view in a selected cube.
  • Clear Data By Point of View - Clears the data for a given point of view in a selected cube.
  • Copy Data by Point of View - Copies data from a source to a destination point of view in a selected cube.
  • Delete Point of View - Deletes the data associated with a point of view from the calculation cube.
  • Generate Model Documentation Report - Generates an Enterprise Profitability and Cost Management Model Documentation report. Any validation failures are written to file with file name provided in the parameters and can be accessed from Inbox/Outbox Explorer.
  • Validate Model - Automates the calculation process for validating a model. Any validation failures are written to file with file name provided in the parameters and can be accessed from Inbox/Outbox Explorer.
  • All this are asynchronous call, so use the job status URI to determine whether the operation is complete. For running all the above REST API Required Roles is Service Administrators.

Thursday, April 4, 2024

A Customized data extract along with Process ID & Date it was ran using the Data Integration!


The requirement is to extract data from an ASO Cube from a EPM Cloud application to a .csv file, while also including the Process ID and the extraction date from the TDATASEG table.

I will not cover the steps to extract data from ASO cube, we will see how to extract the Process ID and the date it was ran using the TDATASEG_T.

The TDATASEG table serves as a repository for both the data provided by users and the transformations applied during the mapping process, capturing the relationships between original source dimension members and their resultant mappings. During the process it involves transferring data to the TDATASEG table from the staging table TDATASEG_T followed by the deletion of data in the TDATASEG_T table.

Wednesday, March 20, 2024

Issues and fix - Loading MS SQL data using EPM Integration Agent!

At a high level we know to connect to SQL Server using JDBC in the EPM Integration Agent, you need to follow these general steps:



Download the JDBC Driver: First, you need to download the Microsoft JDBC Driver for SQL Server from the official Microsoft website. Make sure to choose the appropriate version of the driver that matches your SQL Server version and Java version.

Install the JDBC Driver: Once downloaded, extract the JDBC driver files from the downloaded package and place them in a location accessible to your EPM Integration Agent. This could be a directory on your system or within the EPM Integration Agent's installation directory.

Thursday, February 8, 2024

Groovy rule to perform an action depends on the selected Scenario in the RTP!

This time, A different scenario was accomplished using the Groovy by one of my teammates. I thought of sharing here.

The requirement is to populate the Long-range planning and the rule will perform an action if the OEP_Plan (budget) is selected in the RTP and a different action if OEP_Actual (actual) is selected in the RTP.

Monday, December 18, 2023

Add a New row to enter data for a New Product or a Customer - Using Groovy Part 2

 In the Part -1  we saw how to add a new row for a New Product or a Customer using the Calculation Manager rule. In this post, we will see how to do the same using the Groovy rule. 

This is the data from where add a row option is enabled,


Column A is hidden and the rest of the column will be visible.


The actual form is shown below, 

Monday, November 13, 2023

Add a New row to enter data for a New Product or a Customer - Part 1

 In this blog, let's discuss how to address the requirements of entering data into a New Product or a Customer in a Data From exists in the PBCS or EPBCS application where the Suppress missing data for Rows or Suppress Missing data for Columns are enabled. Or the data does not exist for that combination but the users want a provision to enter the data for that specific combination. 

During the Budget or the Forecast, the users might want to enter data for a combination that never had any historical data. 

It is a general best practice the Data Forms will be enabled with the following,

  • Suppress missing data - Rows
  • Suppress missing data - Columns


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.

Sunday, May 7, 2023

EPBCS Groovy Rule series-2, One rule for multiple Data forms do the calculation!

In this second part of the blog, let's explore how to reuse the same Calculation Manager Groovy rule by attaching the rule to multiple data forms to perform different actions in each data form.

The Groovy Calculation Manager rule is dynamic, it gets the account member from the data form, and depending on the selected account member the rule will perform a specific calculation. 




We can use the same rule and attach it to multiple Data forms. 

Let's see how the rule looks,

// Capture the edited periods and products
Set<String> editedMembers = []
operation.grid.dataCellIterator({DataCell cell -> cell.edited}, MemberNameType.ESSBASE_NAME).each { DataCell cell ->
        //editedMembers << cell.periodName << cell.getMemberName("Product")
        editedMembers << cell.periodName << cell.getMemberName("Years") << cell.getMemberName("Product") << cell.getMemberName("Customer")
    }
if(editedMembers.size() == 0){
    println("No edited cells found!")
    return;

Thursday, May 4, 2023

EPBCS Groovy Rule series-1, Focused calculation based on the selected account!

This blog post will demonstrate how to carry out a targeted calculation using the accounts you've chosen from the Data Form's Page.


Product and Customers on the Rows, on the Data Form.

The Data Form allows for the selection of a single account from a group of accounts in order to perform the calculation. A specific calculation will be performed depending on the account chosen by the members on the POV and on the Page of the Data from the rule related to the Data Form.

Really neat and effective, huh?

Let's look at the Calculation rule that makes this possible.