Logic Execution 
Planning and Consolidation logic reads a specific data selection from the application, applies a set of user-defined formulas (stored in a logic file), derives the values, and writes those values back to the application. This process allows you to perform calculations such as “units x price” because the formulas are applied to only the members specified in the logic file.
Logic is executed in any of three ways:
After data is sent to the database
All rules in the default.xls (default.lgl) file are run automatically after data is sent to the database. The system determines the data selection (the selection of members upon which the system performs calculations) based on all occurrences of the specified dimensions, such as Category, Time and Entity (the default dimensions), that are found in the posted data. By using this method, the formulas are executed immediately after the data is sent and the results can be seen in the system right away.
After journal data is sent to the database
By default, If you are using the Journals feature, you can create a special logic for Journals or use the Journals can run default logic using default.lgf. Journal logic works the same as the default logic.
To use special advanced rules for Journals, you can create an advanced logic worksheet named Journal.xls, save it, and validate it. This creates Journal.lgf. After the creation of this file, every time users post data using a journal entry, the special journal logic is run. If there is no Journal.lgf file, the system runs the default logic file (default.lgf).
Using advanced logic with Data Manager packages
You can also run logic using Data Manager for batch processing of formulas. Using Data Manager to execute logic is useful for calculations that do not need to be run immediately. For example, as an administrator you can decide to wait until all the data has been entered in the local currency before generating the translated amounts in the reporting currencies.
If the logic file is invoked by a Data Manager package, the package provides this information from a prompt to the person running the Data Manager package.
Assume that you have entered data in six input cells in the application:
|
CATEGORY |
TIME |
ENTITY |
CURRENCY |
ACCOUNT |
PRODUCT |
PERIODIC |
|
ACTUAL |
2004.JAN |
SALESITALY |
LC |
UNITS |
PRODUCTA1 |
12345 |
|
ACTUAL |
2004.JAN |
SALESITALY |
LC |
INPUTPRICE |
PRODUCTA1 |
100 |
|
ACTUAL |
2004.FEB |
SALESITALY |
LC |
UNITS |
PRODUCTA1 |
5456 |
|
ACTUAL |
2004.FEB |
SALESITALY |
LC |
INPUTPRICE |
PRODUCTA1 |
200 |
|
ACTUAL |
2004.FEB |
SALESITALY |
LC |
UNITS |
PRODUCTA2 |
300 |
|
ACTUAL |
2004.FEB |
SALESITALY |
LC |
INPUTPRICE |
PRODUCTA2 |
8456 |
In this case, a send (for example, EvSND) passes a selection containing the category ACTUAL, the time periods 2004.JAN and 2004.FEB, and the entity SALESITALY.
With the information specifying the scope of the data to process and the formulas found in the default logic, the system builds an MDX query that returns the appropriate set of calculated cells.