While these three products work well out of the box and offer plenty of functionality for end users, administrators and power users are always looking for ways to increase productivity and functionality of their tools. While some updates have introduced functionality for the administrators/power users such as LCM, there are plenty of areas that could be improved. Gathering system usage statistics, performing bulk import/export operations between development/production environments, improving data import/export, generating more useful security audit data, and improving system performance are all items that can be improved upon.
This presentation will provide viewers with a selection of real world “hacks” that they can apply to their environments. Viewers will first be presented with a low level technical discussion on how these products work and how they can leverage that knowledge. Fully working “hacks” are also attached at the end of the powerpoint.
2. #Kscope
About the Speaker
15+ years professional development
experience in various languages/technologies
(6 years w/ Hyperion products)
Significant experience reverse engineering
software
Loves to help others solve problems
Posts under beyerch2 on OTN Discussion
Boards
3. #Kscope
Overview
Why Void Your Warranty?
● OOTB functionality doesn’t exist
● API Doesn’t exist or isn’t practical
● Learn more!
4. #Kscope
Will they really void my warranty?!?!
No… But you might have support trouble!
● If you are reporting a known issue, shouldn’t be a
problem.
● If you have a mysterious issue that they have never
heard of ……
“For Oracle operating systems software, technical support is provided for
issues (including problems you create) that are demonstrable in the
currently supported release(s) of the operating system, running
unaltered, and on a certified hardware configuration, as specified in
your order or program documentation.”
http://www.oracle.com/us/support/library/hardware-systems-support-
policies-069182.pdf
5. #Kscope
Why Would I want to change things?
Out of the Box Functionality Not Sufficient
You Want to Experiment to Get a Better
Understanding of the Technology
6. #Kscope
What about APIs & Support?
ANY product change will make the product
non-standard….
● Using API in a standalone program – OK
● Altering existing Web Pages with additional API calls
– Not OK
API may be too much overhead for what you
want or doesn’t cover what you need.
You may have requirements restricting what
you can do
● No DLLs / Libraries installed on machine (i.e. Smart
View)
7. #Kscope
How Do I Learn?
Understand Basic Software Design / Operation
● Memory, Disk, Registry, U/I, Database
Understand Basic Operation of Hyperion
Programs
● Read Lots of Product Documentation
● Talk to Other People about Products
● “Be the Program”
Experiment
● Trial and Error, Mostly Error
8. #Kscope
How Do I Learn? (cont.)
Use Tools to Help Gather Information
Re-Research on New Information
Leverage Existing Code / API
Test, Test, Test
Test More
Deploy to Production
12. #Kscope
Tools (cont.)
Product Info
● Product Documentation
● System 11.1.2.1 - http://docs.oracle.com/cd/E24674_01/index.htm
● System 9.3.x - http://docs.oracle.com/cd/E10530_01/welcome.html
NOTE : These move periodically! Google
‘Hyperion documentation library’ if you cannot
find what you are looking for
14. #Kscope
Tools (cont.)
Knowledge Tools
● Tips and Tricks from EPM System Infrastructure
Development
● Issues 1 to 72 -
http://www.oracle.com/technetwork/middleware/bi-
foundation/epm-tips-issues-1-72-427329.pdf
● Issues 73 and up -
http://www.oracle.com/technetwork/middleware/bi-
foundation/epm-tips-issues-73-up-399995.pdf
● NOTE: Constantly updating, so there will be more, etc.
18. #Kscope
Tools? (cont.)
SQL Profiler / Oracle Enterprise Manager
● Monitor Databases / Tables / Users / Processes to
understand how the data is moving
19. #Kscope
Tools? (cont.)
SQL Profiler / Oracle Enterprise Manager
● Monitor Databases / Tables / Users / Processes to
understand how the data is moving
20. #Kscope
Tools (cont.)
Fiddler – Web proxy that allows you to monitor
(and simulate) HTTP/HTTPS traffic.
http://fiddler2.com/fiddler2/
● Great Tool for HTTP/HTTPS traffic
● Warning : You can sniff / decode HTTPS
traffic
● Warning : Some programs may send logins /
passwords in plain text.
23. #Kscope
Tools (cont.)
Wireshark – Network traffic analyzer –
http://www.wireshark.org
● Network packet analyzer
● Monitors ALL network traffic, not just HTTP/HTTPS
● Warning : Can intercept all types of traffic such as:
● Streaming Audio / Video
● VoiP
● Types of Encrypted Data
● Plain Text User Name / Password
32. #Kscope
Tools? (cont.)
Oracle Application Testing Suite / LoadRunner /
Jmeter
● Stress testing for validation of changes
● Create execution scripts for repeatable test cases
● Good for Testing
● Good for Trying to ‘Reverse Engineer’ functionality
41. #Kscope
Tools? (cont.)
IDA Pro – General Reverse Engineering Tool
● But even if you are not an expert, you can glean
useful info!
42. #Kscope
Precautions
Use a Development Environment!
● Limits Risk
● Easier to ‘Reverse Engineer’ when you are the only
one in the system
● Virtualized Environment may be best since you can
take snapshots
● Don’t forget about data files and databases though!
(back those up too)
50. #Kscope
HFM User Drop Down Example (cont.)
IDEAS??
●Now how do we find what to fix???
● HINT: Look at the screen again. Is there
anything unique about the field??
51. #Kscope
HFM User Drop Down Example (cont.)
Use Notepad / Text search for User Name and
look in the vicinity for something making a drop
down…
52. #Kscope
HFM User Drop Down Example (cont.)
IDEAS??
●m_straActivityUserNames is a text
array of user names in no particular
order…. What now???
53. #Kscope
HFM User Drop Down Example (cont.)
Increase your IQ by checking Google for
premade sorting scripts!
54. #Kscope
HFM User Drop Down Example (cont.)
A free quicksort routine, which is just dropped
on your page
55. #Kscope
HFM User Drop Down Example (cont.)
Update page to pass array through sort
routine..
56. #Kscope
HFM User Drop Down Example (cont.)
Update page to pass array through sort
routine..
80. #Kscope
HFM Orphaned Data (cont.)
IDEAS??
●Now that we know what to fix, what
should we do to fix this? (HINT)
81. #Kscope
HFM Orphaned Data (cont.)
IDEAS??
●Should we change the ID of Lanai to
match Stamford (20)?
●Should we go through every data table
and replace Stamford (20) to Lanai
(26)?
86. #Kscope
HFM Orphaned Data (cont.)
After a restart of the app (Reboot Server / Kill
HsvDatasource.exe / Log off all users)
87. #Kscope
HFM Orphaned Data (cont.)
Other thoughts
●What if we didn’t realize this right away
and loaded data to the new entity?
●Could we prevent entities with data
from being deleted?
●Does this apply to accounts?
88. #Kscope
Tips and Tricks
Make Small / Frequent Changes!
● Limiting the number of changes and testing
immediately after making a change simplifies testing
by limiting variables….
Practice, Practice, Practice
● Frequent Discussion Boards (OTN / Network 54)
and when people have issues, try to solve them.
You are doing someone a favor AND learning
something new.
90. #Kscope
Other Samples
FDM
● User Synchronization Between Applications (System
9)
● Global Import Format Updates
● Global Mapping Updates
● Remove Domain from Login Functionality
Other
● Poor Man’s Smart View Emulation
91. #Kscope
Questions?
If you have any questions with the sample code
or presentation, feel free to ask/contact me
● charles@charlescbeyer.com
Hinweis der Redaktion
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.
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.