SlideShare a Scribd company logo
HFM API Deep Dive
Making a Better Financial Management
Client
Charles Beyer
 Build a “complete” .NET App for HFM API
● “Brief” HFM API Overview
● Prepare a Development Environment
● Coding your own HFM Client App
● Improving on Client App
● Tips, Tricks, and Warnings
 3rd Party Tools / Projects
 Q & A
Session Objectives / TOC
 Code Samples will be made available
 To expedite certain areas, we will utilize screen
shots while doing live demos in others
 Slides / Demos should be sufficient to do work
offline in case we bump into time issues
 Please leave feedback!
Additional Notes
 Computer & Technology ‘Nerd’ – Started with a
Apple II and TRS-80. Haven’t looked back.
 16+ years professional software experience,
created and sold commercial software.
 7 years working with Hyperion products.
 Love to help out, feel free to ask and I’ll help if
time permits!
About the Speaker
“Brief” HFM API Overview
 Three Main APIs
● COM [Primary Focus for Session]
● Updated for 11.1.2.2 for expanded dimensionality
● Extended Analytics HTTP Listener
● Web Object Model [ADF Webinar – TBD]
● 11.1.2.1 and prior : Components Utilized via ASP pages
● 11.1.2.2+ : Java/J2EE implemented with Oracle ADF
Framework
● FM Web Service [TBD]
● Optional, now required, component first utilized by
Financial Close Management
● Behind the scenes is really the COM library.
Brief HFM API Overview
Brief HFM API Overview [COM]
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
Brief HFM API Overview [COM]
Type File Functionality
HfmSliceCOM Support for Configurable Dimensionality
HsxClient Logon/Logoff, Open/Create/Delete Applications
HsxClientUI User Interface for Logon/off, Open/Create/Delete Applications
HsxServer App Server info : Application Names, DSNs
HsvSession Parent Obect to Metadata & Data, Session Related Info
HsvMetadata Metadata Related Functions
HsvData Sets and Gets data in cells
HsvCalculate Executes consolidations, translations, and calculations
HsvJournals Manage periods, create journals and templates, process journals
HsvSecurityAccess Get/Set Application’s users, roles, and security class access.
Brief HFM API Overview [COM]
Type Library Functionality
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
HsvDQI “Intelligent” Data Retrieval
HsvStarSchemaACM Extended Analytics
HsvSecurityLoadACV Security Loading and Extracting
HsvMetadataLoadACV Metadata Loading and Extracting
HsvRulesLoadACV Rules Load and Extracting
Brief HFM API Overview [COM]
Type Library Functionality
HsvcDataLoad Data Loading and Extracting
HsvJournalACV Journal Loading and Extract, Journal Template loading
HsvPOVSelection ActiveX display option for selecting POV
HsvResourceManager Manages Error Messages
HFMConstants Constants used by API calls throughout
Brief HFM API Overview [HTTP Listener]
 URL: http://<web server>/hfm/EIE/EIEListener.asp?
app_name=<HFMAppName>&action=launch_EA_extract
 Include following data in header
● SSO Token
● Content Type : text/xml
 HTTP Request Stream Parameters
● Application Name
● Extract Type
● Push Options
Brief HFM API Overview [HTTP Listener]
 HTTP Request Stream Parameters (cont)
● DSN
● Prefix
● ExcludeDynamicAccounts
● Scenario(s)
● Year(s)
● Period(s)
● View(s)
● Entity(ies)
Brief HFM API Overview [HTTP Listener]
 HTTP Request Stream Parameters (cont)
● Entity(ies)
● Value(s)
● Account(s)
● ICP(s)
● Custom1(s)
● Custom2(s)
● Custom3(s)
● Custom4(s)
 XML Response Message returned
Prepare a Development
Environment
 Requirements [COM]
● HFM Client Installed
● Server Files Available
● Copied Locally
● Read only access to files on remote location (i.e. server)
● Microsoft Visual Studio
● Deployment / Installer Notes
Prepare a Development Environment
 Create Installer (Required Assemblies, 11.1.2.x)
● commonComponents
● productCommonComponents
● hfm_client
● hfm_common
 Launchtool.cmd to start installation process
 Select choose individual components
● Financial Management: Client, ADM
 Configure Cluster / Services / DCOM
 Start Client and perform test connection
Install HFM Client (11.1.2.x)
 Server Files Default Location
