Validation and execution

The supersession logic is performed for the current scenario on successful validation and execution of the macro. These are the validation rules:

  • Each of the defined supersession relationships in the code list are validated.
  • Predecessor Locations can be set at aggregate levels, that is all children of this aggregate location must have supersession applied within the specified location selection:
    • If a child location of the aggregate is also used within the code list, the last entry in the code list is applied to that child location
    • If the predecessor Location is an aggregate, the Successor Location must be null
  • When an aggregate Predecessor Location used, only the values for valid item@locations combination, Introduction date and discontinuation date are copied. The valid combination measure to be used is derived from the valid combination defined within the Cycle.
  • If a definition is not unique across predecessor item, successor item and location, the last entry in the code list is applied.
  • If a definition contains multiple predecessor Item and Locations transferred to a single Successor Item and Location, the values are added together.
  • All scenario values for the Predecessor Item are transferred to the successor item regardless of the transfer date.
  • Measure transfer occurs between ‘from measure’ of predecessor item and predecessor location and ‘to measure’ of successor item and successor location for all periods in the cycle period horizon.
  • Factor works as a weighting factor (multiplier) from the predecessor item/location to the successor item/location, as opposed to a ratio. If values for both two successors are set to 1, each receives 100% of the predecessor history measure (making a total of 200%).
  • Null transfer rate is assumed as 1.
  • A transfer factor of 0 does not perform any history transfer to the current successor, effectively set the required changeover date.
  • Ensure the predecessor and successor item nodes of each supersession relationship is valid. All predecessor and successor items must be defined as base-level elements in the corresponding module hierarchy.
  • Ensure the predecessor and successor locations of each supersession relationship is valid.
    • If Predecessor location is an aggregate, the successor location must be null.
    • If the Predecessor location is a base location, the Successor location must be either null or a base location.
    • Both locations must be defined within the corresponding module hierarchy.
    • Ensure the Predecessor location is not null.
    • When specifying aggregate location elements, the user executing the macro must have access to the aggregate element in data security settings.
  • Ensure the predecessor and successor item nodes of each supersession relationship are populated.
  • Any errors are raised to discard log and processing, continues on the remaining relationships in the code list.
  • Measures of type Market Intelligence, Orders or Transactional Data cannot be used within supersession.

For more details, see Supersession macro examples.

Validation is performed when you execute the macro. If any of the validation fails, the macro is aborted and the related error message displayed.

This table lists the Scenario Macro commands as compared to the Cycle Period/Scenario Status and validation messages:

Cycle Period Status Scenario Status Can Execute? Validation Message
Pending N/A No Cannot run macro {0} because Cycle Period has status "Pending"
Running WIP Yes N/A
Paused Any No Cannot run macro {0} because Cycle Period is not running"
Aborted Stopped No Cannot run macro {0} because Cycle Period has status "Aborted"
Archived Any No Cannot run macro {0} because Cycle Period has status "Archived"
Completed Any No Cannot run macro {0} because Cycle Period has status "Completed"

This table lists the error message displayed during the macro execution:

Validation Condition Error Message
Ensure the specified code list is valid Code List "{0}" cannot be found.
Ensure the specified code list attributes are valid. Code List attribute "{0}" cannot be found in code list {1}.
Ensure the specified measures are valid for this cycle.Module and enabled. The measures include the specified introduction date, discontinuation date, from and to measure. Measure "{0}" cannot be found.
Ensure the specified introduction and discontinuation date measures are of the correct type (Date). {0} Measure Code requires a measure of type=Date.
Ensure the specified from and to measures are of the correct type (Units or Currency). {0} Measure Code requires a measure of type=Units or Currency.
Ensure the specified introduction date and discontinuation date measures are different introduction date measure code and discontinuation date measure code cannot be the same measure.
If specified, ensure the item nodes are valid item {0} cannot be found
Ensure the specified measures are not Market Intelligence type. Measure {0} cannot be of type Market Intelligence.
Ensure the specified measures are not of type Transactional Data. Measure {0} cannot be of type Transactional Data.
Ensure the specified measures are of type Orders. Measure {0} cannot be of type Order.
If specified, ensure the Overwrite flag is valid. The value must be true or false. Invalid parameter value {0}. Must be true or false.
Note: Each of the defined supersession relationships in the code list are also validated. For any errors, log is raised to discard log and the processing continues for the remaining relationships in the code list.