Select language:

 Variant Tables 


Tables are used to store combinations of values for different characteristics – for example, you can only have a gray car interior if the car’s paintwork is blue.

Tables are an aid to entry for dependencies. You enter the table in a dependency. The system uses the table to infer and check values. If the interdependencies between characteristics change, you change the table, not the dependencies.


You can use tables in selection conditions, preconditions, actions, procedures, and constraints.

  • In selection conditions, preconditions, constraints, and the conditional part of actions and procedures, tables are used to check the consistency of the values entered.
  • In actions, procedures, and constraints, you can use tables to infer values.
  • In constraints, you can use tables to restrict the allowed values for a characteristic (see
Restricting Characteristics with a Variant Table).


There are two steps to creating a table:

  1. You define the table structure.
  2. You enter the characteristics that you want in the table and define value assignment alternatives.

    The characteristics in the class can be identical to those in the table. However, only use single-value characteristics in tables. If the characteristics of the class are multiple-value, create single-value characteristics especially for the table. However, the characteristics must have the same format and values.

  3. You maintain the table entries.

Table Call in Dependencies

The characteristics of the table are compared with the characteristics of the class in dependencies.

TABLE <table name>

(<characteristic of table> = <characteristic of class>,

<characteristic of table> = <characteristic of class>)

Link to a Database Table

You can link variant tables to database tables to provide new capabilities for accessing tables when processing data. This considerably improves system performance.

For more information, see

Link to a Database Table.

Runtime Objects

Runtime objects are generated for all variant tables, and are updated when the variant tables are changed. Runtime objects contain the tables, table lines, and table entries in compressed form. This improves access to data.

Engineering Change Management

Table contents can be maintained with engineering change management, both with a valid-from date and with effectivity.


Variant tables that have been maintained with engineering change management cannot be physically deleted from the database. Once their validity has expired, they only disappear logically, because engineering change management prevents them from being displayed.

You cannot process a table structure with engineering change management.


To process tables in dependencies:

  • Only use single-value characteristics in tables
  • Do not use intervals in tables
  • Only enter one value per table cell (otherwise inconsistencies occur when using the Sales Configuration Engine) If you enter more than one value in a cell, you can get the system to multiply out the values by choosing Table ® Standardize.