● <EPM_HOME>productsFinancialManagementSer
ver
● <EPM_HOME> =
C:OracleMiddlewareEPMSystem11R1System11R1
 Copy them local or Reference them direct from
server.
● If referencing, be sure to include in your app’s
installer so that they copy!
Locate (and Copy) Server Files
 Express 2012 for Windows Desktops
● http://www.microsoft.com/visualstudio/eng#products/
visual-studio-express-for-windows-desktop+product-
express-desktop
 Requirements
● O/S : Win7 SP1, Win 8, Server 2008, Server 2012
● Hardware : 1Ghz CPU, 1GB RAM, 5GB Disk, DX9
 NOTES:
● Links change semi-frequently so Google Visual
Studio Express and you won’t go wrong.
● As new versions are released old versions are
retired.
Visual Studio (2012)
 Installation
● Click the Download button on website
● Use default settings for file locations, etc.
● When it comes to installing option components, I
generally install them.
● MSDN Document Library is up to you.
 If you don’t meet requirements for 2012
● 2010 ISO : http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A-
A603-1798B951DDAE/VS2010Express1.iso
● 2008 ISO : Retired, though on torrents*
Visual Studio (2012)
HFM Client App
 Open / Close Applications, Logoff
 Explore Data, User Preferences, Database
Management
 Setup / Process Journals
 Define App Profile, Create/Delete App, Manage
Metadata
 Load Security, Metadata, Member Lists, Rules,
Data, Journals
HFM Client App Functionality
Coding Your Own Client App
 Visual Studio Project Creation
 Adding References to Files
 Recreate Existing Functionality
● Authentication [Demo]
● Opening / Closing Apps [Demo]
● Extracting Metadata, Rules, Data [Demo]
Coding Your Own Client App
Create Visual Studio Project
Adding References
Shared Objects
Authentication [Demo]
Opening Application [Demo]
Logoff [Demo]
Extract Metadata [Demo]
 Add References
 Create Standalone Form
 Wire up Buttons : File Browser, View
(Notepad), Check All, Uncheck All, Extract
 Implement API Extract Logic for Metadata
Extract Metadata - References
Extract Metadata – Create Form
Extract Metadata – Wire Buttons
Extract Metadata – Wire Buttons
Extract Metadata – Wire Buttons
Extract Metadata – API Logic
Extract Metadata – API Logic
Extract Metadata – API Logic
Extract Metadata – API Logic
Improving on the Client App
 App Title / Statusbar Updates [Demo]
 Dynamic Menu [Demo]
 Admin / System Info [Demo]
 Smarter Metadata / Rules Extracting/Loading
[Demo]
Improving on the Client App
App Title / Statusbar Updates [Demo]
App Title / Statusbar Updates [Demo]
Menu Control [Demo]
Menu Control [Demo]
Menu Control [Demo]
System Info [Demo]
System Info [Demo]
Tips, Tricks, and Warnings
 Be sure to work in Dev first!
● Some API calls could cause trouble if used
incorrectly!
● Easier to Debug
● Can Run Additional Debug/Performance Tools
 Start small and test frequently
 Use Debug functionality to step through code
 Trap exceptions to handle errors gracefully!
 Create Installer for your finished product
Tips, Tricks, and Warnings
 COM API Doc & Samples
● http://docs.oracle.com/cd/E17236_01/epm.1112/hfm
_developer_11.1.2.2.300.pdf
● SDK via e-delivery for additional code samples
 Web API Doc & Samples
● Web API
● Pre-11.1.2.2 :
http://docs.oracle.com/cd/E17236_01/epm.1112/hfm_webs
dk.pdf
● 11.1.2.2+ :
http://docs.oracle.com/cd/E17236_01/epm.1112/hfm_custo
m_pages_development.pdf
Tips, Tricks, and Warnings
 Web Service
