Editing Dependencies
In product modeling, you can use dependencies as follows:
To exclude combinations of characteristic values that are not allowed, such as a convertible with a sunroof.
To assign variable condition keys that then influence product pricing. For example, the price could increase automatically by EUR 1000 if you choose a sunroof during configuration.
To derive values for characteristics.
To guide the user through interactive product configuration by making attributes hidden, required, not allowed, or display only, based on selection of other characteristics.
To define rules that dictate the conditions that must be met for a component in the product structure to be selected.
There are six different types of dependencies:
You can use dependencies as formulas to describe the dependencies that exist between different configurable characteristics and their values.
Formula
is available at product level or class level.
Conditions for Characteristics
You can use conditions for characteristics to guide end users through interactive product configuration. You can define the circumstances under which characteristics are visible, selectable (allowed), required, or display only.
Condition
is available at product level or class level.
You can use dependencies as tables to store valid combinations of values for different characteristics and to restrict domains.
Table Formula
is available at product level and class level if you have created a table with status Released
in the product model.
You can use dependencies as functions to create custom functions.
Function Formula
is available at product level and class level if you have created a function with status Released
in the product model.
You use component conditions to define the conditions under which a component can be selected in the configuration.
Component Condition
is available at product level for a product to which you have assigned a component.
Dependencies as Component Formulas
The functions in dependencies as component formulas have the same functional scope as "Dependencies as Formulas". With dependencies as component formulas, you can go a step further and describe dependencies between a product and one of its components.
Component Formula
is available at product level for a product to which you have assigned a configurable component.
For more information on dependency syntax, see Dependency Syntax.
You can set the following statuses:
Released
Dependencies with this status are available in product configuration and in the simulation.
In Preparation
Dependencies with this status are neither available in product configuration nor in the simulation.
When you create dependencies, this status is set automatically.
Blocked
Dependencies with this status are neither available in product configuration nor in the simulation.
When you change the status from In Preparation
to Released
, or if you change released dependencies, the system runs a syntax check. If this check fails, the system sets the status to Blocked
.
You can also set the status yourself.
You can change the statuses of "Dependencies as Formulas" and "Dependencies as Tables" to Released
if the table or function was also released.
If there is a released dependency that uses a table or function, the structure of this released table or function cannot be changed.
Classes, products, tables, functions, characteristics, and components cannot be deleted if they are used in released dependencies.
When you enter dependencies of the following types, you can make it easier to enter the syntax by using the Suggest
button. You can then test the syntax that was entered by using the Check Syntax
button.
Formula
Conditions
Component Formula
Component Conditions
If you choose the Suggest
button, the system offers a valid text for the end of a coding line, unless you have marked a spot in your coding where you want the system to offer a suggestion with the placeholder /#.
If the system finds errors in the syntax, it marks these errors by surrounding them with placeholders as follows: /#syntax error/#.
For more information about syntax, see Dependency Syntax.
Display dependencies for classes
For classes, you can see the released and unreleased dependencies that were defined at this level.
Display dependencies for products
For products, you can see the released and unreleased dependencies that were defined at this level. You can also see the dependencies that were defined at the class level that the product has inherited.
Display of dependencies for objects: Tables, functions, characteristics, and components
For objects, you can see the dependencies that you have used in the corresponding object and that have status Released
under Dependency Types
.