Background documentation Declarative Dependencies Locate the document in its SAP Library structure

Definition

In declarative dependencies, the point in time when the dependency is processed and the sequence in which the dependencies are processed are not relevant to the result. The result of a declarative dependency can be explained logically. The dependency describes a rule that must always apply. This contrasts with procedural dependencies, where the result depends on the processing sequence and the point in time when the dependency is processed.

As described in Procedures, some expressions are in themselves non-declarative. For this reason, these expressions cannot be used in declarative object dependencies:

- NOT SPECIFIED

- NOT TYPE_OF

- <multiple-value characteristic> NE <value>

These expressions assume that you deliberately assigned no value to some characteristics. However, during the configuration process, it is not clear whether a piece of information is not given deliberately or whether a value will be assigned to a characteristic at a later point in time. For this reason, missing information cannot be used to define a rule for declarative dependencies.

You can use these expressions in preconditions and selection conditions. Since preconditions and selection conditions are not processed until the end of the configuration process, you can assume that values have been assigned to all the characteristics that are intended to have values, and that any missing information is deliberately not given. However, preconditions and selection conditions then no longer count as declarative object dependencies.

When the not equals (NE) expression is processed for multiple-value characteristics, there is a difference between constraints and actions. In constraints, ‘not equals’ can be expressed for multiple-value characteristics, because individual values are processed in constraints. In actions, however, the sum of the selected values is processed. Since it is not clear whether it is deliberate that no value was selected for a multiple-value characteristic or whether a value will be assigned at a later point in time, this expression cannot be processed in actions.

Note

Declarative dependencies are easier to trace than procedural dependencies, because the point in time when the dependency is processed and the sequence in which the dependencies are processed are not relevant.

The following dependency types are declarative dependencies:

The following dependency types are procedural object dependencies:

 

Leaving content frame