Release 10.1A: OpenEdge Development:
Progress Dynamics Basic Development

> ## Entity record fields

> It is worth understanding a bit more about exactly what gets assigned when you perform the Entity Import. The following sections describe some of the fields in the entity record for each table that is assigned values that might not be completely obvious.

> ##### Entity short description

> The Entity Short Description is formed from the table name without the prefix (based on prefix length if any) and with the field separator (if any) applied. This description is used as a substitute for the table name in messages, to make the table name look more like part of a natural language phrase. How effective this description is depends on the extent to which the table name adheres to the Progress Dynamics convention of making table and field names a series of meaningful words with a standard separator.

> You can look at the schema to see exact Repository field names. For the most part, you do not have to concern yourself with the actual names, unless you are writing additional utilities to use or set those fields.

> ##### Entity description field

> Progress Dynamics supports the notion of having a field in a table that is designated as the Description field for that table. This field provides a user with a meaningful description of the record, as opposed to a key value that can be an arbitrary numeric value of no significance to the user. In general, the framework tries to assist you in joining a primary table to one or more other tables. Then you can include this Description field in the display list for the primary table, in place of (or possibly in addition to) the key field on which the code might depend as a join field and as a unique identifier. The proper automatic identification of this field depends on your schema conforming to the Progress Dynamics naming conventions. If this is not the case, you can set this field for each table in Entity Maintenance.

> The naming convention looks for a key field of data type `Character`, whose name begins with the table name without its prefix, plus one of the following strings:

> - `_description`

> - `_desc`

> - `_name`

> - `_short_name`

> Failing this, it looks for a field name without the table name, but ending in one of these four strings.

> ##### Entity narration

> Entity Narration is a description field for the table. It is initialized from the table description in the schema, if any.

> ##### Entity Object field

> The import tries to determine whether there is a field that can serve as the object ID field for the table. If there is a field that adheres to the standard Progress Dynamics naming convention for object IDs (table name minus the prefix plus `_obj`), then this is set as the Object field. The field must be a numeric field with a unique index, adhering to the format of the `o_obj` domain in the Progress Dynamics ERwin template, that is, with nine decimal places.

> If this field exists, then an additional Table Has Object Field field is set to Yes; otherwise it is set to No. You will have the opportunity to define these fields table by table in the Entity Maintenance, if the default settings do not work for your database. However, the field must be a numeric field that has unique values for a given table.

> ##### Entity key field

> For databases that conform to the naming conventions used in the Progress Dynamics Repository, this field is assigned the name of the first `Character` field in a unique single-field index, matching the table name, minus prefix, plus one of the following suffixes:

> - `_code`

> - `_reference`

> - `_type`

> - `_tla`

> - `_number`

> - `_short_desc`

> Failing this, it takes a `Character` field name not matching the table name but matching one of these suffixes; failing that it takes a `Decimal` or `Integer` field matching one of the suffixes.

> For other databases that do not have such a coded, specially named character field, the import utility uses the Entity Key Field to store the names of the fields that make up a unique index for the table. These can be fields of any data type. This field or field list is used by parts of the framework that associate a special record such as a `Comment` record or `Auditing` record with a table name and key value. Providing a value for this key field makes it possible for any database, even one with no actual object ID field, to take advantage of these features.

> ##### Display fields

> There is a separate `Entity Display Field` table where a record is stored for each field in each table imported. The fields in this table are populated with data from the database schema, including the field name, label, format, and display order. A record is created for every field in each imported table, except object ID fields, which are identified using the `_obj` naming convention, with the expectation that the object ID field is not displayed in a standard user interface.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095