Wednesday, August 26, 2020

// // 1 comment

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

 In 'FDMEE System Maintenance Tasks' blog series, we have already covered the following topics:

Manual implementation:

FDMEE: System Maintenance Tasks: Maintain FDMEE Data Tables

If you have not already gone through the above articles, I would suggest you read them first to get a comprehensive understanding of all the Hyperion Financial Data Quality Management (FDMEE) System Maintenance Tasks.

Note:
  • The demonstrating Hyperion environment has the 'Windows Server 2012 R2 Standard' operating system. 
  • The demonstrating Hyperion environment has 'Oracle database server 12.2.0.2 (18c)' as backend database. 
  • This post has been written and associated activities have been demonstrated on Oracle FDMEE version 11.1.2.4.220.
  • There is no outage required on the FDMEE application to execute these scripts. But it is advisable not to run any data loads during the activity.
  • Don't forget to take complete FDMEE schema backup before attempting to run these scripts. 
  • Different paths and folder names mentioned in this post may slightly vary for different Hyperion setups but at large it should be the same.

Command syntax of FDMEE batch utility executescript.bat:
----------------------------------------------------------------------------------
executescript <username> <password> "<script name>" "<parameters>" <execution mode>

Where:
  • <username>: is your FDMEE user running the script
  • <password>: can be either the hard-coded password or a file with encoded password (-f:filename)
  • <script name>: is the name of the script registered in Script Registration page (not the python script filename). You find the script name here: Navigate-Administer-Data Management-Setup tab-Script Registration
  • <parameters>: are the script parameters in the form "Display Name=Parameter Value"
  • <execution mode>: is either SYNC (synchronous) or ASYNC (asynchronous). SYNC—Process runs immediately and control returns when process completes. ASYNC—When the ODI job is submitted, control returns. The load process continues to execute in ODI.
Now the command syntax in the more detailed form will look like below:

executescript <username> <password> "<script name>" "<parameterdisplay1=value1>" "<parameterdisplay2=value2>" <SYNC | ASYNC>

If you are going to use an encrypted password (which is the recommended best practice), following will be the command syntax:

executescript <username> <password | -f:password.txt> "<script name>" "<parameterdisplay1=value1>" "<parameterdisplay2=value2>" <SYNC | ASYNC>

You will find the configuration steps for password encryption in the FDMEE admin guide as shown below:

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

You need to ensure that your encrypted password.txt file is placed in the location defined in Navigate-Administer-Data Management-Setup tab-System Settings-Encrypted Password Folder.

Automating 'Maintain EBS GL Balances Table' System Maintenance Task:
---------------------------------------------------------------------------------------
In this post, we will see how to automate 'Maintain EBS GL Balances Table' System Maintenance Task. I suggest you to first read this post FDMEE: System Maintenance Tasks: Maintain EBS GL Balances Table for theoretical understanding, manual implementation, and post-execution activities of 'Maintain Process Tables' System Maintenance Task.

When you execute ‘Maintain EBS GL Balances Table’ purge script manually from Data Management console, it seeks the following input parameter: 
  • Source System
  • Start Period
  • End Period
To run ‘Maintain EBS GL Balances Table’ purge script using executescript.bat command-line utility below is the command syntax:

executescript username password "MaintainEBSGLBalancesTable" "Source System=EnterSourceSystemID" "Start Period (format must be yyyy-mm-dd)=EnterStartPeriod" "End Period (format must be yyyy-mm-dd)=EnterEndPeriod" SYNC

Description:
  • Source System: In Source System you need to enter the ID number of your respective source system what you get in the output by running below query against FDMEE schema:
SELECT SOURCE_SYSTEM_NAME, SOURCE_SYSTEM_ID FROM AIF_SOURCE_SYSTEMS;

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

Above query-output is same as what you see in Data Management console Source Systems list values while manually running Maintain EBS GL Balances Table script, as shown below:

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

  • Start Period and End Period can be chosen from the values what you get in the output by running below query against FDMEE schema:
          SELECT PERIODDESC, PERIODKEY FROM TPOVPERIOD;

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

Above query-output is same as what you see in Data Management console Period list values as shown below:

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

If you want to quickly check what is the min and max value of period to help you choose your Start Period and End Period, you can run below query against FDMEE schema:

           SELECT MIN(PERIODKEY), MAX(PERIODKEY) FROM TPOVPERIOD; 

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

Note: Start Period and End Period values must be entered in the 'YYYY-MM-DD' format only.

Now let's understand the automation script for 'MaintainEBSGLBalancesTable' with the help of an example.

Suppose using FDMEE Admin user, you want to run 'Maintain EBS GL Balances Table' purge script for 2 Source Systems (IDs 7 & 8) for the Start Period Nov 2016 to End Period Oct 2017.

In order to achieve the above goal, create a batch script name 'MaintainEBSGLBalancesTable.bat' under folder E:\Admin\scripts having the following content: 

MaintainEBSGLBalancesTable.bat:
--------------------------------------------------

@echo off
REM Set the value for the variables 
set "username=admin"
set "password=YourAdminPassword"
set "startperiod=2016-11-01"
set "endperiod=2017-10-31"
set "logfile=E:\Admin\scripts\MaintainEBSGLBalancesTable.log"

REM Clear the content of existing logfile
rem.> %logfile%

REM Navigate the executescript.bat utility folder
cd "E:\apps\OracleEPM\Middleware\user_projects\epmsystem_fdm\FinancialDataQuality"

REM Run executescript to perform "MaintainEBSGLBalancesTable" for a set of Source System IDs and for mentioned Start and End Period

for %%f in (7 8) do (
   echo call executescript %username% %password% "MaintainEBSGLBalancesTable" "Source System=%%f" "Start Period (format must be yyyy-mm-dd)=%startperiod%" "End Period (format must be yyyy-mm-dd)=%endperiod%" SYNC
   call executescript %username% %password% "MaintainEBSGLBalancesTable" "Source System=%%f" "Start Period (format must be yyyy-mm-dd)=%startperiod%" "End Period (format must be yyyy-mm-dd)=%endperiod%" SYNC
echo ------------------------------------------------------------------------------
echo ------------------------------------------------------------------------------
) >>%logfile%

cd E:\Admin\scripts

You can put your Source System IDs in the segment (7 8) separated by a single space. 

Change the paths and variables mentioned in the script as per your requirement and FDMEE application setup.

Now login to your FDMEE server, open an Administrator Command prompt, and run 'MaintainEBSGLBalancesTable.bat'.

After completion of the script your log file will be generated in below format:

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

To verify whether your above-mentioned process IDs have successfully completed or not, you can navigate to Process Details page (In Data Management console, click on the Process Details link under the Workflow tab—Monitor—Process Details):

Automation of 'Maintain EBS GL Balances Table' System Maintenance Task

We see our process IDs have executed successfully. Click on the 'Show' button against the respective Process IDs to open the corresponding log file to see more details. 

That's all for this post.

I hope this article has helped you.
Your suggestions/feedback are most welcome.
Keep learning and Have a great day!!!

1 comment: