Rule Types

You can write rules that set and clear values, calculate data, translate currency, consolidate data, allocate data from one location to another, and prevent data input.

Table 10-1 Rule Types

Rule Type Description

Calculation

Calculation rules run when users run calculations. You can use Calculation rules to perform calculations that cannot be calculated through the natural order of the dimension hierarchies. For example, you can create calculations to derive ratios or opening balances. The Calculate() routine is executed when you calculate or consolidate data.

Translation

Translation rules run when users run translations. You can use Translation rules to perform calculations related to non-standard translations. The Translate() routine is executed when you translate or consolidate data.

For example, if the application is using the default ClosingRate to translate Assets and LIABILITY accounts and AverageRate to translate REVENUE and EXPENSE accounts, you may want to use a different translation rate to calculate the translation difference related to Net REVENUE.

Oracle Hyperion Financial Management executes Translation rules in these cases:

  • When a user runs a currency translation by right-clicking in a data grid and selecting Translate or Force Translate from the menu that is displayed. This is useful for performing translations as you enter data.

  • When a user performs a consolidation and a parent entity’s default currency is different from a child entity’s default currency.

Consolidation

Consolidation rules run when users run consolidations. You can use consolidation rules to perform non-standard consolidations, most commonly found in statutory applications. The Consolidate() routine is executed when you consolidate data.

Allocation

Allocation rules allocate data from one entity to a list of entities. For example, you can use Allocation rules to calculate administrative expenses for a list of entities based on the total administrative expenses for another entity.

Input

Input rules allow input at the Parent entity level. Only the entity currency Value dimension is supported. Note that contribution values from children to the Parent entity’s entity currency Value dimension are not rolled up. The contribution value for the Parent.Child combination is stored.

NoInput

NoInput rules prevent input at the Base entity level, thus reserving the cells for calculations. You can use the NoInput function multiple times in a NoInput rule to prohibit data input into several non-adjacent cells.

These limitations and guidelines apply to NoInput rules:

  • Only these Financial Management functions are supported for NoInput rules:

    • NoInput

    • List

      All VBScript methods are supported for NoInput rules.

  • For the List function, fixed lists, system lists, and dynamic lists are supported. A dynamic list can reference metadata attributes supported by the List function.

  • An If...Then structure can test for metadata attributes. However, NoInput rules do not support testing of members in the current Point of View. For example, you cannot test If HS.Entity.Member = "CT".

  • Be careful when using the NoInput function in loops. A few simple statements with loops may end up loading thousands of cells in memory, so be sure to test the performance impact of loops that include NoInput.

Dynamic Calculation

Dynamic rules enable you to define formulas to dynamically calculate accounts. You can dynamically calculate Base accounts only. You cannot use Dynamic rules on Parent accounts.

Use these guidelines for writing dynamic calculation rules:

  • The right side of the equation must reference the same Scenario/Year/Entity combination. This means you cannot reference prior year amounts in your calculations.

  • Only dynamic accounts are valid on the left side of the equation.

  • Dynamic accounts cannot be used on the right side of the equation.

  • Only Account and View are valid on the left side of the equation.

  • If View is not specified, the calculation executes for YTD and Periodic. If View is specified, the calculation is executed only for the specified view.

  • HS.View.PeriodNumber is the only HS statement that can be used in a HS.Dynamic calculation.

  • All statements in the Sub Dynamic section are executed sequentially.

Transactions

Transactions rules specify the accounts in the application that support intercompany transactions. Cells supporting transactions are read-only in data grids and forms.

Equity Pickup

Equity pickup rules specify the owned entity, owner entity, and percentage of ownership

This is the default point of view when the Sub EquityPickup section is run:

  • Current scenario, year, and period

  • Entity: owner of the pair processed

  • Value: <Entity Currency>

OnDemand

On-demand rules are used in Data Forms, and enable you to run a subset of calculations to quickly see the results in the data form. All HS functions that can be used in Sub Calculate (but no others) can also be used in OnDemand rules.

You create rules for Financial Management in a unique script, which is based on the Microsoft VBScript language. Rules are constructed through the combination of functions, objects, and other arguments to generate the scripting syntax. Within each routine, you use two types of functions to write rules:

  • Financial Management functions that define calculations

  • VBScript functions that are used to write conditional statements