Variable-Format Data Sets

DMSII variable-format data sets consist of a collection of dissimilar records containing a fixed part that is common to all records, and a variable part that depends on the record type. The individual records are identified by the record type, which is a special data item that has a value between 0 and 254.

  • A record type of 0 indicates that the record does not contain a variable part.
  • A record type of 1–254 indicates that the record contains the corresponding variable part in addition to the fixed part that is always present.

The concept of variable-format tables does not exist in relational databases. Therefore, the DATABridge host software handles the various types of variable-format records as different structures. DATABridge references these structures by a data set name and a record type (all other data set types have a record type value of 0). The DATABridge Client uses the notation datasetname/rectype when referring to variable-format data sets in all messages. The DATABridge Client handles these structures as if they were logical data sets; thus, each individual record type of a variable-format data set is mapped to a different relational database table.

Fixed Part Only Records

Even though type 0 records are not explicitly declared in the DMSII DASDL, applications can create such records by simply setting the record type to 0. The DATABridge software always defines a data set with a record type of 0 (rectype column in the DATASETS client control table) for type 0 records of variable-format data sets. This data set is mapped to a table whose name is derived from the data set name (that is, name converted to lowercase and all dashes replaced by underscores).

Note that unless the DMSII applications explicitly store type 0 records in the data set, this table may be empty. If you know this is the case, you may want to disable the cloning of the type 0 records for the data set by setting the active column of the corresponding entry in the DATASETS client control table to 0.

Variable Format Records

All other record types are treated as if they were contained in a separate structure. The primary tables for these structures are named by appending the suffix _type# to the name mapped from the data set name, where # is the decimal value of the record type (that is, a value between 1 and 254). Note that the fixed part of the variable-format records and the record type are also stored in the resulting relational database table.

DMSII DASDL Showing Fixed- and Variable-Length Records

MAIN 

DATA SET

 


    VAR-REC             RECORD TYPE (3); 
    CUST-NO                 NUMBER (08); 
    CPU                     ALPHA  (06); 
    FILLER                  SIZE   (05); 
   ), 

 1: 
   ( 
    SMSA                     ALPHA  (04); 
    SALES                    ALPHA  (06); 
   ) 

 2: 
   ( 
    STATUS                  ALPHA   (01); 
    RECEIVED                ALPHA   (06); 
    ORDER-DATE              NUMBER  (08); 
   ) 

 3: 
   ( 
    SITE                     ALPHA  (07); 
    SOURCE                   ALPHA  (07); 
    CLASS                    ALPHA  (02); 
 

   ); 
%

MAINSET SET OF MAIN

KEY (CUST-NO)

NO DUPLICATES;