Table definitions and the table definition dialog underpin all the tabular interfaces - exchanging data with IBM DOORS, importing and exporting CSV files, and publishing tables directly to Microsoft Word. A common approach and a shared set of table definitions is used by all of these mechanisms enabling a "define once, reuse many times" mentality.
The table definitions can be as simple or as complex as desired. For example, one could imagine a basic requirements table consisting of four columns - name, number, description, and children (targets of the refined by relationship). It could also be as complex as a table of components with separate rows for each function allocated to a given component, the description of that function, the inputs / outputs / triggers corresponding to those functions in separate rows, attributes relating to those items, and so on. All of the tables are defined and selected using the table definition dialog as part of the import and export wizards.
![]() |
Table definitions become part of the project definition (like icon templates, sort blocks, and many other utility objects). They are automatically exported as part of the project file, and using a custom export, they can be exported separately for sharing with other projects and other users. |
Table definitions become part of the project definition (like icon templates, sort blocks, and many other utility objects). They are automatically exported as part of the project file, and using a custom export, they can be exported separately for sharing with other projects and other users.
Tables are comprised by a series of columns (also loosely referred to as cells). CORE supports the following column types:
Column Type |
Output Behavior |
Input Behavior |
Attribute |
Outputs the attribute value in its string form. |
Parses the attribute value from its string form. |
Class |
Outputs the class name (not the alias). |
Parses the class from the corresponding name. This cell can then be used as a source cell for resolving an element name into an element. |
Class Alias |
Outputs the class alias. |
Parses the class from the corresponding alias (not the name). This cell can then be used as a source cell for resolving an element name into an element. |
Element |
Outputs the element name. |
Attempts to resolve the element name into an element object. Can use a Class or Class Alias column as a source or can use the specified folder during an import process. |
Element ID |
Outputs the element ID (a GUID). |
Attempts to resolve the element ID into an element object. Since the ID is unique, no source column is required. |
Folders |
Outputs the path names (one per line) of the folders that contain the source element. |
Parses the folders from the path names (one per line). Adds the source element to all of the specified folders. |
Parameter |
Outputs the parameter value followed by the parameter units (if specified). |
Parses the parameter value from its string form. If the parameter type uses units, everything after the first space in the string is treated as units. Sets this as the parameter for the source element. |
Parameter Units |
Outputs the parameter units for the specified parameter. |
Parses the parameter units. Sets this as the units for the specified parameter for the source element. |
Parameter Value |
Outputs the parameter value in its string form. |
Parses the parameter value from its string form. Sets this as the parameter value for the source element. |
Relationships |
Outputs the relationship objects (one per line). The sort block determines the representation shown in this column. [Unless you need to outputs a relationship attribute in a dependent column, use the Targets column type instead.] |
Parses each line to resolve the representation into an element and assigns that element as a target of the specified relationship for the specified element. |
Targets |
Outputs the target elements (one per line). The sort block determines the representation shown in this column. |
Parses each line to resolve the representation into an element and assigns that element as a target of the specified relationship for the specified element. |
Unused |
Outputs an empty column. |
Ignores the column value. The Unused column type is useful if the source data has a column that is not used in CORE. |
The table definition dialog provides a quick mechanism to access existing table definitions or create new table definitions on the fly. It's applicable for reading input and generating output.
The main body of the dialog consists of a series of banded entries, each entry representing a column specification. Additional entries can be added to the bottom of the list by using the plus button at the top of the dialog. Each entry specifies:
The header at the top of the dialog contains three critical items:
![]() |
Though western culture often thinks left-to-right, the columns of a table can be placed in any order desired. In other words, it is valid for column 3 to use column 7 as its source data. CORE processes each row in an order calculated from the source data cells, not the left-to-right order. |