Oracle® OLAP DML Reference 10g Release 1 (10.1) Part Number B1033902 


View PDF 
The MODINPUTORDER option controls whether the equations in a simultaneous block of a model are executed in the order in which you place them or in an order determined by the model compiler. MODINPUTORDER has no effect on the order of equations in simple blocks and step blocks.
See: Table 171, "Model Options" for descriptions of all of the options that control the solution of simultaneous blocks. 
Data type
BOOLEAN
Syntax
MODINPUTORDER = {YESNO}
Arguments
The equations in a simultaneous block of a model are executed in the order in which they appear in the model.
The equations in a simultaneous block are executed in an order determined by the model compiler. (Default)
Examples
Example 1723 Using the Default Order
The following statements define the income.calc
model.
DEFINE income.calc MODEL MODEL DIMENSION line month Net.Income = Opr.Income  Taxes Opr.Income = Gross.Margin  TOTAL(Marketing + Selling + R.D) Marketing = LAG(Opr.Income, 1, month) Gross.Margin = Revenue  Cogs END
The following statements compile the model and produce a compilation report using the MODEL.COMPRPT program.
COMPILE income.calc MODEL.COMPRPT income.calc
These statements produce the following output.
MODEL INCOME.CALC <LINE MONTH> BLOCK 1 (SIMPLE) INCOME.CALC 5: gross.margin = revenue  cogs BLOCK 2 (SIMULTANEOUS <MONTH>) INCOME.CALC 4: marketing = lag(opr.income, 1, month) INCOME.CALC 3: opr.income = gross.margin  total(marketing + selling + r.d) END BLOCK 2 INCOME.CALC 2: net.income = opr.income  taxes END BLOCK 1
When you compile income.calc
with MODINPUTORDER set to its default value of NO
, you can see that the compiler reverses the order of the equations in the simultaneous block.
Example 1724 Changing the MODINPUT Value
The following statements set the value of MODINPUTORDER to YES
, compile the model, and produce a compilation report.
MODINPUTORDER = YES COMPILE income.calc MODEL.COMPRPT income.calc
These statements produce the following output.
MODEL INCOME.CALC <LINE MONTH> BLOCK 1 (SIMPLE) INCOME.CALC 5: gross.margin = revenue  cogs BLOCK 2 (SIMULTANEOUS <MONTH>) INCOME.CALC 3: opr.income = gross.margin  total(marketing + selling + r.d) INCOME.CALC 4: marketing = lag(opr.income, 1, month) END BLOCK 2 INCOME.CALC 2: net.income = opr.income  taxes END BLOCK 1
You can see that the compiler leaves the simultaneous equations in the order in which you placed them.