Dictionaries

Dictionaries

Top  Previous  Next

 

Every data file normally has an associated dictionary which describes the structure of the data records in the file. The dictionary is normally only used by the query processor and a few other commands. Application developers may find it useful to construct data structure definitions from the dictionary for use in programs using the GENERATE command.

 

It is possible to create a file that has no dictionary or for multiple files to share a common dictionary.

 

A dictionary contains the following types of record, identified by the leading characters of field 1.

 

APick style data definitions. An A-type record describes data that is held in a field of the record or calculated from that data.

 

CCalculated values. Similar in concept to an I-type, a C-type is a program that returns a calculated value via the @ANS variable. C-types are provided for compatibility with other environments and I-types should be used by preference.

 

DDirect data types. A D-type record describes data that is held in a field of the record.

 

EElement references in data collection files.

 

IIndirect data types. An I-type record describes data that can be evaluated from data in fields of the record, perhaps with reference to other records or other files. It is essentially a small program that returns a value.

 

LLinks to other files. Used only in query processor commands and dictionary I-type record expressions.

 

PHPhrases for use in query processor commands.

 

SPick style data definitions. An S-type record describes data that is held in a field of the record or calculated from that data. S-type records are identical to A-type records in QM.

 

XOther miscellaneous data.

 

The names given to A, C, D, E, I and S-type dictionary records are the names used in queries to reference the field. Every field to be used in query processor sentences must have a corresponding dictionary record. There may be multiple dictionary references to a single field thus allowing synonyms for query processor commands, perhaps with different default display characteristics.

 

Field 11 of all data definition record types (A, C, D, E, I, S) is reserved for user use.

 

Dictionary record types Y and Z will never be defined as part of the standard QM product and are available for whatever purpose a developer may find useful. Other type codes not listed above may be defined in future releases and should therefore be avoided.

 

To view the content of a dictionary, use LIST or LISTDICT. The latter produces a Pick style dictionary report but shows only A, D, I and S type records.