Retro Reboot #1: Set It & Forget It – Scheduling FDMEE Tasks
As with most nostalgic items, reboots are the next best thing. From video game consoles to television shows, they are all getting a modern facelift and a new prime-time seat on television. I have jumped on that band-wagon to revitalize a previous post authored by Tony Scalese: Set it & Forget It – Scheduling FDM Tasks.
As with most reboots, there must be flair and alluring content to capture old and new audiences. Since Oracle Financial Data Quality Management Enterprise Edition (FDMEE) has been in the Enterprise Performance Management (EPM) space for a while and has moved into the Cloud, this is a great time for its reboot!
Oh Great…A Reboot. Now What?
Scheduling tasks in FDMEE has never been easier. Oracle provides several ways to do this for a variety of out-of-the-box activities. Is there a report that you want to run and email every hour? Or how about a script that needs to run hourly? Or maybe batch-automation every 15 minutes? No worries! FDMEE can handle all of that with out-of-the-box functionality.
Let us pause for a moment and determine what is needed to make this happen:
- Is there a business case and justification for what is about to be scheduled?
- Who benefits and how will they be notified of the results?
- Is there a defined frequency for which the activity must take place?
First, understand that the scheduling for FDMEE is built directly into the Graphical User Interface (GUI) anywhere you see the “SCHEDULE” button. Unlike the previous FDM counterpart which had it as an independent utility to be installed/configured, the ease of having it via the Web has removed some complexity.
A word of caution: while this screen allows items to be scheduled, there isn’t a screen that shows “what has been” scheduled. To do that, access to the Oracle Data Integrator (ODI) is needed, but more on this later.
Initially, the screen shows the types of schedules that can be created and their relevant inputs.
Below is a reference guide to outline FDMEE’s scheduling capabilities.
|Schedule Type||Inputs||Notes / Examples|
|Simple||TimeZone, Date, HH:MM:SS, AM/PM||Single run based on the specified inputs.
Example: Run 08/02/2018 @ 11AM
|Hourly||TimeZone, MM:SS||Repeatable run at the specified time MM:SS time.
Example: Run every hour, at the 22minute mark.
|Daily||TimeZone, HH:MM:SS, AM/PM||Every day at the specified time.
Example: Run every day at 11AM.
|Weekly||TimeZone, Day of the Week, HH:MM:SS, AM/PM||Every specified day at the specified time.
Example: Run every Monday thru Friday at 11AM.
(day of month)
|TimeZone, Date, HH:MM:SS, AM/PM||Specified day at the specified time.
Example: Run on the 2nd day of every month at 11AM.
|TimeZone, Iteration, Weekday, HH:MM:SS, AM/PM||Specified interval and week day at the specified time.
Example: Run every third Tuesday at 11AM.
Why Does the Job Run Under My UserID?
That is because the system assigns the user’s credentials who created the schedule. What can go wrong with that, right?! Well, if a user no longer exists or a password is changed, the existing jobs will no longer run.
The following considerations should be observed:
- Dedicate a service account that is not being used by an employee to be used for server/automation actions.
- This account can be a “native” user; since the account is only used internally for EPM products, having a domain account is not needed.
- Non-expiry passwords are best.
It is Scheduled…Now What?
After the item is scheduled, what really happens? The action executes at the scheduled time! Actions can easily be monitored via the FDMEE Process Details screen. Now all the possibilities of scheduling the following can be explored:
- Data Load Rules
- Script Executions
- Batch Executions
- Report Executions
Also, as mentioned earlier, there is no way to see the batches inside of FDMEE. For that, information can be retrieved in a few ways. The easiest way to see what is scheduled is to use the ODI Studio.
The ODI Studio provides details as seen in the screen shot below:
Any scheduled tasks will be listed under “All Schedules.” Simply double click them to obtain details related to that task.
Another effective option is to write a custom report that displays the information. My previous blog post, Easy Value with FDMEE Reports, provides further details of FDMEE report options and their value. This would allow a report to be executed to provide a user-friendly report.
Seriously … What Now?
By now, you may have noticed from the previous blog post Scheduling FDM Tasks – A Second Option by Tony Scalese that the upsShell process is quite handy. It allows other tools to control the FDM jobs…maybe through a corporate scheduler. Now that most organizations have a corporate scheduler, the new FDMEE options below must be learned:
|Executescript.bat / .sh||Executes an FDMEE Custom Script|
|Importmapping.bat / .sh||Executes an import from text-file for Maps|
|Loaddata.bat / .sh||Executes a Data Load Rule|
|Loadhrdata.bat / .sh||Executes an HR Data Load Rule|
|Loadmetadata.bat / .sh||Executes a Metadata Load Rule|
|Runbatch.bat / .sh||Executes a defined Batch|
|Runreport.bat / .sh||Executes a defined Report|
*All files are stored in the EPM_ORACLE_HOME\products\FinancialDataQuality\bin\
In the example below, the command, when launched, executes a Data Load Rule for Jan-2012 thru Mar-2012:
There still must be a better solution…right? Things to overcome:
- What happens if the scheduler is Windows-based and the server is Linux?
- How does a separate scheduling server communicate with EPM? Does it have to be installed on each EPM Server?
- How can we monitor and get details of a job once it is kicked off?
What Happens if You Don’t Want to Run the .BAT/.SH Files?
You’re in luck! With the introduction of new functionality to FDMEE, RESTful APIs are also now available. With the RESTful APIs, not only can you execute a job, but you can also loop and monitor for the results. This enhances the previous .BAT/.SH file routines and provides a cleaner and more elegant solution.
|Running Data Rules||Execute a Data Load Rule|
|Running Batch Rules||Execute a Batch Definition|
|Import Data Mapping||Import Maps|
|Export Data Mapping||Export Maps|
|Execute Reports||Execute a Report|
*URL construct: https://<SERVICE_NAME>/aif/rest/V1
The below example is just querying for a process:
As Oracle moves forward to enhance the RESTful APIs, many doors continue to open for FDMEE and tool scheduling. At Edgewater Ranzal, we fully embrace the RESTful concept and evolve our solutions to utilize this functionality. The result is improved support and flexibility of FDMEE and the future of Oracle Cloud products.
I have over 15 years of business and technical experience. I am a Product Manager and an active member of the Alithya Product team. I work closely with Oracle Support/Development on new product features, functionality, and defects. I am an active member of the Oracle Technology Network where my expertise are consistently displayed. I am an expert in application design, automation, optimization, and performance tuning. I also work with customers to implement Hyperion FDM / FDMEE applications while gaining an understanding of the customers business needs and technology.