Taking Your FDM Application to the Next     Level with Advanced Scripting             Tony Scalese             Edgewater R...
About Edgewater Ranzal                         One of the Largest                         Oracle/Hyperion Practices in    ...
Our Services                       Business      Consolidation                   Planning                      Intelligenc...
Who Is Tony Scalese Over 10 years Experience with Data Integration and Financial Planning & Consolidation on the Hyperion ...
Agenda     Script Types                          Import Scripts                                            Event Scripts  ...
What is FDM Scripting? FDM has a powerful scripting engine that leverages the VBScript programming language to further ext...
Script Types Import: Execute during the import workflow stage when assigned to the import format used by the location proc...
Import Scripts DataPump – Used with Delimited & Fixed Width Import formats   Execute for the dimension to which they are a...
Import Scripts – Some Facts API objects are not available for use in Import Scripts - Data Pump or Integration Data Pump s...
Import Scripts – The #1 Pitfall Pre/Cross Dimensional Mapping - if source account is X, Y or Z then Entity is A   While th...
Example Integration Script       Package Create connection to source   Connection strings vary based on source   DB type R...
Event Scripts – Some Facts Only execute when the Event actually has code Application passes certain arguments to the event...
Event ScriptsEvent Script             ExecutedStartUp                  During Log In and Logout of the applicationShutDown...
Event ScriptsEvent Script               ExecutedValidate (Bef & Aft)       During Validate workflow stepExportToDat (Bef &...
Event ScriptsEvent Script          ExecutedArchiveItemAction     During archive of import & export filesControlsAction    ...
Custom Scripts – Some Facts
Custom Scripts 3 types of Custom scripts   General: All other actions in FDM; example –   Batch loader script   Plug-In: N...
Running SQL from Scripts Select Queries – Used to retrieve data from a table   Set rs = DW.DataAccess.farsKeySet(strSQL) D...
Scripting Objects File System Object   Set FSO =   CreateObject(“Scripting.FileSystemObject)   Set objFile = FSO.CreateTex...
Batch Loader From the Workbench, Tools     Batch Processing Set the Batch Processing options and click Create Script
Batch Loader Script         Package Process Level – Tells FDM which workflow steps to perform; see enmBatchProcessLevels D...
Object Browser Object Browser contains a list of all of the API functions that are available to be used in FDM scripts Obj...
Accelerators Accelerators are prewritten snippets of code that perform common scripting operations including:   Get detail...
Using Accelerators Select the section of the script where you need the accelerator code Double click the accelerator and t...
Adaptor Specific Objects Import the Type Library of the Adaptor Right click the object browser and select Add Type Library...
Scheduling Scripts FDM Task Manager – FDM component that allows custom scripts to be scheduled on specific intervals; seco...
Task Manager Select application & script to execute Specify Login credentials – non expiring recommended Specify Time inte...
FDM Shell Shell object is in the SharedComponents of the installation directory Double click the UPSShell executable Open ...
FDM Shell Syntax C:OracleMIDDLE~1EPMSYS~1productsFINA NC~1SHARED~1upsShell.exe CustomScriptEx=AppName~UserID~PW~DOMA IN~Lo...
Taking a Detour – HFM Architecture HFM subcubes are the intersection of the Accounts, ICP, Custom1-4 & Period for the Year...
Preliminary Load Preliminary load includes a errant G/L posting that misclassifies data into the ‘Rhode Island’ entity
Reload G/L posting is corrected and previous entry is re-classed from Rhode Island to Massachusetts Data is not cleared fr...
How Can FDM Help?Smart Replace is a Ranzal custom developedFDM solution that addresses this common dataquality issue cause...
Reload with Smart Replace G/L posting is corrected and previous entry is re-classed from Rhode Island to Massachusetts Dat...
What To Learn More? FDM Adaptor Actions FDM API Guide   http://www.oracle.com/technology/documentation/epm.html Oracle Tec...
Scripting Challenge Tell me a problem you are facing in your FDM application that you believe or know custom scripting wil...
QuestionsTony Scaleseascalese@ranzal.comwww.ranzal.com
Other Ranzal PresentationsCalculation Manager: The New and Improved Application to Create Hyperion   Planning Business Rul...
Upcoming SlideShare
Loading in...5
×

Taking Your FDM Application to the Next Level with Advanced Scripting

12,004

Published on

Ranzal Practice Director, Tony Scalese conducted this presentation at the recent ODTUG Kaleidoscope conference in Long Beach, California.

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
  • http://www.dbmanagement.info/Tutorials/DRM.htm
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
12,004
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
579
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Taking Your FDM Application to the Next Level with Advanced Scripting

  1. 1. Taking Your FDM Application to the Next Level with Advanced Scripting Tony Scalese Edgewater Ranzal www.ranzal.com
  2. 2. About Edgewater Ranzal One of the Largest Oracle/Hyperion Practices in the U.S. Oracle / Hyperion Platinum 15 Years Partner - Highest Status 700+ clients 1000+ projects Vertical Expertise with High- Profile Clients from Coast to Coast Sound Project Methodology Insures Project Success “One Stop Shop” for ALL EPM Implementation needs
  3. 3. Our Services Business Consolidation Planning Intelligence Data Project Infrastructure Services Management
  4. 4. Who Is Tony Scalese Over 10 years Experience with Data Integration and Financial Planning & Consolidation on the Hyperion suite of products Established many innovative FDM design, customization and automation concepts that have evolved into standard Industry-wide practices. Certified HFM Consultant - System 9 & Fusion 11 Present at Oracle conferences, Ranzal webcasts and post on Oracle Technology Network (OTN) and blog on www.FDMGuru.com B.A. Economics, Allegheny College; MBA Candidate, Babson College
  5. 5. Agenda Script Types Import Scripts Event Scripts Custom Scripts Tips & Tricks Common Script Usage Batch Scripts Leveraging Workbench Scheduling Scripts Solution Overview & Wrap-up Smart Replace Resources Scripting Challenge
  6. 6. What is FDM Scripting? FDM has a powerful scripting engine that leverages the VBScript programming language to further extend the application’s functionality Scripts can be used to execute SQL queries Scripts can leverage windows objects (Shell) to execute batch command files FDM Scripting is as powerful as your programming skills & knowledge of the application architecture
  7. 7. Script Types Import: Execute during the import workflow stage when assigned to the import format used by the location processing data Event: Execute during predefined “events” within the application. These are similar to Excel workbook macros that execute “OnOpen” Custom: All other scripts that are used to perform additional actions/functions in FDM
  8. 8. Import Scripts DataPump – Used with Delimited & Fixed Width Import formats Execute for the dimension to which they are assigned in the import format. Execute for each line in the data file Integration – Used with Script Import Formats Used to provide direct integration to relational sources Executes SQL queries to retrieve data from source Often Utilizes an ADO connection Working example in the Admin Guide
  9. 9. Import Scripts – Some Facts API objects are not available for use in Import Scripts - Data Pump or Integration Data Pump scripts are passed the field (strField) defined by the import format – i.e, field x of y - as well as the entire record (strRecord) Temporary variables can be used during the import process and accessed by other import scripts – RES.pVarTempx You cannot execute Import scripts from the script editor
  10. 10. Import Scripts – The #1 Pitfall Pre/Cross Dimensional Mapping - if source account is X, Y or Z then Entity is A While there are times this can be necessary, robust event scripting can often address the need for this logic Why is this approach flawed? Limited visibility to the true source value for a given dimension Mapping “logic” is likely no longer an end user function; scripts are only visible to administrators Any time the logic changes, the data file must be re- imported ERPi does not currently support modifications to the source member that was extracted from the G/L
  11. 11. Example Integration Script Package Create connection to source Connection strings vary based on source DB type Run query to get source records SQL Select query Append query result to FDM worktable
  12. 12. Event Scripts – Some Facts Only execute when the Event actually has code Application passes certain arguments to the event script when triggered “Action” event scripts often execute multiple subprocesses and/or other event scripts You cannot add “new” Event scripts You cannot execute Event scripts from the script editor
  13. 13. Event ScriptsEvent Script ExecutedStartUp During Log In and Logout of the applicationShutDown Does not execute in 11.1.2.0StatusMessage When using the API function mStatusMessageSystemLocked When the system is LockedPOVChanged When the point-of-view is changedSecurityChanged When security is changedImportMap (Bef & Aft) During the Import of a mapping .TRx fileCopyMap (Bef & Aft) During the Copy of map from one location to anotherClearData (Bef & Aft) When data is cleared for a given point-of-viewFileImport (Bef & Aft) When a flat file is imported; does not apply to adaptor & script based import formats
  14. 14. Event ScriptsEvent Script ExecutedValidate (Bef & Aft) During Validate workflow stepExportToDat (Bef & Aft) During Export step when a data file is createdLoad (Bef & Aft) During Export step when data file export is loaded to target systemConsolidate (Bef & Aft) During a target system is consolidationCheck (Bef & Aft) When Check workflow stepCalculate (Bef & Aft) When Calculate is executed; Process Logic/MapsProcLogicGrp (Bef & Aft) When Logic groups applied; during Import & Process Logic/MapsProcMap (Bef & Aft) When Maps are applied; during Import & Process Logic/Maps; only executes for locations with Wildcard maps
  15. 15. Event ScriptsEvent Script ExecutedArchiveItemAction During archive of import & export filesControlsAction During Certification (un)Review & (un)SubmitImportAction When Import workflow step is runMemoItemAction When Memos are added, updated or deletedMultiloadAction During Multi-Load and Journal processingBatchAction During batch executionBatchAutoMapCorrect During a batch process that utilizes the autocorrect mapping feature
  16. 16. Custom Scripts – Some Facts
  17. 17. Custom Scripts 3 types of Custom scripts General: All other actions in FDM; example – Batch loader script Plug-In: No longer used Web: Used to create tasks flows that allow end users to execute scripts without requiring access to script editor
  18. 18. Running SQL from Scripts Select Queries – Used to retrieve data from a table Set rs = DW.DataAccess.farsKeySet(strSQL) DML Queries – Used to Update/Insert/Delete data blnResult = DW.DataManipulation.fExecuteDML(strSQL)
  19. 19. Scripting Objects File System Object Set FSO = CreateObject(“Scripting.FileSystemObject) Set objFile = FSO.CreateTextFile(PathToFile, OverwriteExisting, blnUnicode) Windows Shell Object Set wShell = WScript.CreateObject("WScript.Shell") lngResult = WShell.Run(strCommand, WindowStyle, blnWaitOnReturn)
  20. 20. Batch Loader From the Workbench, Tools Batch Processing Set the Batch Processing options and click Create Script
  21. 21. Batch Loader Script Package Process Level – Tells FDM which workflow steps to perform; see enmBatchProcessLevels Delimiter – File name delimiter use in the batch file name. Example: 1~Location~Category~Period~rr.txt Map Auto Correct – Controls if FDM should automap missing members to a default/suspense member; True/False
  22. 22. Object Browser Object Browser contains a list of all of the API functions that are available to be used in FDM scripts Object Browser is only available in WorkBench Many objects provide a description of the return or required arguments
  23. 23. Accelerators Accelerators are prewritten snippets of code that perform common scripting operations including: Get detailed POV information (location metadata) Create and loop through a recordset Work with text files using FSO Send email Accelerators provide 70-80% of the code, you will often need to update/refine
  24. 24. Using Accelerators Select the section of the script where you need the accelerator code Double click the accelerator and the code is inserted Refine as needed – you will need to review the code
  25. 25. Adaptor Specific Objects Import the Type Library of the Adaptor Right click the object browser and select Add Type Library Browse to the adaptor folder and import the AdaptorName.tlb file
  26. 26. Scheduling Scripts FDM Task Manager – FDM component that allows custom scripts to be scheduled on specific intervals; seconds, days of the week, specific day(s) each month FDM Shell Object – Used to execute custom scripts from a windows batch file; batch file can be scheduled within Windows Scheduled Tasks or any enterprise scheduling software
  27. 27. Task Manager Select application & script to execute Specify Login credentials – non expiring recommended Specify Time interval to execute
  28. 28. FDM Shell Shell object is in the SharedComponents of the installation directory Double click the UPSShell executable Open Notepad and paste Default syntax is provided Consists of 2 parts – Path to FDM Shell & Call to script
  29. 29. FDM Shell Syntax C:OracleMIDDLE~1EPMSYS~1productsFINA NC~1SHARED~1upsShell.exe CustomScriptEx=AppName~UserID~PW~DOMA IN~LoadBalancerName~LogDirectory~ScriptNa me~LanguageCode(Default=1033)~EncodeUnic ode(Default=0) C:OracleMIDDLE~1EPMSYS~1productsFINA NC~1SHARED~1upsShell.exe CustomScriptEx=App1~admin~password~~local host~C:Temp~BatchLoad~1033~0
  30. 30. Taking a Detour – HFM Architecture HFM subcubes are the intersection of the Accounts, ICP, Custom1-4 & Period for the Year, Entity, Scenario and Value dimensions When loading in replace mode, the entire subcube is cleared for each unique Year, Entity Scenario that is contained in the data This is the default HFM behavior – loading through FDM or directly in HFM through load tasks Data is “orphaned” in HFM if an entity is loaded and then in subsequent loads is not part of the data set – meaning potentially inaccurate financial results
  31. 31. Preliminary Load Preliminary load includes a errant G/L posting that misclassifies data into the ‘Rhode Island’ entity
  32. 32. Reload G/L posting is corrected and previous entry is re-classed from Rhode Island to Massachusetts Data is not cleared from Rhode Island since no data exists in the G/L file for R.I. HFM is wrong!
  33. 33. How Can FDM Help?Smart Replace is a Ranzal custom developedFDM solution that addresses this common dataquality issue caused by the default clearbehavior of HFM A list of the unique entities that have been loaded to HFM is maintained The data that is currently being loaded to HFM is compared against the list of historically loaded data If any “orphaned” entities are found, a data clearing record for that entity is added to the data set being loaded
  34. 34. Reload with Smart Replace G/L posting is corrected and previous entry is re-classed from Rhode Island to Massachusetts Data is cleared from Rhode Island by the custom Smart Replace functionality HFM is correct!
  35. 35. What To Learn More? FDM Adaptor Actions FDM API Guide http://www.oracle.com/technology/documentation/epm.html Oracle Technology Network (OTN) http://forums.oracle.com/forums/forum.jspa?forumID=409&s tart=0 Ranzal & Associates http://www.ranzal.com W3 Schools http://www.w3schools.com Google
  36. 36. Scripting Challenge Tell me a problem you are facing in your FDM application that you believe or know custom scripting will address Entries can be dropped at the Ranzal booth or email me (ascalese@ranzal.com) before the end of the conference I will select 1 challenge and create a script that addresses the issue I will schedule a 1 hr web session to demo the solution
  37. 37. QuestionsTony Scaleseascalese@ranzal.comwww.ranzal.com
  38. 38. Other Ranzal PresentationsCalculation Manager: The New and Improved Application to Create Hyperion Planning Business Rules – Monday, 11:15 am, Room 102CSecurity and Auditing in HFM – Tuesday, 4:30pm, 101BBest Practices for Using DRM with EPMA – Wednesday, 8:30am, 103AGetting Started with Calc Manager for HFM – Wednesday, 8:30am, 101BAdvanced Topics in Calc Manager for HFM – Wednesday, 9:45am, 101BMaximizing the Value of an EPM Investment with ERPi, FDM & EPMA – Wednesday, 11:15am, 101BTaking your FDM application to the next level with Advanced Scripting – Friday, 8:30am, 101BIFRS reporting within Hyperion Financial Management – Thursday, 10:30am, 101B
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×