Show TOC

Function documentationEditing 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.

Features

Types of Dependencies

There are six different types of dependencies:

  • Dependencies as Formulas

    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.

  • Dependencies as Tables

    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.

  • Dependencies as Functions

    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.

  • Component Conditions

    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.

Dependency Status

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.

Default Values for Syntax and Checking the Syntax in 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.

Displaying Dependencies
  • 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.