More Related Content
Similar to RMiller.FromMaxL.presentation
Similar to RMiller.FromMaxL.presentation (20)
RMiller.FromMaxL.presentation
- 1. Emtec, Inc. Copyright © 2016. All Rights Reserved.
Translating Hyperion Planning Automation Methods from On-Premise to the Cloud
Randy Miller – June 27, 2016
From MaxL to EPM Automate
- 3. 3
CONFIDENTIAL | © 2016 Emtec, Inc.
Randy Miller
o Got into Hyperion directly out of college and haven’t left!
Essbase & Planning
HFM
FDMEE
o Generally the guy to go figure out new tools, applications
& functionality and tell the rest of the practice
o Based out of Charlotte, NC
o KScope Rookie!
- 5. Agenda
• Introduction & Setup
• Comparison of theTypical Nightly Process
• Step By StepThrough Each Process
• Q&A
- 6. 6
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup
o Intent is to focus on EPM Automate.
o Overview of EPM Automate
Used for automating various administrative tasks
Downloadable from the Cloud
Command Line / Batch / Shell Script Execution
o GlobalVariable File
Called at Beginning of Process
Sets GlobalVariables (Environment)
Time Stamps
Pathing
User/Pass
SubVars
- 8. 8
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup – General Scripting
o Echo Starting Point to “Full Log”
o Run Desired Command
o Process Logger & Error Notification
o Exit if Error
- 9. 9
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup - Logging
o Similar to any batch process we can direct the output to logs.
o In these examples we have: “Process Log” and a “Full Log”
Process Log is updated via a “ProcLogger” batch file
%FILE_PROCLOG%
Declares whether a process was successful or failed.
If failed it grabs the error message and exits the nightly process
Full log is the standard output and logging of EPMAutomate.
%FILE_OUTLOG%
Any output from the EPMAutomate processes are capture here.
- 10. 10
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup – Error Handling
o If using Windows, %ErrorLevel% will store the error code. For
EPMAutomate a zero means there was no error, greater than zero
means there was error.
Status Code Description Status Code Description
0 Operation completed without errors. 6 Service is not available.
1 Operation failed to execute because of an
error
7 Invalid command.
2 Cancel pending. 8 Invalid parameter.
3 Operation is terminated by the user. 9 Invalid user name, password or identity domain.
4 Incorrect parameters. 10 Expired password.
5 Insufficient privileges. 11 Service is not available.
- 11. 11
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup - Debugging
o EPMAutomate doesn’t always give easily decipherable error
messages.
o After any epmautomate command you run, if you do the following it
will write debug information (more detail) to a file.
Default Debug Log Location: OracleEPM Automatebin
Specify location – Just redirect to a file
Debug won’t always give the answer, but might give you a better idea
- 12. 12
CONFIDENTIAL | © 2016 Emtec, Inc.
Introduction & Setup – Logging In
o epmautomate login <User> <Password/File> <URL> <Domain>
o Encrypting the password to use a password file
epmautomate encrypt <Password> <EncryptionKey> <FileLocation>
Encryption Key can be any phrase (if using spaces, enclose in quotes).
File Location is where you want the encrypted password file to end up
- 13. 13
CONFIDENTIAL | © 2016 Emtec, Inc.
Nightly Process
Process
On-Premise
MaxL
PBCS
EPM Automate
Initial Process
SubVars SetVariable Function EPMAutomate Function
Maint Mode HP Utility N/A
Backup
LCM For All Objects
System Level Zero Export
Download Artifact Snapshot
Clear Data Reset Cube (Full Clear) Clear Only Current Month
Metadata Load & Refresh Outline Load Utility Import Metadata Job
Load Data
FDMEE
EAS Load Rule
Data Integration (FDMEE)
Import Data Job
Aggregate & Calculate
Essbase Calc Script
Business Rule
Business Rule
Move to Reporting Cube
PlanType Map
Export / Clear / Import
PlanType Map
Export / Clear / Import
- 14. 14
CONFIDENTIAL | © 2016 Emtec, Inc.
Initial Process
MaxL & HP Utilities
o MaxL to set substitution
variables
o MaxL to remove any locks on
objects and kill sessions
o MaintenanceMode.cmd to
keep users out of the system
EPM Automate
o setsubstvars Function
o There is no automated
equivalent for:
Removing locks on objects
Kill any sessions
Put the application in
maintenance mode
o Note: removing locks on objects was more for
unlocking the outline, which as we don’t have
access to EAS should no longer be an issue.
- 15. 15
CONFIDENTIAL | © 2016 Emtec, Inc.
Initial Process – Set SubVars
o Set in the GlobalVariables File
o Can set all variables at once by concatenating them into one variable
o epmautomate setsubstvars <Level> <SubVar>=<Value>
<Level> = Either a PlanType or “ALL” for global
<SubVar>=<Value> = SubVar name and what you want to set it to. Can set multiple sub vars
in one call if they are all space delimited
- 16. 16
CONFIDENTIAL | © 2016 Emtec, Inc.
Backup
MaxL & LCM Utility
o Setup an Export in LCM
o Run Utility.cmd with that same
definition
o MaxL to Export Level Zero
EPM Automate
o Artifact Snapshot is generated
every night
o Use “Set MaintenanceTime” to
control when
Note:You should run a refresh
database before your MtcTime
o Data is included (All Level)
o Just download the snapshot!
- 17. 17
CONFIDENTIAL | © 2016 Emtec, Inc.
Backup (Auto Generated LCM File)
o Auto Generated Backup is named “Artifact Snapshot”
Includes All Level Data
o Only need to download the backup
- 18. 18
CONFIDENTIAL | © 2016 Emtec, Inc.
Backup (Custom LCM File)
o Similar to On-Prem – Create a custom LCM export to execute
o Select the Applications you want to export
data/object from
o Once finished click export
o All selections you have made (for all
applications) will be exported
o Take note of the name of the snapshot (i.e.
PLANDEMO_NoData) as you will use this
later in EPMAutomate
- 19. 19
CONFIDENTIAL | © 2016 Emtec, Inc.
Backup (Custom LCM File)
o Similar to On-Prem – Create a custom LCM export to
execute
o Change %HP_BKUP_FILE% in our “Global” variables to the
new Snapshot name
- 20. 20
CONFIDENTIAL | © 2016 Emtec, Inc.
Clear Data
MaxL
o Reset Data Function in MaxL to
clear whole cube
Typically done to save time on
restructure & defragment the
cube
o Run a clear calc script to clear
only current month (or all
actual months)
EPM Automate
o We cannot clear the entire cube
in an automated fashion
o runbusinessrule EPM Automate
function to clear only current
months (or all actual months)
- 21. 21
CONFIDENTIAL | © 2016 Emtec, Inc.
Clear Data –Without RTP’s
o You can run business rules (remember, no ESB Calc Scripts!) either
with or without Run-Time Prompts.
o epmautomate runbusinessrule <PlanType> <RuleName>
If you have the same rule name in two plan types, you need to specify which
plan type to run it on. Otherwise, it is optional
- 22. 22
CONFIDENTIAL | © 2016 Emtec, Inc.
Clear Data –With RTP’s
o Identical to running it without RTPs, we just include them at the
end.
o You can specify multiple RTPs for a single rule
o epmautomate runbusinessrule <PlanType> <RuleName> <RTPs>
RTPs are entered after the rule, space delimited
- 23. 23
CONFIDENTIAL | © 2016 Emtec, Inc.
Rulesets
o I have tried several different methods to call a rule set.
o Within the confines of EPMAutomate, I have not identified a way to
accomplish this.
o When debugging, the “runbusinessrule” function appears to be
looking for the job name you specified with the type “RULE” only.
o Rulesets however are of the type “RULESET”
o This can be accomplished using the REST API.
- 24. 24
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh
Outline Load Utility (OLU)
o Call the OLU from the planning
server to load data
o Use the “/c” switch to perform
a refresh on last import
EPM Automate
o Setup an import job
Define each dimension to be
imported
o When saving the job check
“Refresh Database if Import
Metadata is successful”
o Note: Will import in the sort
order specified in file!
- 25. 25
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh
o Nightly Import of Metadata
o Multiple CSV files in one ZIP Archive
Account,Customer, Department, Employee, Entity
o Name the files to end with _<Dimension>.csv
Zip ArchiveTakes Precedence over what is Defined in Import Rule.
CASE SENSITIVE!
o Metadata Import Sequence:
Delete Old File (DailyMetadata.zip)
Combine All Files into a Zip Archive
Upload New File
Import Metadata
- 26. 26
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh – Delete Old File
o There is no “Overwrite” option so we need to remove the existing
one before
o Note that we do not do any sort of “error trapping” here.
In case someone already deleted the file or moved it.
o If this process fails to delete the file the next step will fail anyway.
- 27. 27
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh – Zip Files
o Can upload multiple files at once as a Zip Archive
o You can specify the specific dimension in each file name using the
convention: “_<Dimension>.csv”
Note that it is Case Sensitive
Otherwise you can specify the filename in the Import Job
- 28. 28
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh – Upload
o Upload the same filename every night
i.e.The one you just deleted the step before.
o Archive in the filesystem, not in the cloud.
o epmautomate uploadfile “<FilePathToZipArchive>”
- 29. 29
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh – Import Metadata
o Create a Metadata Import Job
Simplified Interface -> Console -> DimensionsTab -> Import -> Create
Specify Import File Name & Delimiter
- 30. 30
CONFIDENTIAL | © 2016 Emtec, Inc.
Metadata Load & Refresh – Import Metadata
o Now that the file is uploaded we can Import
o epmautomate <ImportJob> <FileName>
If you upload each individual .csv specified in import job into the inbox, you
do not need to include the filename
<FileName> in our case is the zip file we just uploaded.
- 31. 31
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data
MaxL & EAS Load Rule
o If we did a full clear we would
be loading the Level Zero data
back into the system
o Load rule to load current
month (or all actual months)
EPM Automate
o Upload File to Inbox
o Three Options to Load:
Native ESB Load
FDMEE
HP Outline Load Utility
o Follows same process as Metadata
Delete Old File
Zip File(s)
Upload Zip
Run Import Job
- 32. 32
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data
Native Essbase Load
o EPMAuto Function: importdata
o Create an Import Data Job
o .TXT File Only
Space orTab Delimited
o Must be in Metadata Format
Contains Prefix/Suffix etc
o Overwrite Only
o Exits on a Single Error
o Can doWFP Loads “more easily”
FDMEE
o EPMAuto Function: rundatarule
o Requires More Effort to Setup
o Can handle Mappings / Prefix /
Suffix / Ignores etc
o Can Perform Load Functions:
Merge
AddTo
Subtract From
Overwrite (Replace)
o Cannot do generalWFP loads (i.e.
accounts in the columns)
- 33. 33
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data – Native Essbase Load
o The following is the most simple way to build the file (IMO).
Specify all dimensions in except for the data columns
First row contains the column headers for the data columns
Could be Periods or Accounts or any dense dimension.
Period (Header), Account (“A61100”) and Currency (“Local_Currency”) are dense
o Create a data import rule:
Simplified Interface -> Console
-> Actions -> Import Data -> Create
- 34. 34
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data – Native Essbase Load
o The job will load all files contained in the ZIP Archive
o File should be in the planning inbox
o epmautomate importdata <ImportJob> <File>
- 35. 35
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data – FDMEE (Data Management)
o Create (in order):
Source System
Target Application
Import Format
Data Load Rule
Data Load Mappings for each Dimension
o Import Data File into the FDMEE Repository.Technically you do not
have to import into this folder.
o epmautomate uploadfile <SourceFile> <TargetFolderPath>
- 36. 36
CONFIDENTIAL | © 2016 Emtec, Inc.
Load Data – FDMEE (Data Management)
o Execute the Data Rule that you created in the last step
o Epmautomate rundatarule <RuleName> <StartPer> <EndPer>
<Import_Mode> <Export_Mode> <DataFile>
<StartPer> = Starting Period
Use the “Period Name” in the Period Mappings
<EndPer> = Ending Period (If using single period this will = StartPer)
<Import_Mode> = Append / Replace / None
<Export_Mode> = Store_Data / Add_Data / Subtract_Data / Replace_Data /
None
- 37. 37
CONFIDENTIAL | © 2016 Emtec, Inc.
Aggregate & Calculate
MaxL / Business Rules
o Use MaxL for simple Essbase
calculation scripts.
o CalcMgrCmdLineLauncher.cmd
Can use RunTime Prompts
EPM Automate
o runbusinessrule EPM Automate
Function
Can use RunTime Prompts
o Identical to the Clear Process
- 38. 38
CONFIDENTIAL | © 2016 Emtec, Inc.
Move Data to Reporting Application
MaxL / HP Utility
o Use MaxL to:
Call an Export Calc Script
Clear Data inTarget Cube
Load Data
o Map a reporting application
Use RunData.cmd HP Utility
EPM Automate
o Export/Import process can be
accomplished using Business
Rules or Jobs
o Map a reporting application
Use runplantypemap EPM
Automate function
- 39. 39
CONFIDENTIAL | © 2016 Emtec, Inc.
Move Data to Rptg App – Export/Import
o Two Options for export:
Create a business rule using DATAEXPORT
DATAEXPORT "File" " " "/u03/lcm/MoveData.txt";
Use a space as a delimiter
Create an export Job
o Both can be loaded using a native Essbase Import Job
o Both export to the Planning Inbox
- 40. 40
CONFIDENTIAL | © 2016 Emtec, Inc.
Move Data to Rptg App – PlanType Map
o Ran on-prem to look at App Log to determine what is happening..
It runs an export & import
o If you only need to move the data (i.e. don’t need to run any
calculations before) this is a simpler option.
This will export dynamic dense members!
o Administration -> Map Reporting Application
Fill out all required sections.
o Epmautomate runplantypemap <JobName> <cleardata=true/false>
- 41. 41
CONFIDENTIAL | © 2016 Emtec, Inc.
Other Functions
o Refresh Cube
epmautomate refreshcube
o Cycling Services
epmautomate resetservice
o Copy PRD to DEV (Copy Snapshot From Instance)
Login to target instance, i.e. DEV (your “test” instance)
All Parameters refer to the source instance, i.e. PROD.
epmautomate copysnapshotfrominstance <SnapshotName> <User> <Pass/File>
<URL> <Domain>
o Provision Report
Epmautomate provisionreport <ReportName.csv>
And finally a report so many have asked for…
- 42. 42
CONFIDENTIAL | © 2016 Emtec, Inc.
User Audit Report
o epmautomate userauditreport <FromDate> <ToDate> <ReportName>
Data Format: “YYYY-MM-DD”
Editor's Notes
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.
- Working Code will be used – everything was tested to ensure it is working, but this is still sample code.