Object Dependencies in the Knowledge Base of Materials
The following figure shows the object dependencies as the core of modeling variant configuration.

The following figure shows the object dependencies in the overall modeling model for variant configuration.

Object Dependencies
Local dependencies have the following properties:
- They cannot be maintained centrally and cannot be assigned to other objects
- They are identified by a number assigned by the system, not by an external name.
Global dependencies have the following properties:
- They're identified by an external name that you assign and are maintained and managed centrally.
- There are special assignment functions that enable you to assign global dependencies to individual objects. However, you can also create all dependencies except constraint nets in assignment functions.
- If you change a global dependency, the change affects all the objects where the dependency is used.
The following Dependency types exist:
Precondition:
Dynamic control of characteristics and values.
Can a characteristic (value) be selected in the configuration? It does not have to be selected.
Selection Condition:
Dynamic control of characteristics.
Does a characteristic have to be selected? Controls the selection of BOM components and task list activities.
Procedures:
Derivation of characteristic values with the option of overwriting and successive calculations (last two points only for procedures).
Constraints:
Value assignment and consistency check in single-level and multilevel configuration. Additional reporting options for equations, variant tables, and variant functions.
Assignment of Object Dependencies
The following assignment of object dependencies exist:

Object Dependencies in Classification and Variant Configuration
Classification:
- Can only be assigned to classes, characteristics, and values
- Active only when classifying an object, not when finding objects
- Dynamic control of characteristics and values
- Automatic characteristic value assignment
Variant Configuration:
- Required to perform configuration
- Can be assigned to various objects in the knowledge base
- Active during the configuration process as determined by the predefined execution sequence
- Dynamic control of characteristic and values
- Automatic characteristic value assignment
- Multilevel configuration, including checks for completeness and consistency
Processing Sequence of Object Dependencies
The next figure shows the processing sequence of Object Dependencies in the Low Level Configuration:
First: Selection Conditions
Second: Procedures

The next figure shows the large processing sequence of Object Dependencies in the High Level Configuration.

Processing sequence BOM / Routing
- Selection conditions for objects.
- Procedures on objects have been excluded, as far as these objects are not selected due to the selection conditions.
Processing Sequence AVC = Advanced processing mode
Starting the processing of the object, dependencies are processed as follows:
- Starting with the $root object: Values set by procedures are reset.
- The BAdI VCH_HL_PRE_VALIDATE_ASSIGN is processed.
- $root instance
Constraints on the $root object are processed (and are also processed repeatedly if the conditions change).
Static default values (static default values that lead to inconsistencies will be withdrawn immediately.)
All procedures are evaluated exactly once, in the following order:
- Configuration profile
- Characteristics
- Characteristic values
The execution sequence of the procedures per object is defined at the level of the object dependencies assignment.
- All preconditions and then all selection conditions executed.
According to next level, the bill of materials explosion (and "left"() starts with step 2. Always taking into account an additional instance. (Finally, the procedures that are set to this $root level are processed again (due to pricing, etc.).
- The BAdI VCH_HL_POST_VALIDATE_ASSIGN is processed.
If an unrecoverable inconsistency is found, the processing terminates at this point. (Not under LO-VC = classical Processing Mode).
There are two additional BADIs that you can use when branching to the configuration and from the configuration can be processed.
Processing Sequence LO-VC = Classic processing mode
The following processing sequence applies to the value assignment user interface in high-level configuration.
The processing is started according to the settings during data release or on request.
The object dependencies of the configuration profile, valuated characteristics, and characteristic values is used.
All procedures exactly once in the following sequence:
Configuration profile
Characteristics
Characteristic values
Within each object, the procedures are executed in the order which you define.
All actions as far as changes have been made by the procedures (all constraints are processed immediately for which relevant changes.)
All preconditions and then the selection conditions.