About Groovy:

Groovy is an object-oriented language that works on the Java Platform. It is a dynamic language with features similar to Ruby, Python, and Perl. Groovy has been adopted by many companies, including Oracle, for its cloud environment security and its progressive features. Groovy language can now be used with Oracle’s Enterprise Planning and Budgeting cloud applications, which are now Oracle EPM Enterprise Planning.

Using Groovy can improve Hyperion Business rules, such as faster execution of business rules, performance. It omits the need for the user to wait for the rule to calculate, leading to more run time. Traditional business rules are more generic, and they calculate the entire database or a subset of the database. Groovy rules are more focused than the traditional business rules. Groovy rules play a vital role in calculating the specific intersections of members that are edited/required, and calculate only those members, which saves run time.

Limitations with existing Hyperion business rules:

  • Unable to dynamically generate the script at run time
  • Unable to dynamically generate fixes for the calculation in the script based on edited cells in the form
  • Unable to validate the RTP's value on the fly
  • Unable to dynamically push the data using Data Maps/Smart Push from one cube to another
  • Static nature and its performance issues
  • Running the calculation for the entire database or a subset of the database

Groovy Highlights:

  • Allows you to create context-specific, dynamic business rule that dramatically improves the performance of the calculations
  • Improve the performance of the rules by fixing specific rows and columns
  • Improve performance by fixing only the edited Point of View (POV) cells
  • Customized/dynamically pushing data using Data Maps and smart push
  • Moving the plan data from one cube to another cube on the fly
  • Highlight the errors while entering data
  • Warnings can be provided to the users
  • Dynamic Essbase calculations
  • Dynamically changing the data based on the user's entry
  • Calculations in the ASO Reporting cube
  • Dynamic calculations in BSO Cubes
  • Data input validation

Let’s see how to create Groovy! 
Creating a Groovy calculation:

Create a Groovy script by selecting the Script type as Groovy Script.

syntax_image

Consider a scenario where we need to calculate only the edited cells in the form and push data from one cube to another.

Data form: 
syntax_image

Setting up the variables to get the edited dimension members:

syntax_image

Iterating the edited cells of the data form:

syntax_image

Converting the lists to comma-delimited string with quotes:

syntax_image

Constructs a string builder and holds the calculation script sent to Essbase:

syntax_image

Executing the data maps is very simple and is achieved using the following script.

Dynamically pushing the edited sets of data from one cube to another:

syntax_image Application Performance Improvement:

If your EPM Hyperion applications have more dimensions, and if there are any performance issues related to complex calculations involved in the applications, or if you would like to improve performance, etc, then Groovy rules should catch your attention as it is helping change the Hyperion world. Read relevant blog here: Integrating On-Premise data sources with Enterprise Performance Management Cloud

About the Author

profile image

Vincent Joseph

EPM Lead Specialist, Jade Global

Vincent develops, deploys, and leads Jade Global’s Oracle EPM services. He is an Oracle Certified implementation specialist with 11+ years’ experience in technical configuration, design, analysis, delivery and development. Vincent’s experience in team management, and leading technical team across EPM platforms helps customers achieve strategic goals using Oracle Enterprise Planning & Budgeting Cloud Services including Oracle PBCS and EPBCS.

How Can We Help You?

document.addEventListener("DOMContentLoaded", function() { const lightbox = GLightbox({ selector: '.glightbox2' }); });