www.mvcsys.de

$SYSTEM.SYSDICT2
Definition KDF-V3

Object data

Definition

*
* Version 3 of the KDF adds support for the following features:
*    Keytag attribute as a Constant
*
* This was added for the D00 release, DDL dictionary version 6.
*
DEF KDF-V3.
*
*    Each key description is uniquely identified by this field.
*
  02 IDENTIFIER.                        !Offset 0, size 6
*
*      This field is the object number of the record.
*
    03 RECORD-NUMBER                    TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Record/Number".
                                        !Offset 0, size 4
*
*      Each key field is assigned an ascending number which, combined
*      with Record-Object-Number, forms a unique key.
*
    03 ELEMENT                          TYPE BINARY 16
                                        DISPLAY "I3"
                                        HEADING "Key/Num".
                                        !Offset 4, size 2
*
*    The primary key of the record in the OBL for this field is
*    maintained to enable reconstruction of the source description
*    and access to the offset and size of the key.
*
  02 OBL-KEY                            TYPE FIELD.
                                        !Offset 6, size 6
*
*    ENSCRIBE keytag value. If the file is unstructured, this field
*    will be zero.
*
  02 KEYTAG-VALUE                       TYPE BINARY 16
                                        VALUE 0
                                        DISPLAY "I5"
                                        HEADING "Keytag/Value".
                                        !Offset 12, size 2
*
*    Keytag defined as a string
*
  02 KEYTAG-STRING                      TYPE CHARACTER 2
                                        REDEFINES KEYTAG-VALUE
                                        DISPLAY "A2"
                                        HEADING "Keytag/Value".
                                        !Offset 12, size 2
*
* Object number of Constant used to define Keytag
*
  02 KEYTAG-OBJECT                      TYPE OBJECT-NUMBER
                                        VALUE 0
                                        DISPLAY "I5"
                                        HEADING "Keytag/Object".
                                        !Offset 14, size 4
*
*    Group containing offset and size of key - copied from OBL.
*
  02 FIELD.                             !Offset 18, size 8
*
*  Offset into item of begining of key field (copied from OBL).
*
    03 OFFSET                           TYPE BINARY 32
                                        DISPLAY "I4"
                                        HEADING "Offset".
                                        !Offset 18, size 4
*
*    Number of bytes in key field (copied from OBL).
*
    03 ELEMENT-SIZE                     TYPE BINARY 32
                                        DISPLAY "I4"
                                        HEADING "Size".
                                        !Offset 22, size 4
*
*    User specified null value, which if encountered in this element,
*    means that the element hasn't been initialized.
*
*    Currently, this field is used by Enform and when producing FUP
*    output.
*
  02 NULL-VALUE                         TYPE NULL-VALUE
                                        DISPLAY "I5"
                                        HEADING "Null/Value".
                                        !Offset 26, size 2
*
*    This switch gets "Y" if the user specified a null value for this
*    item.
*
  02 NULL-VALUE-SPECIFIED               TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Null/Specified".
                                        !Offset 28, size 1
*
*    Key Class
*
*             'PRI' - Primary Key
*             'ALT' - Alternate Key
*             'DSF' - Descending Sort Field
*             'ASF' - Ascending Sort Field
*
*                                    Must Be "PRI", "ALT", "DSF", "ASF"
*                                    UPSHIFT
  02 KEY-CLASS                          PIC  "XXX"
                                        VALUE "PRI"
                                        HEADING "Key/Class".
                                        !Offset 29, size 3
*
*    Key Unique
*
  02 KEY-UNIQUE                         TYPE ASCII-SWITCH
                                        VALUE "Y"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Key/Uniq".
                                        !Offset 32, size 1
*
*    Key Updatable
*
  02 KEY-UPDATE                         TYPE ASCII-SWITCH
                                        VALUE "Y"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Key/Update".
                                        !Offset 33, size 1
*
*    The actual file name (Tandem File Name) to be used for key.  The
*    name is stored in external form and may be a network name; e.g.:
*         \NEWYORK.$MARKET.DATAFILE.FILE1
*
  02 KEY-FILE-NAME                      TYPE FILE-NAME
                                        HEADING "Physical File Name".
                                        !Offset 34, size 34
*
*  Reserved for future key attributes addition
*
*
  02 FILLER                             TYPE CHARACTER 30.
                                        !Offset 68, size 30
END.

Dependencies

Records

  1. KDF