Variant Tables 

Purpose

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.

Integration

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

Features

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.

Restrictions

To process tables in dependencies: