Your SlideShare is downloading. ×
Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shared Services
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Hyperion EPM APIs - Added value from HFM, Workspace, FDM, Smartview, and Shared Services

4,978
views

Published on

Application Programming Interfaces allow developers to leverage existing program code in an effort to build additional functionality, automate processes or present existing functionality in a …

Application Programming Interfaces allow developers to leverage existing program code in an effort to build additional functionality, automate processes or present existing functionality in a different format. APIs exist for many of Hyperion products; however, clear examples of how to use them are not always easy to find nor are applications for the API readily available. Proper application of the APIs for HFM, Workspace, FDM, Smartview and Shared Services can simplify the daily routines of end users and administrators.

This session will provide a high level overview of how each of the APIs work. Additionally, real-world examples for each API will be provided. Fully working code will be available for download from the ODTUG 12 site which attendees can use in their own environments.

Published in: Technology

1 Comment
1 Like
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
4,978
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
113
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • This is your opening slide.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Use this template for all your content slides. There are also other layout slides you can feel free to use.
  • Transcript

    • 1. #Kscope APIs Getting Added Value From HFM, Workspace, FDM, Smartview, and Shared Services Charles Beyer Troubleshooting steps for diagnosing HFM, Workspace, and FDM
    • 2. #Kscope About the Speaker  15+ years professional development experience in various languages/technologies (6 years w/ Hyperion products)  Independently released commercial software products  Loves to help others solve problems  Posts under beyerch2 on OTN Discussion Boards
    • 3. #Kscope Before we Begin…..  Code Samples for all examples are at end of powerpoint (Download latest version!)  To expedite session, we will use both screen caps and live demos  ‘All-in-one’ Virtual Machine created for session, available upon request*  If we hit time limit, there is enough shared information that most should be able to perform remainder of samples
    • 4. #Kscope Session Goals  Gain High Level Exposure to Select EPM API Libraries  Recognize Added Value of APIs  DO NOT FEAR APIs, They Are Your Friend!
    • 5. #Kscope Development Challenges  Out Of The Box (OOTB) product functionality is rarely a perfect fit ● Custom Workflow Requirements from Client ● Missing/Incomplete Product Functionality  Limited Development Resources ● Tight Deadlines ● Limited Budgets for Custom Development  Steep Learning Curves ● Difficult to Master Continually Evolving Software ● Introduces Software Defects
    • 6. #Kscope APIs to the Rescue!  Enables Extensibility of Product  Alleviates Development Pressures ● Lessens Development Time and Cost ● Simplifies Learning Curve ● Minimizes Defects  ‘Future’ Proofs Your Work  Grows Hair Back*  Solves Economy Problems  Extends Lifespan (yours)* *Not evaluated by FDA
    • 7. #Kscope What exactly is an API? What  Set of standard function calls / procedures with well defined inputs and outputs that abstract complex logic from developers (i.e. Black Box)
    • 8. #Kscope What APIs are available?  Virtually all EPM products have an API available, though we will focus on: ● HFM ● FDM ● Smart View ● Workspace ● Shared Services
    • 9. #Kscope HFM API
    • 10. #Kscope API Overview - HFM  Two Major API Libraries ● Web Object Model – Web Server Components used by ASP web pages ● COM Components – Primarily Used to talk to Application Server Tier. Typically interfaced in VB6, .NET application, though any language that supports COM can make use. ● Offer similar functionality with few exceptions such as Consolidations (COM), Document Library (Web)
    • 11. #Kscope API Overview – HFM (cont.)  Pre-Requisites ● Web Object Model ● Execute Code on HFM App Web Server ● COM Object Model ● HFM Client Installed on Computer ● Install FM App Server Files to Local Machine –or- have read only access to files  HFM API TIP ● Get the SDK! (http://www.oracle.com/technetwork/middleware/fina ncial-management/overview/index.html)
    • 12. #Kscope API Overview – HFM (cont.)  Sample Programs ● HFM Client Utility Improvement – Multi Data Export ● Command Line / Scheduled Task (VBS) ● HFM-Batch ● C# Command Line Implementation of common API features by Adam Gardiner ● https://github.com/agardiner/hfm-batch Note : If you do not own Visual Studio, there are free versions available. (http://www.microsoft.com/visualstudio/en- us/products/2010-editions/express)
    • 13. #Kscope HFM API DEMO HFM CLIENT IMPROVEMENT
    • 14. #Kscope HFM CLIENT IMPROVEMENT
    • 15. #Kscope HFM CLIENT IMPROVEMENT (cont)
    • 16. #Kscope HFM CLIENT IMPROVEMENT (cont)
    • 17. #Kscope HFM CLIENT IMPROVEMENT (cont)
    • 18. #Kscope HFM CLIENT IMPROVEMENT (cont)
    • 19. #Kscope HFM CLIENT IMPROVEMENT (cont)
    • 20. #Kscope FDM API
    • 21. #Kscope API Overview - FDM  One Object Model (COM), Multiple Ways to Access ● FDM Scripts – Primary (Import, Custom, Event) ● External Program (Client or Server) in any language supporting COM
    • 22. #Kscope API Overview – FDM (cont.)  Pre-Requisites ● Execute Code from FDM Server -OR- ● Install FDM Workbench on Computer ● Either Install FDM Application Server Files or Have Read Access to File System With Files
    • 23. #Kscope API Overview – FDM (cont.)  Samples ● Export All Dimension Maps to Excel by Location ● Show Children Locations for Selected Location  Tip ● Don’t forget about Accelerators!
    • 24. #Kscope FDM API DEMO Export All Dimension Maps to Excel by Location
    • 25. #Kscope FDM Map Export
    • 26. #Kscope FDM Map Export (cont)
    • 27. #Kscope FDM Map Export (cont)
    • 28. #Kscope FDM Map Export (cont)
    • 29. #Kscope FDM Map Export (cont)
    • 30. #Kscope FDM Map Export (cont)
    • 31. #Kscope FDM Map Export (cont)
    • 32. #Kscope Smart View API
    • 33. #Kscope API Overview – Smart View  API Functions Available From Inside of Smart View Documents ● COM libraries used behind the scenes ● Smartview.BAS in <HYPERION_HOME>SmartViewBin has definitions of all calls, constants, etc. ● Theoretically could utilize libraries outside of Excel, but have not attempted
    • 34. #Kscope API Overview – Smart View (cont.)  COM Object Model ● Object Model Libraries ● HsAddin.dll – Kitchen Sink Library ● Pre-Requisites ● Smart View Installed  Samples ● Auto Create Connection String in Connection Manager
    • 35. #Kscope Smart View API DEMO Auto Create Connection String
    • 36. #Kscope Smart View Auto Create Connection  While Shared Connections – Minimize this, not all Smart View versions have functionality or is it being implemented everywhere.  Would be nice to have everything to make your SV file work, in the file …..
    • 37. #Kscope Smart View Auto Create Connection (cont)
    • 38. #Kscope Smart View Auto Create Connection (cont)
    • 39. #Kscope Smart View Auto Create Connection (cont) Declare References Check To See If Connection Exists Already Create Connection
    • 40. #Kscope Workspace API
    • 41. #Kscope API Overview – Workspace  API Consists of Java Classes/Interfaces Used Either on Command Line or in JSP Pages  Significant amount of functionality exposed to developers (see table in Appendix)
    • 42. #Kscope API Overview – Workspace (cont.)  Pre-Requisites ● SDK Installed ● Java Compiler and Runtime Environment Installed ● GSM Host Name and Port Number ● Access to Core Services Using a URL (i.e. http://localhost:45000/workspace) ● Valid Username and Password with Administrator Access
    • 43. #Kscope API Overview – Workspace (cont.)  Samples ● Authenticate to Workspace ● NOTE: Samples can be found as part of the SDK ● Sys 11 - <MIDDLEWARE HOME>EPMSYSTEM11R1PRODUCTSBIPLUSSDKSA MPLESJAVA
    • 44. #Kscope API Overview – Workspace (cont.)  Gotchas…. ● ‘Out of the Box’ Scripts do not work per documentation! ● Execapi.bat / JC.bat need tweak ● Files Location : %EPM_ORACLE_HOME%productsbiplusSDKbin ● Copy .template versions to .bat ● Replace line ● set SET_SDK_ENV = “%INSTANCE… ● set SET_SDK_ENV = “set_sdk_env.bat”
    • 45. #Kscope API Overview – Workspace (cont.)
    • 46. #Kscope API Overview – Workspace (cont.)
    • 47. #Kscope API Overview – Workspace (cont.)  Gotchas…. ● Verify / Add Environment Variables ● EPM_ORACLE_HOME – i.e. C:ORACLEMIDDLEWAREEPMSystem11R1 ● EPM_INSTANCE_HOME – i.e. C:ORACLEMIDDLEWAREUSER_PROJECTSEPMSYST EM1 ● JAVA_HOME – i.e. C:ORACLEMIDDLEWAREJDK160_21
    • 48. #Kscope API Overview – Workspace (cont.)
    • 49. #Kscope Workspace API DEMO AUTHENTICATE
    • 50. #Kscope Workspace API Demo - Authenticate Step 1 - Compile the program Step 2 – Execute program NOTE: Java is case sensitive!
    • 51. #Kscope Shared Services (Security) API
    • 52. #Kscope API Overview – Shared Services  Java API Allows for Access to Users, Groups, and Security Access  Pre-Requisites ● Foundation Services are running ● Execute program from machine with at least one EPM System Product ● Epm_j2se.jar is added to the CLASSPATH (EPM_ORACLE_HOMEcommonjlib11.1.2.0epm_j 2se.jar)
    • 53. #Kscope API Overview – Shared Services (cont)  Pre-Requisites ● EPM_ORACLE_INSTANCE environment variable is set (or specified at run-time) ● reg.properties file exists. Most likely : EPM_ORACLE_INSTACEconfigfoundation11.1.2. 0 ● For SAMPLE.java / authenticateSample.java replace hardcoded placeholders for login / password. (admin/G00gl3)
    • 54. #Kscope Shared Services (Security) API DEMO AUTHENTICATE
    • 55. #Kscope Shared Services Demo - Authenticate Step 1 – Create a Batch File to Compile Step 2 – Create a Batch File to Execute
    • 56. #Kscope Shared Services Demo - Authenticate Step 1 – Compile Sample.java Step 2 – Compile AuthenticateSample.java
    • 57. #Kscope Shared Services Demo - Authenticate Step 1 – Execute AuthenticateSample
    • 58. #Kscope Shared Services Demo - Authenticate Step 1 – Execute AuthenticateSample (cont)
    • 59. #Kscope Tips and Tricks  Experiment in Development! ● If things go wrong, no worries ● Easier to debug as you are only user ● Can run additional debugging / monitoring tools which would degrade production performance  Leverage Existing Code! ● HFM Web (ASP), FDM Adapters/Scripts (VBScript), Shared Services Web (JSP), and Workspace (JSP)
    • 60. #Kscope Questions?  If you have any questions with the sample code or presentation, feel free to ask/contact me ● charles@charlescbeyer.com
    • 61. #Kscope Supplemental Information
    • 62. #Kscope API Technology Summary Figure 1 - Select Hyperion Product API Technology Overview Product Description Underlying Technology Interface Technology HFM Web Hyperion Financial Management - Web C/C++ ASP HFM Client Hyperion Financial Management - Client/Server C/C++ VB6 / .NET FDM Financial Data Quality Management C# VBScript / .NET Smart View Smart View Excel Add-In [Foundation Services] C/C++ VBA Workspace Hyperion Workspace [Foundation Services] Java .JSP / JAVA Shared Services Hyperion Shared Services [Foundation Services] Java .JSP / JAVA
    • 63. #Kscope HFM API Features Web Object Model Features COM Object Model Features Log On / Log Off Log On / Log Off Open FM Applications Open FM Applications Register / Unregister Clusters/App Servers Register / Unregister Clusters/App Servers Getting Dimension Attributes Get Metadata Attributes Get / Set Line Item Details Get / Set Line Item Details Process Management Interaction Process Management Interaction Open / Close Periods Open / Close Periods Journals (Create, Delete, Submit, Post, etc.) Process Journals User Security (Rights / User Lists) User Security (Rights / User Lists) Document Management (Forms / Grids) Get / Set data for arrays of cells POV Settings Executing consolidations, translations, calculations Audit Information (Task, Data, etc.) Load/Extract member lists, metadata, rules, data, and journals Server Information/Control (Logoff Users, Enable/Disable Connections) Extended Analytics ActiveX control for dimension members selection
    • 64. #Kscope HFM Object Model Summary Figure 1 - Select Hyperion Product API Technology Overview Library File Functionality HFMwApplications Application and User Functions HFMwSession User Connection to Application HFMwMetadata Functions for working with Metadata HFMwDimension Functions for working with Dimensions HFMwData Data Related Functions HFMwManageProcess Process Management Functions HFMwMbrSel Point of View Functions HFMwMbrSelDim POV - Member Selection HFMwDataGrid Data Grid Interfacing Functions HFMwDocuments Document Functions HFMwManageDocuments Managing Document Functions HFMwWorkspace Tasklist Related Functions HFMwSecurity Security Related Functions HFMwJournals Journal Functionality HFMwSystemInfo System Information and Control HFMwUtilities Common Utilities (i.e. Strings / Files) HFMwResourceManager Localized strings (i.e. Errors) HFMwConstants Library of CONSTANT values
    • 65. #Kscope HFM Object Model Summary Figure 1 - Select Hyperion Product API Technology Overview Library File Functionality HsvMetadata Metadata functions HsvData Get / Set Data in Application HsvCalculate Calculations, Consolidations, Translations HsvJournals Journal functions HsvSecurityAccess App Security Features HsvSystemInfo System Items (Get/Set App Name, Server Name) HsvProcessFlow Process Management HsvReports System Reports HsvICM Intercompany HsvMDArrays Statutory / IC Transactions Data HsvDataCubes Data Access @ Sub Cube Level
    • 66. #Kscope FDM API Features Features Log On / Log Off Open FDM Applications Create / Delete Application Register / Unregister Application Get / Set Application POV Get / Set Workflow Status Execute Data Loads, Calc Logic, Mapping Rules Process Multi-load / Journal Templates Manage Application Security Execute Actions (Export, Load, Consolidate, Validate) Request Member Lists
    • 67. #Kscope FDM Object Model Summary Library File Functionality upsAppServerDM Container for all API components upsOBJDMw Primary Business Logic / Data Processing upsDataWindowDM Data Access, Manipulation, Security upsWObjEventHandlerDM Event Handling upsWebScriptDM VB Script Engine / FDM Scripts upsWBlockProcessorDM Integration Script Execution upsMPLDMw Multi-load / Journal Processing upsWStructureMgrDM Hierarchy Management Services upsMapConverter Specialized Map Conversion upsWBatchLoaderDM “Lights Out” Processing for Custom Scripts / Task Management Service upsWDialogsDM Dialog Forms for POV and Global Options upsWMetaMgr Classified / Undocumented UpStreamAppMgrW App Config / Authentication LoadBalanceMgr Load Balancing upsWReportingDM Active Reports Processing Services ZipMgrW File Compression upsEventLog Event Log Writing
    • 68. #Kscope Smart View API Features Features General Functions - (As seen on Smart View Ribbon) Connection Functions - Manage Connections Ad Hoc - Zooming, Retrieving, Submitting Data, Pivoting Form Functions Cell Functions POV Calculation Script / Business Rules Calculation / Consolidation / Translation Member Query - Generation, Level, Attributes for Members Options - Global / Sheet Options, MRU Deletion MDX Querying Menu - Emulate Ribbon Menu Commands Dynamic Link - Retrieve Data From Other Open Windows
    • 69. #Kscope Workspace API Class Summary Class Description Job Parameter Information About Data Parameters Logger log4j Logging Architecture Methods ObjectType Extract Built-In Object Types in Workspace SessionFactory Session Interface for Workspace (Required) UnknownReportMartException Exception Thrown When Connection Error Occurs UserValidationException Exception Thrown When User Error Occurs ReportMartException Exception Thrown During Invocations on Interactive Reporting SDK Package
    • 70. #Kscope Workspace API Interface Summary Interface Description AbsoluteTimeEvent Create Events That Trigger at a Given Time Authorization Accessing Roles and Listings Base Object Extends ReportMartEntity BQYDocument Interactive Reporting Document Information BQYJob Interactive Reporting Jobs Category Copy Files/Directories to/from File System to Workspace Collection Artifacts Associated With Job Output CustomCalendar Define Calendars DataObject Get/Set Keyword Lists for HTML, SQL, and CSV Documents ExternallyTriggeredEvent Define Externally Triggered Event Group Access Shared Services Group Information InstancePermission Get/Set Object Permissions Job Executes Jobs / Handles Output JobOutput Job Output ObjectID UUID Reference for Identifying Workspace Objects Uniquely OCEDocument Interactive Reporting Database Connection
    • 71. #Kscope Workspace API Interface Summary Interface Description ParameterList Job Attributes Used During Job Execution PhysicalResource Printer / Physical Output Methods Query Searching Workspace QueryVector Search Results RecurringTimeEvent Repetitive Event Triggering ReportMartEntity Attribute Information for all Workspace Artifacts Repository Used throughout SDK to Obtain Major Interfaces for SDK Role Get/Set Role Information ScheduledTask Associate Parameter List with Event Scheduler Create, Retrieve, List, Delete Event Service Artifacts Session Primary Interface for Accessing Workspace SPFSet Output from Job Service Execution of SQR Production Reporting Documents SQRJob Set/Get “ask” Parameters at Time of Job Execution SQRJobOutput Job Output from Above User Get/Set Shared Services User Information
    • 72. #Kscope Shared Services API Class Summary Class Description com.hyperion.css Provides classes necessary to create and use security platform com.hyperion.css.application Provides functionality that Hyperion based applications must implement to use security platform com.hyperion.css.common Common information elements and information retrieved from directory stores com.hyperion.css.common.configuration Access to application configuration information
    • 73. #Kscope Sample Files
    • 74. #Kscope Sample Files - HFM
    • 75. #Kscope Sample Files - FDM
    • 76. #Kscope Sample Files – Smart View
    • 77. #Kscope Sample Files - Workspace Login.java SampleLogin.java
    • 78. #Kscope Sample Files – Shared Services

    ×