● No Docs Yet!
● Access ASMX pages in browser to view information!
[http://<your web server>/hfmapplicationservice/]
 Utilize existing resources for help!
● Oracle Forum (http://forums.oracle.com)
● Blogs
● Mine (new) : http://www.charlescbeyer.com
● Finnish Hyperion Guy : http://hyperionfinn.blogspot.com/
● SlideShare / Google : Tons of Info is out there.
Tips, Tricks, and Warnings
 Web Service isn’t officially published
● May go away at any time?
 Great Training Material for Learning .NET
● http://www.microsoftvirtualacademy.com/
● http://msdn.microsoft.com/en-US/vstudio/cc136611
Tips, Tricks, and Warnings
3rd Party Tools / Projects
 HFM Batch & hfmCMD by Adam Gardiner
● C# Command Line Implementations of API
functionality.
● Batch : https://github.com/agardiner/hfm-batch
● hfmCMD : https://github.com/agardiner/hfmcmd
 EPM Maestro : http://epmmaestro.com/
 Accelatis : http://www.accelatis.com/
 Star Analytics :
http://staranalytics.com/products/
3rd Party Tools / Projects
Charles Beyer
charles@charlescbeyer.com
Glenview, IL
USA
+1.847.275.6317
Questions?
Blog
http://www.charlescbeyer.com
LinkedIn
http://www.linkedin.com/in/charlesbeyer
Twitter
https://twitter.com/beyerch
Oracle Forums
beyerch2
Source Code
http://www.charlescbeyer.com/Kscope/HFM_Client_V2.zip

More Related Content

What's hot

Datatype in JavaScript
Datatype in JavaScriptDatatype in JavaScript
Datatype in JavaScript
Rajat Saxena
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Alithya
 
Dimensionality & Dimensions of Hyperion Planning
Dimensionality & Dimensions of Hyperion PlanningDimensionality & Dimensions of Hyperion Planning
Dimensionality & Dimensions of Hyperion Planning
epmvirtual.com
 
KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3
Alithya
 
Excel Tutorials - Creating a Hyperlink in Excel
Excel Tutorials - Creating a Hyperlink in ExcelExcel Tutorials - Creating a Hyperlink in Excel
Excel Tutorials - Creating a Hyperlink in Excel
Merve Nur Taş
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
Francisco Amores
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planning
epmvirtual.com
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando Postman
Lucas Amaral
 
XML
XMLXML
Json
JsonJson
Operators and Expressions
Operators and ExpressionsOperators and Expressions
Operators and Expressions
Munazza-Mah-Jabeen
 
3 Layers of the Web - Part 1
3 Layers of the Web - Part 13 Layers of the Web - Part 1
3 Layers of the Web - Part 1
Jeremy White
 
JavaScript - Chapter 14 - Form Handling
 JavaScript - Chapter 14 - Form Handling   JavaScript - Chapter 14 - Form Handling
JavaScript - Chapter 14 - Form Handling
WebStackAcademy
 
Hyperion Planning Security
Hyperion Planning SecurityHyperion Planning Security
Hyperion Planning Security
adivasoft
 
Essbase intro
Essbase introEssbase intro
Essbase intro
Amit Sharma
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
Alithya
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP Server
Rajiv Bhatia
 
Html training slide
Html training slideHtml training slide
Html training slide
villupuramtraining
 
Beginning Calculation Manager for Essbase and Hyperion Planning
Beginning Calculation Manager for Essbase and Hyperion Planning Beginning Calculation Manager for Essbase and Hyperion Planning
Beginning Calculation Manager for Essbase and Hyperion Planning
Alithya
 
Active x control
Active x controlActive x control
Active x control
Amandeep Kaur
 

What's hot (20)

Datatype in JavaScript
Datatype in JavaScriptDatatype in JavaScript
Datatype in JavaScript
 
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick! Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
Workforce Plus: Tips and Tricks to Give Workforce an Extra Kick!
 
Dimensionality & Dimensions of Hyperion Planning
Dimensionality & Dimensions of Hyperion PlanningDimensionality & Dimensions of Hyperion Planning
Dimensionality & Dimensions of Hyperion Planning
 
KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3KScope14 What Would Happen in HFM - Part 3
KScope14 What Would Happen in HFM - Part 3
 
Excel Tutorials - Creating a Hyperlink in Excel
Excel Tutorials - Creating a Hyperlink in ExcelExcel Tutorials - Creating a Hyperlink in Excel
Excel Tutorials - Creating a Hyperlink in Excel
 
FDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next LevelFDMEE Taking Source Filters to the Next Level
FDMEE Taking Source Filters to the Next Level
 
03. data forms in hyperion planning
03. data forms in hyperion planning03. data forms in hyperion planning
03. data forms in hyperion planning
 
Automação de testes de API utilizando Postman
Automação de testes de API utilizando PostmanAutomação de testes de API utilizando Postman
Automação de testes de API utilizando Postman
 
XML
XMLXML
XML
 
Json
JsonJson
Json
 
Operators and Expressions
Operators and ExpressionsOperators and Expressions
Operators and Expressions
 
3 Layers of the Web - Part 1
3 Layers of the Web - Part 13 Layers of the Web - Part 1
3 Layers of the Web - Part 1
 
JavaScript - Chapter 14 - Form Handling
 JavaScript - Chapter 14 - Form Handling   JavaScript - Chapter 14 - Form Handling
JavaScript - Chapter 14 - Form Handling
 
Hyperion Planning Security
Hyperion Planning SecurityHyperion Planning Security
Hyperion Planning Security
 
Essbase intro
Essbase introEssbase intro
Essbase intro
 
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...OATUG  Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
OATUG Forum - Utilizing Groovy and Data Maps for Instantaneous Analysis betw...
 
PHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP ServerPHP-MySQL Database Connectivity Using XAMPP Server
PHP-MySQL Database Connectivity Using XAMPP Server
 
Html training slide
Html training slideHtml training slide
Html training slide
 
Beginning Calculation Manager for Essbase and Hyperion Planning
Beginning Calculation Manager for Essbase and Hyperion Planning Beginning Calculation Manager for Essbase and Hyperion Planning
Beginning Calculation Manager for Essbase and Hyperion Planning
 
Active x control
Active x controlActive x control
Active x control
 

Similar to HFM API Deep Dive – Making a Better Financial Management Client

Les02
Les02Les02
Les02
Sireen8
 
Why Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendWhy Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best Friend
Odoo
 
Nandini-CV
Nandini-CVNandini-CV
Nandini-CV
Nandini Kg
 
Windows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 OverviewWindows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 Overview
Vijay Raj
 
QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation Framework
Yu Tao Zhang
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?
IBM Danmark
 
SharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the FieldSharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the Field
wahidsaleemi
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
Kris Verlaenen
 
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
Martijn de Jong
 
Building PHP Powered Android Applications
Building PHP Powered Android ApplicationsBuilding PHP Powered Android Applications
Building PHP Powered Android Applications
John Coggeshall
 
Sdlc
SdlcSdlc
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
Mohan Dutt
 
bhavik_mehta
bhavik_mehtabhavik_mehta
bhavik_mehta
Bhavik Mehta
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docx
fantabulous2024
 
Crime Reporting System.pptx
Crime Reporting System.pptxCrime Reporting System.pptx
Crime Reporting System.pptx
PenilVora
 
Les02
Les02Les02
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
Lalit Sharma
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
Arjun Kumawat
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
veehikle
 
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con InnomaticCostruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Innoteam Srl
 

Similar to HFM API Deep Dive – Making a Better Financial Management Client (20)

Les02
Les02Les02
Les02
 
Why Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendWhy Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best Friend
 
Nandini-CV
Nandini-CVNandini-CV
Nandini-CV
 
Windows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 OverviewWindows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 Overview
 
QTP&UFT Automation Framework
QTP&UFT Automation FrameworkQTP&UFT Automation Framework
QTP&UFT Automation Framework
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?
 
SharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the FieldSharePoint Administration: Tips from the Field
SharePoint Administration: Tips from the Field
 
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processesJBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
JBossOneDayTalk 2011: Using jBPM to bring more power to your business processes
 
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
BP101 - 10 Things to Consider when Developing & Deploying Applications in Lar...
 
Building PHP Powered Android Applications
Building PHP Powered Android ApplicationsBuilding PHP Powered Android Applications
Building PHP Powered Android Applications
 
Sdlc
SdlcSdlc
Sdlc
 
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
14 Easy Steps to End-User Empowerment: Convert Custom Reports to BI Publisher
 
bhavik_mehta
bhavik_mehtabhavik_mehta
bhavik_mehta
 
Company Visitor Management System Report.docx
Company Visitor Management System Report.docxCompany Visitor Management System Report.docx
Company Visitor Management System Report.docx
 
Crime Reporting System.pptx
Crime Reporting System.pptxCrime Reporting System.pptx
Crime Reporting System.pptx
 
Les02
Les02Les02
Les02
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
My Saminar On Php
My Saminar On PhpMy Saminar On Php
My Saminar On Php
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
 
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con InnomaticCostruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
 

Recently uploaded

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

HFM API Deep Dive – Making a Better Financial Management Client

  • 1. HFM API Deep Dive Making a Better Financial Management Client Charles Beyer
  • 2.  Build a “complete” .NET App for HFM API ● “Brief” HFM API Overview ● Prepare a Development Environment ● Coding your own HFM Client App ● Improving on Client App ● Tips, Tricks, and Warnings  3rd Party Tools / Projects  Q & A Session Objectives / TOC
  • 3.  Code Samples will be made available  To expedite certain areas, we will utilize screen shots while doing live demos in others  Slides / Demos should be sufficient to do work offline in case we bump into time issues  Please leave feedback! Additional Notes
  • 4.  Computer & Technology ‘Nerd’ – Started with a Apple II and TRS-80. Haven’t looked back.  16+ years professional software experience, created and sold commercial software.  7 years working with Hyperion products.  Love to help out, feel free to ask and I’ll help if time permits! About the Speaker
  • 6.  Three Main APIs ● COM [Primary Focus for Session] ● Updated for 11.1.2.2 for expanded dimensionality ● Extended Analytics HTTP Listener ● Web Object Model [ADF Webinar – TBD] ● 11.1.2.1 and prior : Components Utilized via ASP pages ● 11.1.2.2+ : Java/J2EE implemented with Oracle ADF Framework ● FM Web Service [TBD] ● Optional, now required, component first utilized by Financial Close Management ● Behind the scenes is really the COM library. Brief HFM API Overview
  • 7. Brief HFM API Overview [COM] 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
  • 8. Brief HFM API Overview [COM] Type File Functionality HfmSliceCOM Support for Configurable Dimensionality HsxClient Logon/Logoff, Open/Create/Delete Applications HsxClientUI User Interface for Logon/off, Open/Create/Delete Applications HsxServer App Server info : Application Names, DSNs HsvSession Parent Obect to Metadata & Data, Session Related Info HsvMetadata Metadata Related Functions HsvData Sets and Gets data in cells HsvCalculate Executes consolidations, translations, and calculations HsvJournals Manage periods, create journals and templates, process journals HsvSecurityAccess Get/Set Application’s users, roles, and security class access.
  • 9. Brief HFM API Overview [COM] Type Library Functionality 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 HsvDQI “Intelligent” Data Retrieval HsvStarSchemaACM Extended Analytics HsvSecurityLoadACV Security Loading and Extracting HsvMetadataLoadACV Metadata Loading and Extracting HsvRulesLoadACV Rules Load and Extracting
  • 10. Brief HFM API Overview [COM] Type Library Functionality HsvcDataLoad Data Loading and Extracting HsvJournalACV Journal Loading and Extract, Journal Template loading HsvPOVSelection ActiveX display option for selecting POV HsvResourceManager Manages Error Messages HFMConstants Constants used by API calls throughout
  • 11. Brief HFM API Overview [HTTP Listener]  URL: http://<web server>/hfm/EIE/EIEListener.asp? app_name=<HFMAppName>&action=launch_EA_extract  Include following data in header ● SSO Token ● Content Type : text/xml  HTTP Request Stream Parameters ● Application Name ● Extract Type ● Push Options
  • 12. Brief HFM API Overview [HTTP Listener]  HTTP Request Stream Parameters (cont) ● DSN ● Prefix ● ExcludeDynamicAccounts ● Scenario(s) ● Year(s) ● Period(s) ● View(s) ● Entity(ies)
  • 13. Brief HFM API Overview [HTTP Listener]  HTTP Request Stream Parameters (cont) ● Entity(ies) ● Value(s) ● Account(s) ● ICP(s) ● Custom1(s) ● Custom2(s) ● Custom3(s) ● Custom4(s)  XML Response Message returned
  • 15.  Requirements [COM] ● HFM Client Installed ● Server Files Available ● Copied Locally ● Read only access to files on remote location (i.e. server) ● Microsoft Visual Studio ● Deployment / Installer Notes Prepare a Development Environment
  • 16.  Create Installer (Required Assemblies, 11.1.2.x) ● commonComponents ● productCommonComponents ● hfm_client ● hfm_common  Launchtool.cmd to start installation process  Select choose individual components ● Financial Management: Client, ADM  Configure Cluster / Services / DCOM  Start Client and perform test connection Install HFM Client (11.1.2.x)
  • 17.  Server Files Default Location ● <EPM_HOME>productsFinancialManagementSer ver ● <EPM_HOME> = C:OracleMiddlewareEPMSystem11R1System11R1  Copy them local or Reference them direct from server. ● If referencing, be sure to include in your app’s installer so that they copy! Locate (and Copy) Server Files
  • 18.  Express 2012 for Windows Desktops ● http://www.microsoft.com/visualstudio/eng#products/ visual-studio-express-for-windows-desktop+product- express-desktop  Requirements ● O/S : Win7 SP1, Win 8, Server 2008, Server 2012 ● Hardware : 1Ghz CPU, 1GB RAM, 5GB Disk, DX9  NOTES: ● Links change semi-frequently so Google Visual Studio Express and you won’t go wrong. ● As new versions are released old versions are retired. Visual Studio (2012)
  • 19.  Installation ● Click the Download button on website ● Use default settings for file locations, etc. ● When it comes to installing option components, I generally install them. ● MSDN Document Library is up to you.  If you don’t meet requirements for 2012 ● 2010 ISO : http://download.microsoft.com/download/1/E/5/1E5F1C0A-0D5B-426A- A603-1798B951DDAE/VS2010Express1.iso ● 2008 ISO : Retired, though on torrents* Visual Studio (2012)
  • 21.  Open / Close Applications, Logoff  Explore Data, User Preferences, Database Management  Setup / Process Journals  Define App Profile, Create/Delete App, Manage Metadata  Load Security, Metadata, Member Lists, Rules, Data, Journals HFM Client App Functionality
  • 22. Coding Your Own Client App
  • 23.  Visual Studio Project Creation  Adding References to Files  Recreate Existing Functionality ● Authentication [Demo] ● Opening / Closing Apps [Demo] ● Extracting Metadata, Rules, Data [Demo] Coding Your Own Client App
  • 30. Extract Metadata [Demo]  Add References  Create Standalone Form  Wire up Buttons : File Browser, View (Notepad), Check All, Uncheck All, Extract  Implement API Extract Logic for Metadata
  • 31. Extract Metadata - References
  • 32. Extract Metadata – Create Form
  • 33. Extract Metadata – Wire Buttons
  • 34. Extract Metadata – Wire Buttons
  • 35. Extract Metadata – Wire Buttons
  • 36. Extract Metadata – API Logic
  • 37. Extract Metadata – API Logic
  • 38. Extract Metadata – API Logic
  • 39. Extract Metadata – API Logic
  • 40. Improving on the Client App
  • 41.  App Title / Statusbar Updates [Demo]  Dynamic Menu [Demo]  Admin / System Info [Demo]  Smarter Metadata / Rules Extracting/Loading [Demo] Improving on the Client App
  • 42. App Title / Statusbar Updates [Demo]
  • 43. App Title / Statusbar Updates [Demo]
  • 49. Tips, Tricks, and Warnings
  • 50.  Be sure to work in Dev first! ● Some API calls could cause trouble if used incorrectly! ● Easier to Debug ● Can Run Additional Debug/Performance Tools  Start small and test frequently  Use Debug functionality to step through code  Trap exceptions to handle errors gracefully!  Create Installer for your finished product Tips, Tricks, and Warnings
  • 51.  COM API Doc & Samples ● http://docs.oracle.com/cd/E17236_01/epm.1112/hfm _developer_11.1.2.2.300.pdf ● SDK via e-delivery for additional code samples  Web API Doc & Samples ● Web API ● Pre-11.1.2.2 : http://docs.oracle.com/cd/E17236_01/epm.1112/hfm_webs dk.pdf ● 11.1.2.2+ : http://docs.oracle.com/cd/E17236_01/epm.1112/hfm_custo m_pages_development.pdf Tips, Tricks, and Warnings
  • 52.  Web Service ● No Docs Yet! ● Access ASMX pages in browser to view information! [http://<your web server>/hfmapplicationservice/]  Utilize existing resources for help! ● Oracle Forum (http://forums.oracle.com) ● Blogs ● Mine (new) : http://www.charlescbeyer.com ● Finnish Hyperion Guy : http://hyperionfinn.blogspot.com/ ● SlideShare / Google : Tons of Info is out there. Tips, Tricks, and Warnings
  • 53.  Web Service isn’t officially published ● May go away at any time?  Great Training Material for Learning .NET ● http://www.microsoftvirtualacademy.com/ ● http://msdn.microsoft.com/en-US/vstudio/cc136611 Tips, Tricks, and Warnings
  • 54. 3rd Party Tools / Projects
  • 55.  HFM Batch & hfmCMD by Adam Gardiner ● C# Command Line Implementations of API functionality. ● Batch : https://github.com/agardiner/hfm-batch ● hfmCMD : https://github.com/agardiner/hfmcmd  EPM Maestro : http://epmmaestro.com/  Accelatis : http://www.accelatis.com/  Star Analytics : http://staranalytics.com/products/ 3rd Party Tools / Projects