Discard file record layout

This section describes the record layout of the discard file. This file is generated when the EXCEPTION_LIMIT keyword and the DISCARD_FILECTL subcommand are specified with a command process.

Related topic

Important

A user-written program will need to be created to process the discarded data.

  • Discard file record layout 1: DMCB definition contains the record layout for the DMCB definition.

    The first record in this file contains database definition information.


    Field name

    Size

    Description

    LL

    H

    Standard RECFM=V record length

    ZZ

    2X

    Standard RECFM=B record flags

    exception

    CL4

    Binary zeros (LOW-VALUES)

    identifier

    CL4

    'DMCB'

    max ckeyl

    H

    Maximum concatenated key length for database

    IMS level

    2X

    IMS release level

    filler

    16X

    Binary zeros (LOW-VALUES)

    DMCB

    variable

    IMS DMCB header for the database

    Important

    This format is defined by the DBFDMCB macro, and might change between IMS releases.

  • Discard file record layout 2: SDBF definition contains the record layout for the SDBF definition.

    The next set of records in this file contains segment definition information--one record for each segment type that is defined in the database.

    Field name

    Size

    Description

    LL

    H

    Standard RECFM=V record length

    ZZ

    2X

    Standard RECFM=B record flags

    exception

    CL4

    Binary zeros (LOW-VALUES)

    identifier

    CL4

    'SDBF'

    filler

    20X

    Binary zeros (LOW-VALUES)

    SDBF

    variable

    IMS SDBF for the segment

    Important

    This format is defined by the DBFDMCB macro, and might change between IMS releases.

  • Discard file record layout 3: segment data contains the record layout for the segment data.

    There is one record for each discarded segment following each of these header records.

    Field Name

    Size

    Description

    LL

    H

    Standard RECFM=V record length

    ZZ

    2X

    Standard RECFM=B record flags

    exception 1

    4C

    Exception code

    segcode

    H

    Segment code

    seglevel

    H

    Segment hierarchical level

    ckeyl

    H

    Concatenated key length for this segment

    segll

    H

    Segment data length

    segname

    CL8

    Segment name

    filler

    8X

    Binary zeros (LOW-VALUES)

    ckey 2

    CLn

    Concatenated key

    segdata 3

    variable

    Segment data

    1 For a list of exception codes and descriptions, see Exception codes.

    2 The size of the ckey field is fixed based on the maximum length for the concatenated key in the database. For more information, see the max ckeyl field in the DMCB definition record in Discard file record layout 1: DMCB definition. The length of the ckey field is the smallest multiple of eight that is greater than, or equal to the maximum length of the concatenated key for any segment in the database. When the actual length of the concatenated key is less than the maximum length, unused bytes in ckey field will be filled with binary zeros (LOW-VALUES).

    3 The segment data is written in the same form as it appears in the I/O area of an application program. As a result, any compressed data sets will be expanded, variable length segments will contain the 2-byte field, and the fixed length segments will not contain a length field.

  • Exception codes contains a list of exception codes, along with a description of each code.
    The exception code field (see Discard file record layout 3: segment data) contains a 4-character code, indicating the type of exception that caused the segment to be discarded.

    Code name

    Description

    zeros

    None (LOW-VALUES)

    This is a header record.

    blanks

    None

    This segment is a dependent of a segment for which an exception has been detected.

    DUP

    Duplicate key

    AREA

    Target output area not in OAREA list (root segment only)

    RAND

    Randomizer error (root segment only)

    SEQ

    Key sequence error

    MINL

    Segment length less than the minimum

    MAXL

    Segment length greater than the maximum

Was this page helpful? Yes No Submitting... Thank you

Comments