!-- Global site tag (gtag.js) - Google Analytics --> CloudADDIE - Groovy Business Rules in EPM Enterprise Cloud

Groovy Business Rules in EPM Enterprise Cloud

By: Sunil Keezhangattu - Sr. Principal Consultant
Published: June 22, 2020

What is Groovy?

Groovy is a Java syntax compatible object-oriented programming language and has similar features like Python and Ruby along with being a dynamic and static language. In recent years, Oracle has incorporated the use of Groovy when running business rules in Enterprise Performance Management(EPM) Cloud systems; it provides a way to interact with Data Forms in ePBCS.


For those of you that are familiar with writing calculation scripts and business rules in the Planning and Budgeting Cloud Services (PBCS or ePBCS) , you know that when running operations utilizing business rules for data forms or complex aggregations, the system tends to slow down based on the size of data the business rules are processing. Oracle has introduced a new way to optimize and dynamically calculate the data. Oracle has changed the data forms based on POV, the text value of a smart list, and calculation only for the associated members. The EPM object model in Groovy gives you tools to design interactive Run Time Prompts (RTPs) for users to work with metadata, such as adding new members, renaming existing members, moving members under new parents, updating other metadata properties and so on. The second feature is the utilization of Groovy rules to perform validations of the data entered. For example, when performing data validations Groovy will analyze the data with the rules set in place and cancel anything that violates those rules.

Why Use Groovy?

These are some limitations with the standard Oracle Calculation Scripts in Planning:

  • Calculation Scripts are unable to dynamically generate scripts at runtime based on contexts other than user-entered run time prompts. If you change a few cells in a form, a calculation script business rule has no way of identifying what data has been changed and then calculate based only on that data.
  • Calculation Scripts are unable to dynamically specify the parent for a current member by project type or region.
  • User entered data and runtime prompt values are unable to be validated until a calculation is ran.
  • You cannot combine multiple EPM functions into a single rule or set of rules ( i.e., automatically running a Smart Push operation after calculating).
  • Calculation Scripts may experience performance issues due to their static nature of the script; requiring a calculation of a large portion of the database even when only a few cells have been updated).

However, limited context-specific calculations are available in forms by right-clicking and calculating only a specific row. This option is less useful for large forms or when you update cells in multiple rows. This is where Groovy Script Business Rules have an advantage over the standard Calculation Scripts:

  • Dynamically generate calculation scripts for runtime based on contexts defined in the Groovy script.
  • Add validation checks for run time prompt values before running calculations, data validation checks before submitting data, and error handling.
  • Launch multiple EPM functions with a single rule: run a calculation and then run a Smart Push operation to move calculated data to a reporting cube.
  • Improve performance by creating focused calculations: dynamically creating custom targeted calculation scripts based on what data was modified in the current form.
  • Perform complex procedural calculations in memory before submitting the results to the database.

This is just the tip of the iceberg on Groovy for business rules and from what we know and there is a lot more to explore and learn.


Schedule your Free Consultation, to see it in action!
Contact Us!

We offer Autonomous Systems for EPM Cloud Applications such as Oracle Planning & Budgeting Cloud Service (PBCS/EPBCS), Financial Close & Consolidations Cloud Service (FCCS), Enterprise Data Management Cloud Services (EDMCS), Account Reconciliation Cloud Service (ARCS), Profitability & Cost Management (PCM) and more.