Guidelines for On-Demand Rules

You create On-Demand rules using Calculation Manager.

Templates can be dragged and dropped inside a rule. You can deploy a rule that uses templates, but templates cannot be deployed standalone.

Replacement Variables

When you add a new rule, Calculation Manager automatically creates six system Replacement Variables for the rule as Run-Time Prompts for the Scenario, Year, Period, Entity, Consolidation, and Currency dimensions. Users use the run-time prompts to select members for these dimensions when they launch the rule. You can change the run-time prompt texts for these variables, but you cannot remove them. Users can override the default member at run-time.

You can define additional Replacement Variables if needed for your rule.

When you launch an on-demand rule from the Rules card for the first time, if a default member was not specified for a run-time prompt, the prompt is blank. On subsequent launches of the rule, the prompt displays the last member used.

When you launch on-demand rules from a form, the Run-Time Prompts by default display the members from the Point of View of the currently selected cell. However, if you would like the system to always use a specific member for the dimension, you can select the option to override with a specified value for the variable. If you specify a value in Use as Override Value, it will also be used in the Rules card.

If you select the Is Hidden option for the replacement variable, the system will not prompt the user for the value at run time, but will use the value specified in the Replacement Variable definition for that variable. This option is the same when invoking from a Data Form or from the Rules card.

You can view all six system replacement variables as part of the rule in the Variable tab of the rule.

Note:

The Merge Variable option is not available for On-Demand rules. Run-Time Prompts for On-Demand rules are defined at the rule level. Calculation Manager does not merge rule-level Run-Time Prompts. Rulesets are not supported for On-Demand rules.

You must a enter a Value in the Validation column for the variable so that rule can be validated before deployment.

When you validate the rule, you must provide members for any of the Run-Time Prompt dimensions for which you did not provide a default in the Value column.

Dimension Members Supported for On-Demand Rules

On-Demand rules automatically insert the OUTER FIX statements for the following dimensions as part of the rule script. You do not need to include these dimensions as part of the FIX statement in the script. The value for these dimensions is provided in the popup prompt where the users enters the values. The system uses default values from the source (for example, the cell POV if launched from a data form or a Oracle Smart View for Office grid), but users can change the value before executing the rule.

See Working with Essbase Calc Script.

These members are supported for Run-Time Prompts in on-demand rules:

  • Scenario - you must select one base member.

  • Year - you must select one year.

  • Period - you must select one base member.

  • Entity - you can select one or more base or parent entities or functions.

    You cannot use the FCCS_Global Assumptions member or its descendants (if any) for Run Time Prompts for the Entity dimension.

  • Currency - you can select Entity Currency or Input Currency

  • Consolidation - you can select FCCS_Entity Input, FCCS_Translated Currency Input, FCCS_Amount Override, or FCCS_Rate Override.

Note:

For the Consolidation dimension, if you want to use FCCS_Amount Override or FCCS_Rate Override, you must first set the following substitution variable for the Consol cube to enable it:

ODR_ENABLE_RATE_AMOUNT_OVERRIDE = TRUE

See Creating and Assigning Values to Substitution Variables.

The following dimensions are not available for Run-Time Prompts, but are also supported for on-demand rules:

  • View - you can only select Periodic view. The Periodic View member must be specified in either the FIX statement or as a Target.

  • Account and Movement - see Working with Essbase Calc Script. If you do not specify members for any of these dimensions, the system processes the rule for all members. You should exclude any system-restricted members in the FIX statement.

  • Data Source - see Working with Essbase Calc Script.

    Note:

    The FCCS_Intercompany Eliminations member is not valid for on-demand rules.

  • Multi-GAAP, Intercompany and Custom - If you do not specify members for these dimensions, the system will process rules for all members in the dimension.

Best Practices for On-Demand Rules

For best practices on creating rules, see Configurable Calculations Best Practices, Working with Essbase Calc Script, and Supported Essbase Functions.

When you create an on-demand rule, you may need to include this logic:

  • Include any SET commands required for Essbase to ensure proper settings

  • Include any CREATE blocks or CLEAR Blocks command

    In order to run an on-demand rule when you are using the Dense/Sparse Optimization option that uses Period and Movement as the Dense dimensions, you need to create a block before the rule. See the "@CREATEBLOCK" function in the Oracle Essbase Technical Reference.

  • Include an appropriate CALC DIM statement for non-aggregated dimensions

The system will include the following sections in on-demand rules:

  • Include OUTER FIX statement from the prompt

  • Include any status handling routine

Running On-Demand Rules in a FIX

By default, On-Demand Rules are run in FIXPARALLEL. The FIXPARALLEL command will include members from the six Run Time Prompts (RTP): Scenario, Year, Period, Entity, Consolidation and Currency. If you need to run the same On-Demand Rule in a FIX, you can define a substitution variable. You can add a substitution variable named <RuleName>_FP on the Consol cube and set its value to False. For example, if rule name is ODR- Calculate Sales, you should name the variable ODR_CALCULATE_SALES_FP. Note that the hyphen in the rule name is replaced with an underscore in the variable name and there are no spaces in the variable name.