EPM Groovy – Implementing a “Skip Update” Mechanism in Our UI Layer using Templates

Skip Update? Really?

After a 4-month hiatus from blogging, I’m back with a question. Why am I writing about the Skip Update feature in Oracle EPM, which can be easily managed by EPM Automate? This year, Oracle stopped HTTP requests and access to port 9000, so we had to delay the update to the instance. One of the things I had to do was create a business rule that triggers a server-side EPM Automate command to perform the skip update feature. I was wondering if there are any other ways to do this from the front end instead of creating a business rule. All I got was a no from friends. If there are any ways to update from the front end, I’ll take down this post. If not, please read further.

Let’s Talk about the Clone Application Feature:

Before the Clone Application feature, we had to go through a tedious four-step process using EPM Automate. This involved logging in, copying the snapshot instance, recreating the instance, and importing the instance. It was a real pain, and people often preferred to do these steps manually from the front end, downloading the snapshot file and uploading it to the target instance. I only used EPM Automate when the snapshot file was too large and my internet connection couldn’t handle it. Now that the Clone Application feature is available in the front end, I haven’t seen anyone using EPM Automate for ad hoc cloning processes.

I think it would be great if we could get a Skip Update option from the front end, similar to the Clone Application feature. This would make it easier to manage from just one place. 

Templates for the Rescue

If you’ve followed my posts, you know Templates can do more than basic stuff. I’ve been impressed with the new Templates’ smooth transitions. Let’s add server-side commands to a Template with a GUI layer for this option.

Before starting the Rule build, I had some ideas:

The skip update feature in EPM Automate offers:

  1. Add Skip Versions
  2. Remove All existing Skipped Versions
  3. List only the Skipped versions

Our solution must cover all the above features.

Additionally,

  1. I don’t want to skip updates based on numbers. I prefer selecting a month name, and the system should know the version to skip
  2. I should be able to select multiple Skip Versions. Oracle EPM has guidelines on how many versions can be skipped, so check the documentation
  3. If I don’t select any skip months, the skip update should skip including the Reason prompt
  4. It should always list the skipped versions in the Job Console
  5. I can schedule the script to skip chosen monthly updates throughout the year. To facilitate quarterly updates.

Template From the Front End

Skip Update Prompt:

Reason For Skip Update Prompt:

This Prompt opens only if I select any months for Skipping updates in the previous Screen

Remove Skip Prompt:

Design Time Prompts Validations:

Selecting more than three consecutive periods results in a validation error and prevents proceeding to the next prompts in the template.

Execution:

My current instance is updated to the April patch, and for testing purposes, I’m using the template to skip the next two months

Lets Look into the Job Console contents in Notepad.

The selections for May and June were successfully translated to 25.05 and 25.06. If any months selected are April or earlier, the script will ignore those months and list them as Invalid Skip Months. Because Date objects are used to determine valid versions, the script automatically switches to the next year if an attempt is made to skip January, February, or March versions while the current version is from the previous year.

Conclusion:

I want to keep this blog post short and won’t mention all the exceptions I handled. This is likely less than 60 lines of code that performs everything mentioned. I didn’t encounter any difficulties creating the solutions; there were no roadblocks. Since pipelines were introduced, I’ve pivoted to them for most integrations because they offer nice user interfaces. Unique features like this make me return to Server Side EPM Automate using Groovy and Template Rules which adds a fancy UI layer. I hope this information is useful.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *