www.mvcsys.de

$SYSTEM.SYSDICT2
Definition OBL-V5

Object data

Definition

*
* Version 5 of the OBL adds support for the bit fields
*
* This was added for DDL dictionary version 6 in the D00 release.
*
DEF OBL-V5.
*
*    Combination of object number and element number which uniquely
*    identify this record.
*
  02 IDENTIFIER                         TYPE FIELD.
                                        !Offset 0, size 6
*
*    Lexical level of the element. The definition base is 0.
*    Level increases by 1 for each level of nesting.
*
*    The LEVEL field also identifies variant records:
*
*        LEVEL = 66 ==> Renames element;
*        LEVEL = 88 ==> Value element.
*
  02 LEVEL                              TYPE BINARY 16
                                        DISPLAY "I2"
                                        HEADING "LV".
                                        !Offset 6, size 2
*
*    The local (usage) name of this element, padded with blanks.
*
  02 LOCAL-NAME                         TYPE NAME
                                        HEADING "Element Name".
                                        !Offset 8, size 30
*
*    If there are any comments associated with this element, this
*    field will contain the OTF Text-Id of those comments. The text
*    type will be "S", String.
*
  02 COMMENT-TEXT                       TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Comment/Text ID".
                                        !Offset 38, size 4
*
*    Initial values can be associated with data items.  A list of values
*    and ranges of values can be associated with level 88 items. Cobol
*    and Scobol support level 88 items.
*
*    Values and lists of values are represented in the OTF as
*    sequences of records which may have the following Text-Types:
*
*           "K" - Key Word
*           "N" - ASCII number
*           "S" - String
*           "E" - Enumeration
*           "J" - National/Kanji
*
*    The following table shows how some values are represented in
*    the OTF.
*
*    Value            OTF-R1            OTF-R2             OTF-R3
*                 Type Text  Len    Type Text  Len     Type Text Len
*    -----        ---- ----  ---    ---- ----  ---     ---- ---- ---
*    "Bob"          S  Bob    3
*
*      53           N  53     2
*
*    5 Thru 7       N  5      1      K  THRU    4         N  7
*
*    ALL SPACES     K  ALL    3      K  SPACES  6
*
*    Red            E  Red    3
*
*    N"KA"        J  KA   4
*
*    In the above table; Type is OTF.Text-Type, Text is OTF.Text-Line
*    and Len is OTF.Text-Len
*
*    Lists of values and ranges of values are built up of sequences of
*    values such as those above.
*
  02 VALUE-TEXT                         TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Value/Text ID".
                                        !Offset 42, size 4
*
*    If there is an AS clause associated with the 89 level record in the
*    enumeration, then this field will contain the Text-Id.  The text
*    type will be "S", String.
*
*    A level 88/89 record will be truncated after this field.
*
  02 AS-TEXT                            TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "As/Text ID".
                                        !Offset 46, size 4
*
*    If there is any heading text specified for this element,
*    this field will contain the Text-id of that text.
*    The Text-Type will be "S", String.
*
  02 HEADING-TEXT                       TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Heading/Text ID".
                                        !Offset 50, size 4
*
*    If there is a display format explicitly specified for
*    this element, this field will contain the Text-Id.
*    The Text-Type will be "S", String.
*
  02 DISPLAY-TEXT                       TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Display/Text ID".
                                        !Offset 54, size 4
*
*    If this element was defined with a picture, then this field will
*    contain the Text-Id.  The Text-Type will be "S", String.
*
  02 PICTURE-TEXT                       TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Picture/Text ID".
                                        !Offset 58, size 4
*
*    If there is any Help Text associated with this element, then this
*    field will contain the Text-Id for the block of help text.  The
*    text type will be "S", String.
*
  02 HELP-TEXT                          TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Help/Text ID".
                                        !Offset 62, size 4
*
*    If there is any Must Be Text associated with this element, then
*    this field will contain the Text-Id for the block of Must Be Text.
*    Must Be text requires that the value in a data item must be in a
*    list of values and ranges of values.
*
*    Must Be information has the same format as the lists of values
*    associated with level 88 items.  It is stored in the dictionary
*    in the same manner.  The format for storing Must Be text is discussed
*    in some detail under the explanation of Value-Text above.
*
*
  02 MUST-BE-TEXT                       TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Must Be/Text ID".
                                        !Offset 66, size 4
*
*    If there is an edit picture associated with this element, then this
*    field will contain the Text-Id.  The text type will be "S", String.
*
  02 EDIT-PIC-TEXT                      TYPE TEXT-ID
                                        DISPLAY "[BZ]I10"
                                        HEADING "Edit Pic/Text ID".
                                        !Offset 70, size 4
*
*    If this element is a TACL primitive data type, then this field
*    will contain the TACL data type associated with the line item.
*    This is an enumerated type.  The legal values for the field are:
*
*            TACL Type              Value
*            ---------              -----
*
*            CRTPID                 "CP"
*            DEVICE                 "DV"
*            ENUM                   "EN"
*            FNAME                  "FN"
*            FNAME32                "F3"
*            PHANDLE                "PH"
*            SSID                   "SI"
*            SUBVOL                 "SV"
*            TRANSID                "TI"
*            TSTAMP                 "TS"
*            USERNAME               "UN"
*
*            NULL                   "  "
*
*
  02 TACL-TYPE                          TYPE CHARACTER 2
                                        MUST BE "CP", "DV", "EN", "FN", "F3", "PH", "SI", "SV", "TI", "TS", "UN", "  "
                                        HEADING "TACL/Type".
                                        !Offset 74, size 2
*
*    If the element is defined as a usage of a predefined definition,
*    this field will contain the object number of that definition.
*    If the element is defined locally, this field will be null.
*
  02 SOURCE-DEF                         TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Source/Def".
                                        !Offset 76, size 4
*
*    The element number which this element redefines.  Must be less
*    than the element number of this element and at the same lexical
*    level.  If zero, this element is not a redefinition.
*
  02 ELEMENT-REDEFINED                  TYPE BINARY 16
                                        DISPLAY "[BZ]I3"
                                        HEADING "Element/Redefined".
                                        !Offset 80, size 2
*
*    Element class is either elementary or group.
*    0 => group
*    1 => elementary ( i.e. defined with PIC or TYPE )
*
  02 OBJ-CLASS                          TYPE BINARY 16
                                        DISPLAY "[ZA1'Grp',PA1'Elm']I3"
                                        HEADING "Grp/Elm".
                                        !Offset 82, size 2
*
*    The data type of field:
*
*       0: Alphanumeric string
*       1: Numeric string unsigned
*       2: Binary 16 signed   (NOTE: item will have PIC text if declared COMP)
*       3: Binary 16 unsigned
*       4: Binary 32 signed   (NOTE: item will have PIC text if declared COMP)
*       5: Binary 32 unsigned
*       6: Binary 64 signed   (NOTE: item will have PIC text if declared COMP)
*       7: reserved
*       8: Float 32
*       9: Complex(32*2)
*      10: Float 64
*      11: reserved
*      12: Numeric string trailing embedded sign
*      13: Numeric string trailing separate sign
*      14: Numeric string leading  embedded sign
*      15: Numeric string leading  separate sign
*      16: reserved
*      17: Logical 1
*      18: reserved
*      19: Logical 2
*      20: reserved
*      21: Logical*4
*      22: Binary 8 signed
*      23: Binary 8 unsigned
*      24: SQL VARCHAR
*      25: Enumeration
*      26: Bit signed
*      27: Bit unsigned
*      28: National string
*      29: Comp3 Signed
*      30: Comp3 Unsigned
*      31: reserved
*      32: SQL DATETIME YEAR
*      33: SQL DATETIME MONTH
*      34: SQL DATETIME YEAR TO MONTH
*      35: SQL DATETIME DAY
*      36: SQL DATETIME MONTH TO DAY
*      37: SQL DATETIME YEAR TO DAY
*      38: SQL DATETIME HOUR
*      39: SQL DATETIME DAY TO HOUR
*      40: SQL DATETIME MONTH TO HOUR
*      41: SQL DATETIME YEAR TO HOUR
*      42: SQL DATETIME MINUTE
*      43: SQL DATETIME HOUR TO MINUTE
*      44: SQL DATETIME DAY TO MINUTE
*      45: SQL DATETIME MONTH TO MINUTE
*      46: SQL DATETIME YEAR TO MINUTE
*      47: SQL DATETIME SECOND
*      48: SQL DATETIME MINUTE TO SECOND
*      49: SQL DATETIME HOUR TO SECOND
*      50: SQL DATETIME DAY TO SECOND
*      51: SQL DATETIME MONTH TO SECOND
*      52: SQL DATETIME YEAR TO SECOND
*      53: SQL DATETIME FRACTION
*      54: SQL DATETIME SECOND TO FRACTION
*      55: SQL DATETIME MINUTE TO FRACTION
*      56: SQL DATETIME HOUR TO FRACTION
*      57: SQL DATETIME DAY TO FRACTION
*      58: SQL DATETIME MONTH TO FRACTION
*      59: SQL DATETIME YEAR TO FRACTION
*      60: SQL INTERVAL YEAR
*      61: SQL INTERVAL MONTH
*      62: SQL INTERVAL YEAR TO MONTH
*      63: SQL INTERVAL DAY
*      64: SQL INTERVAL HOUR
*      65: SQL INTERVAL DAY TO HOUR
*      66: SQL INTERVAL MINUTE
*      67: SQL INTERVAL HOUR TO MINUTE
*      68: SQL INTERVAL DAY TO MINUTE
*      69: SQL INTERVAL SECOND
*      70: SQL INTERVAL MINUTE TO SECOND
*      71: SQL INTERVAL HOUR TO SECOND
*      72: SQL INTERVAL DAY TO SECOND
*      73: SQL INTERVAL FRACTION
*      74: SQL INTERVAL SECOND TO FRACTION
*      75: SQL INTERVAL MINUTE TO FRACTION
*      76: SQL INTERVAL HOUR TO FRACTION
*      77: SQL INTERVAL DAY TO FRACTION
*
  02 STRUCTURE                          TYPE BINARY 16
                                        DISPLAY "I2"
                                        HEADING "Data/Type".
                                        !Offset 84, size 2
*
*    The number of bytes in each occurrence of this element.
*
  02 ELEMENT-SIZE                       TYPE BINARY 32
                                        DISPLAY "I4"
                                        HEADING "Size".
                                        !Offset 86, size 4
*
*    Number of decimal places assumed.
*
  02 SCALE                              TYPE BINARY 16
                                        DISPLAY "[BZ]I2"
                                        HEADING "Scale".
                                        !Offset 90, size 2
*
*    Byte offset from the base of the definition to the begining of
*    the actual data element.
*
  02 OFFSET                             TYPE BINARY 32
                                        DISPLAY "I4"
                                        HEADING "Offset".
                                        !Offset 92, size 4
*
*    The minimum number of times that the element occurs. Usually 1.
*
  02 OCCURS-MIN                         TYPE BINARY 32
                                        VALUE 1
                                        DISPLAY "I4"
                                        HEADING "Occurs/Min".
                                        !Offset 96, size 4
*
*    The maximum number of times that the element occurs. Usually 1.
*
  02 OCCURS-MAX                         TYPE BINARY 32
                                        VALUE 1
                                        DISPLAY "I4"
                                        HEADING "Occurs/Max".
                                        !Offset 100, size 4
*
*    If OCCURS , then the object number of that CONSTANT
*    will be stored in this field.
*
  02 OCCURS-MIN-OBJECT                  TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Occurs Min/Object #".
                                        !Offset 104, size 4
*
*    If OCCURS ... TO  TIMES, then the object number of
*    that CONSTANT will be stored in this field.
*
  02 OCCURS-MAX-OBJECT                  TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Occurs Max/Object #".
                                        !Offset 108, size 4
*
*    The element number which determines the number of times that
*    the element actually exists if the element is an occurs
*    depending on.  If Occurs-Max = 1 or Occurs-Element = 0, then
*    element is not an occurs depending on element.
*
  02 OCCURS-ELEMENT                     TYPE BINARY 16
                                        DISPLAY "I4"
                                        HEADING "Occurs/Element".
                                        !Offset 112, size 2
*
*    If LEVEL = 66, then this field contains the element number of
*    the starting field in the RENAMES clause. The starting field
*    should have the same offset as this field.
*
  02 STARTING                           TYPE BINARY 16
                                        DISPLAY "I4"
                                        HEADING "Starting/Element".
                                        !Offset 114, size 2
*
*    If LEVEL = 66, then this field contains the element number of
*    the ending field in the RENAMES clause. The ending field should
*    end at the same point in the record as this field; i.e., the
*    OFFSET + (BIT-LENGTH * UNIT-SIZE / 8) should be equal for both
*    elements.
*
  02 ENDING                             TYPE BINARY 16
                                        DISPLAY "I4"
                                        HEADING "Ending/Element".
                                        !Offset 116, size 2
*
*    The lower bound for TAL arrays
*
*                                    Must Be 0,1
  02 TALBOUND                           TYPE BINARY 16
                                        HEADING "Talbound".
                                        !Offset 118, size 2
*
*    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 120, size 2
*
*    If NULL , then the object number of
*    that CONSTANT will be stored in this field.
*
  02 NULL-VALUE-OBJECT                  TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Null Value/Object #".
                                        !Offset 122, size 4
*
*    User specified SPI-Null value, which if encountered in this
*    element, means that the element hasn't been initialized.
*
*    This field is used by SPI when processing Token-Maps.
*
  02 SPI-NULL-VALUE                     TYPE NULL-VALUE
                                        DISPLAY "I5"
                                        HEADING "SPI-Null/Value".
                                        !Offset 126, size 2
*
*    If SPI-Null , then the object number of
*    that CONSTANT will be stored in this field.
*
  02 SPI-NULL-VALUE-OBJECT              TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "SPI-Null/Object #".
                                        !Offset 128, size 4
*
*    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 132, size 1
*
*    This switch gets "Y" if the user specified a SPI-Null value for this
*    item.
*
  02 SPI-NULL-VALUE-SPECIFIED           TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "SPI-Null/Specified".
                                        !Offset 133, size 1
*
*    This switch is set to Yes if the element is to be upshifted.
*    Elementary items can only have the UPSHIFT attribute if they can
*    contain alphabetic data. Group items may only have the UPSHIFT attribite
*    if each elementary item the group contains may have the UPSHIFT
*    attribute.
*
  02 UPSHIFT                            TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Upshift".
                                        !Offset 134, size 1
*
*    This is used to distinguish between DDL generated filler and
*    user defined filler.
*
  02 USER-DEFINED-FILLER                TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "User Defined/Filler".
                                        !Offset 135, size 1
*
*    This is used to indicate DDL padded filler in the VARCHAR or
*    SqlNullable item. This field overloads the User-Defined-Filler.
*    Note that Type Ascii-switch is Type Character 1 MUST BE "Y"
*    "N" UPSHIFT.  DDL does not allowed a redefined item to have
*    UPSHIFT and MUST BE specified, hence, this field has Type
*    Character 1 instead of Type Ascii-Switch.
*
  02 PADDED-FILLER                      TYPE CHARACTER 1
                                        REDEFINES USER-DEFINED-FILLER
                                        HEADING "Padded/Filler".
                                        !Offset 135, size 1
*
*    Group Comp is used for group items which are declared with
*    COMP usage.  All elementary items within the group are treated
*    as if they were each declared with COMP usage.
*
  02 GROUP-COMP                         TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Computational".
                                        !Offset 136, size 1
*
*    SourceDefFlag is used by the filler emission algorithm for group items.
*    Tells DDL that if any word alignment is needed within the group then
*    to word align the whole group.
*
  02 SOURCE-DEF-FLAG                    TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Sourced/Item".
                                        !Offset 137, size 1
*
*    NoValue gets "Y" if the user specifies the NOVALUE attribute for
*    a line item.  Including this attribute supresses any values in
*    a referenced definition.
*
  02 NOVALUE                            TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "No Value".
                                        !Offset 138, size 1
