Describes how changing propagateToDescendants using the updateLevels API affects update behavior.
The updateLevels
API contains a boolean propagateToDescendants
attribute for workflow, Level Dimension, Level Attribute, Level Version, and Level Actuals. PropagateToDescendants
handles how changes flow from a parent to its children. During an updateLevels
request enabling or disabling propagateToDescendants
has different affects depending on where it is used. The ProceedWithWarnings
attribute also generates different results depending on what changes as part of an updateLevels
request.
Workflow
setting |
propagateToDescendants |
result |
inWorkflow=0 |
=1 |
The current level and all its children are disabled |
inWorkflow=0 |
=0 |
UpdateLevels will error out. |
inWorkflow=1 |
=0 or =1 |
Impacts the current level. No change for descendants. |
Level Dimension
setting |
propagateToDescendants |
result |
A level has a dimension. |
=1 |
The parent dimension and its child dimensions will change. First, propagateToDescendants is performed, then specific dimension changes are executed in the children. |
A level has a dimension. |
=0 |
updateLevels updates dimensions for the current level only. |
Level Attribute
setting |
propagateToDescendats |
result |
Child attributes are compatible. |
=1 |
Only the current attributes will change. |
Child attributes are not compatible. |
=1 |
The current level along with all its child attributes will change |
Child attributes are compatible. |
=0 |
Only the current attributes will change. |
Child attributes are not compatible. |
=0 |
updateLevels will error out. |
Level Version
setting |
propagateToDescendants |
result |
Version is unavailable for a parent. |
=1 |
The version will be unavailable for the current level and all its children. |
Version is unavailable for a parent. |
=0 |
updateLevels will error out. |
Version is available for a parent. |
=1 |
The version will be available for the current level and all its children. |
Version is available for a parent. |
=0 |
The version will be available for the current level only. |
Level Actuals
setting |
propagateToDescendants |
result |
Parent actuals shrinks (the number of days reduces). |
=1 |
Actuals for the current level and all its children will shrink. |
Parent actuals shrinks (the number of days reduces). |
=0 |
updateLevels will error out. |
Parent actuals expands (the number of days increases). |
=1 |
Actuals for the current level expands. Children are not impacted. |
Parent actuals expands (the number of days increases). |
=0 |
Actuals for the current level expands. Children are not impacted. |
proceedWithWarnings
setting |
proceedWithWarnings |
result |
Current level changes |
proceedWithWarnings=0 |
updateLevels will error out. |
Current level changes |
proceedWithWarnings=1 |
- Dimension: Level will move to a new parent with its dimension values. Dimension mapping is not changed for the moved level or its descendants due to re-parentage
- Parentage: The moved level will have a new parent and the level order will also change.
- Version : Version visibility changes to make it compatible with the new parent level.
- Actuals: The actuals start/end time changes to make it compatible with the new parent level.
- Attributes: Attribute mapping will change to the parent's attribute's values if it is not compatible.
|