Professional Documents
Culture Documents
Fin MGMT Tectips2 PDF
Fin MGMT Tectips2 PDF
Chris Barbieri
Consolidation Practice Director
Oracle ACE
Ranzal & Associates
Last
one in
wins!
Tip 4: A statement will run for all
valid intersections of data.
• Note: You can get in trouble if you run this rule on the first
year in the system!
Tip 7: What will be the result?
Before
After
HS.Exp - Pushing Zeros part 2
SomeVariable = HS.GetCell("A#Account4.C1#Computers") * 1.1
HS.Exp "A#Account3.C1#Computers = " & SomeVariable
Before
After
HS.Exp – Pushing Zeros Part 3
[Proportion] [Elimination]
[Parent Total]
• Unless restricted,
[Contribution Total] Sub Calculate can run
[Contribution] [Contribution Adjs]
up to eight times per
[Proportion] [Elimination]
[Parent Total]
entity
[Parent] [Parent Adjs] • May accidentally end
<Parent Currency Total> up with double or
<Parent Currency> <Parent Curr Adjs>
triple the desired
<Entity Currency Total>
value
<Entity Currency> <Entity Curr Adjs>
• Even if it’s correct, it
simply takes
unnecessary time
Specify the Value Dimension
• Rules are not run and you can’t write to <Entity Currency Total>
• (1) and (2) are entirely independent of each other
• Avoid reading from outside the data unit
• Definitely avoid reading Calculated values from outside the
data unit.
HFM Rules 201:
Default Sub routines
• This works
HS.Exp "A#AvgWorkCap" & Nones & "=" & (sum_wc / 13)
Tip 5: Impact Status
• HS.ImpactStatus(“target POV”)
• Function that simply changes the calc status of the target from
anything to “CN”
– Only need to use on base entities
– Anytime Sub Calculate runs, you know that data has been updated
– Same or future Period, can be a different scenario, year, entity, etc.
• Always used for Roll-forwards
Impact Status for Synchronizing
Actual Data with Forecast
Advantages:
• Each sub procedure will deal with one “set” or rules.
– Cash Flow
– Allocations
– Statistics
• You can turn types of rules on and off
• Cuts down on repetitive code
• Helps with debugging
• Overall code is more readable
• Calc Manager is designed for this approach
Calling all Sub Routines
Tip 9: Debugging Code
• File output is from the HFM app server’s perspective and owned
by the DCOM user
– Create a file share for this
• This is a snapshot of the text output
• I was just trying to see what data was in each of the value
dimensions at a particular time
• The Time / Date Stamp is coded into the output, and is
automatic
Intro to Calc Manager
The future of EPM rules development
Overview
• RuleSets
– Rules *
• Components
• RuleSets
– Are equivalent to major subroutines (e.g. Calculate, Consolidate,
Translate, NoInput, etc.)
– Only one RuleSet per Calculation Type can be deployed at once
but multiple versions can be created and stored
– RuleSets perform “Calls” for all of the individual rules
Rules
• Rules
– Are equivalent to custom subroutines that are called from
main subroutines
– Where all of the actual code is actually housed
Elements – Components (Demo)
• Formula
– Equivalent to any statement/formula such as HS.Exp or setting a variable equal
to something
– Also contains conditional processing for individual statements
• Script
– Allows VBScript to be written for part of a rule rather than using the GUI
interface
• Condition
– Used to wrap a conditional statement around other components (e.g. “If
pov_entity = x then….”)
• Member Range
– A list of items that can be looped through, such as a member list
• Data Range
– Equivalent to Open Data Unit loops
• Fixed Loop
– A numbered series that can be looped through (e.g. “For i = 1 to 10”)
Formula Details (Demo)
• True or False
• Prefix with “b”
Execution Variables: Numeric