*
*    The following switch is used to determine whether a tacl clause
*    was specified on the line item or inherited from a definition.
*    If the value is 'Y', then the tacl clause was inherited from a
*    DEF.  If it is 'N', it was defined by the appropriate clause.
*    This information is used in the generation of DDL output.
*
  02 TACL-INHERITED                     TYPE ASCII-SWITCH
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Tacl Clause/Inherited".
                                        !Offset 139, size 1
*
*    The following switch is used to determine whether a null was
*    specified on the line item or inherited from a definition.  If
*    the value is 'Y', then the null was inherited from a DEF.  If
*    it is 'N', it was defined by the appropriate clause.  This
*    information is used in the generation of DDL output.
*
  02 NULL-INHERITED                     TYPE ASCII-SWITCH
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Null/Inherited".
                                        !Offset 140, size 1
*
*    The following switch is used to determine whether an SPI-Null was
*    specified on the line item or inherited from a definition.  If
*    the value is 'Y', then the SPI-Null was inherited from a DEF.  If
*    it is 'N', it was defined by the appropriate clause.  This
*    information is used in the generation of DDL output.
*
  02 SPI-NULL-INHERITED                 TYPE ASCII-SWITCH
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "SPI-Null/Inherited".
                                        !Offset 141, size 1
*
*    The following switch is used to determine whether an upshift was
*    specified on the line item or inherited from a definition.  If
*    the value is 'Y', then the upshift was inherited from a DEF.  If
*    it is 'N', it was defined by the appropriate clause.  This
*    information is used in the generation of DDL output.
*
  02 UPSHIFT-INHERITED                  TYPE ASCII-SWITCH
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Upshift/Inherited".
                                        !Offset 142, size 1
*
*    Usage Index is used for field definitions which are declared with
*    INDEX usage.  This is only useful in COBOL output, and should be
*    either one- or two-words long.
*
  02 USAGE-IS-INDEX                     TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Index/Usage".
                                        !Offset 143, size 1
*
*    The number of bits in each occurrence of this element.
*
  02 BIT-LENGTH                         TYPE BINARY 32
                                        DISPLAY "I10"
                                        HEADING "Bit Size".
                                        !Offset 144, size 4
*
*    The alignment method used when storing the element.
*    By default, C00CALIGN is used (Field-Align = 0).
*    Field-Align is set to 1 when the CFIELDALIGN_MATCHED2
*    compiler command is used.
*
  02 FIELD-ALIGN                        TYPE BINARY 16
                                        DISPLAY "I2"
                                        HEADING "Field/Alignment".
                                        !Offset 148, size 2
*
*    Bit offset from the current (byte) offset of the current data
*    element.  For non-bit data elements, the value is 0.  For data
*    data elements of type bit, the value is 0 to 15.
*
  02 BIT-OFFSET                         TYPE BINARY 16
                                        DISPLAY "I4"
                                        HEADING " Bit/Offset".
                                        !Offset 150, size 2
*
*    If a bit element is defined with a usage of a predefined
*    enumeration definition, this field will contain the object number
*    of that enumeration definition.
*
  02 ENUM-DEF                           TYPE OBJECT-NUMBER
                                        DISPLAY "[BZ]I10"
                                        HEADING "Enum/Def".
                                        !Offset 152, size 4
*
*    The lower bound for Pascal arrays
*
*                                    Must Be 0,1
  02 PASCALBOUND                        TYPE BINARY 16
                                        HEADING "Pascalbound".
                                        !Offset 156, size 2
*
*    The index name used by this element, padded with blanks.
*
  02 INDEX-NAME                         TYPE NAME
                                        HEADING "Indexed By".
                                        !Offset 158, size 30
*
*    This switch is set to Yes if the element is to be EXTERNAL.  This
*    Attribute provides the users to output the EXTERNAL clause in COBOL85.
*    Only object name level can have this attribute which is not
*    inheritable and can not be used in combination with the FILLER clause.
*    If the EXTERNAL clause is specified in a definition or a record
*    statement, none of the line items in the definition or the record
*    can have a VALUE clause or a REDEFINES clause.
*
  02 EXTERNAL-SPECIFIED                 TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "External".
                                        !Offset 188, size 1
*
*    This switch is set to Yes if the element is to be justified.
*    Elementary items can only have the JUSTIFY attribute if they can
*    contain alphabetic data.  The elementary item with JUSTIFY
*    attribute cannot be subordinate to the group item with VALUE
*    clause.  This attribute is not inhritable.
*
  02 JUSTIFY                            TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Justify".
                                        !Offset 189, size 1
*
*    The following switch is used to determine whether a Justify Right
*    is  specified on the line item or inherited from a definition.  If
*    the value is 'Y', then the Justify right was inherited from a DEF.
*    If it is 'N', it was defined by the appropriate clause.  This
*    information is used in the generation of DDL output.
*
  02 JUSTIFY-INHERITED                  TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Just-Right/Inherited".
                                        !Offset 190, size 1
*
*    This field contains the ASCII switch value to indicate whether
*    the line item has the clause SQLNULLABLE or NOT SQLNULLABLE
*    specified.  Default is "N".  If the values of SqlNullable-Flag
*    and SqlNullable-Specified is "N" and "Y" respectively, it
*    indicates that NO SQLNULLABLE is specified.  However, if the
*    values of both fields are "Y", it indicates that SQLNULLABLE is
*    specified.
*
  02 SQLNULLABLE-SPECIFIED              TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "SqlNull/Spec".
                                        !Offset 191, size 1
*
*    This field contains the number of significant digits specified as
*    the Start-Field-Precision of the INTERVAL line item.  Only a line
*    items of INTERVAL data type will use this field.  If the
*    start-field-precision of the INTERVAL line item is not specified,
*    2 will be used as the default and stored in this field.  The
*    valid values are 1 to 18 inclusively.
*
  02 INTERVAL-LEADING-PRECISION         TYPE BINARY 16
                                        VALUE 2
                                        DISPLAY "I4"
                                        HEADING "Leading/Prec".
                                        !Offset 192, size 2
*
*    This field contains the number of significant digits with which
*    the fraction of a second is specified.  The field will be used to
*    store the value of end-field-precision of FRACTION ( one of the
*    end-date-time qualifiers ) on an DATETIME or INTERVAL line item.
*    If the end-field-precision is not specified, 6 will be used as
*    the default and stored in this field.  The valid values for
*    end-field-precision are 1 to 6 inclusively.  If the end-date-time
*    qualifier is not specified with FRACTION, 0 will be stored in
*    this field."
*
  02 DATETIME-FRACTION-PRECISION        TYPE BINARY 16
                                        VALUE 0
                                        DISPLAY "I4"
                                        HEADING "Fraction/Prec".
                                        !Offset 194, size 2
*
*    This field contains the ASCII switch value to indicate whether
*    the line item is nullable or not.  Default is "N".
*
  02 SQLNULLABLE-FLAG                   TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "SqlNull/Flag".
                                        !Offset 196, size 1
*
*   Group-Comp3 is used for group items declared with COMP-3 USAGE.
*
*   All elementary items within the group are also considered to be
*
*   of COMP-3 USAGE.
  02 GROUP-COMP3                        TYPE ASCII-SWITCH
                                        VALUE "N"
                                        MUST BE "Y", "N"
                                        DISPLAY "A1"
                                        HEADING "Computational".
                                        !Offset 197, size 1
*
*    Reserved for future structure addition
*
  02 FILLER                             TYPE CHARACTER 2.
                                        !Offset 198, size 2
*    This field contains the number of fillers required to add
*    after INDICATOR field to make the sqlnullable item well-aligned
*    for Shared8 alignment. This field is olny used in case of
*    Shared8 Alignment.
  02 SQLNULLABLE-FILLERS                TYPE BINARY 16
                                        VALUE 0
                                        DISPLAY "I4"
                                        HEADING "SQLNULLABLE/FILLERS".
                                        !Offset 200, size 2
END.

Dependencies

Records

  1. OBL