Persist Properties
This command is used to persist the calculated values for the specified list of
calculated properties, to improve performance while accessing the values for those properties.
This command effectively shifts the effort and time of calculating specific properties, to be
accomplished as an explicit bulk action, instead of calculating values on-demand when the
values for those properties are requested. Thus, improves performance of the functionalities
in which the properties are used such as Solve, Plansheets, Queries, Export.
If a part of a calculated property has been updated, this command does not validate the persisted values for the calculated property. In this case, the requested values for the calculated property fall-back to on-demand calculation, until the Persist Properties workflow command is used again to persist the updated calculated values. For example:
- The property definition for class X is
A = B + C;
- Execute workflow command
Persist Properties: X.A
. The request for the values of property A is optimized. - The persisted calculated values for property A are not used if the value of property B or C is updated. As a result, the requests or values of property A cannot be optimized and is calculated on-demand.
- Syntax
-
Persist Properties: <class name.property name>[, <class name.property name> ...];
This table lists the exception conditions and the related error message (if applicable)
during the execution of the command:
Condition | Message |
---|---|
If the property is not calculated, and the property is an atomic property. | A warning is logged and the atomic property is
skipped.APACS342=Skipped atomic property "{0}".{0} = Class and property name for the non-calculated property |
If class name is not a known class within the model, an error
is logged. |
An error is
logged.APACS110=There is no class with name "{0}" defined in the model.• {0} = class name parameter value |
class name is valid; however,property name is
not defined for that class. |
An error is
logged.APACS109=There is no property with name "{0}" defined for class "{1}".
|