Previous Topic: Considerations for IBM Language EnvironmentNext Topic: Optional Online COBOL Functionality


18-Byte Communications Blocks

As an alternative to using the 16-byte IDMS and IDMS DC communications blocks, you can specify 18-byte blocks. This appendix describes where to specify an 18-byte communications block and contains figures showing these blocks. The difference between 16-byte blocks and 18-byte blocks is that an 18-byte block contains an additional 18-byte filler field, and the following fields are 18 bytes instead of 16 bytes:

Note: For more information about the the fields in IDMS and IDMS DC, see Communication Blocks and Error Detection.

Where to Specify the 18-Byte Block

For COBOL, you specify an 18-byte communications block in the SUBSCHEMA-NAMES LENGTH IS clause found in the PROTOCOL statement of ENVIRONMENT DIVISION.

Note: For more information, see ENVIRONMENT DIVISION.

This section contains the following topics:

18-Byte IDMS Block

18-Byte IDMS DC Block

18-Byte IDMS Block

The following figure shows the 18-byte IDMS communications block:

                                                 Length      
                   Field           Data Type    (bytes)      Initial Value
  ┌──────────┐
 *│ 1      8 │     PROGRAM-NAME    Alphanumeric  8           Program Name
  ├────────┬─┘
  │ 9   12 │       ERROR-STATUS    Alphanumeric  4          '1400'
  ├────────┤
  │ 13  16 │       DBKEY           Binary        4(Fullword) 0000
  ├────────┴───┐
  │ 17      34 │   RECORD-NAME     Alphanumeric  18          Spaces
  ├────────────┤
  │ 35      52 │   AREA-NAME       Alphanumeric  18          Spaces
  ├────────────┤
  │ 53      70 │   FILLER          Alphanumeric  18          Spaces
  ├────────────┤
  │ 71      88 │   ERROR-SET       Alphanumeric  18          Spaces
  ├────────────┤
  │ 89     106 │   ERROR-RECORD    Alphanumeric  18          Spaces
  ├────────────┤
  │ 107    124 │   ERROR-AREA      Alphanumeric  18          Spaces
  ├─────────┬──┘
**│ 125 128 │      PAGE-INFO       Binary        4(Fullword) 0000
  └─────────┘
  ┌─────┬───┬────┐
  │ 125  ... 224 │ IDBMSCOM-AREA   Alphanumeric  100         Low Values
  ├─────┴───┴┬───┘
  │ 225  228 │     DIRECT-DBKEY    Binary        4(Fullword) 0000
  └──────────┘
  ┌─────────┐
  │ 229 235 │      DATABASE-STATUS Alphanumeric  7           Spaces
  ├─────┬───┘
  │ 236 │          FILLER          ...           1           ...
  ├─────┴───┐
  │ 237 240 │      RECORD-OCCUR    Binary        4(Fullword) 0000
  ├─────────┤
  │ 241 244 │      DML-SEQUENCE    Binary        4(Fullword) 0000
  ├─────────┴──┐
  │ 245    300 │   FILLER          Alphanumeric  56          Spaces
  └────────────┘

*  word aligned
** PAGE-INFO-GROUP overlays bytes 125 and 126 and PAGE-INFO-DBK-FORMAT
   overlays bytes 127 and 128. Both of these fields are binary datatype,
   each with a length of two bytes. Suggested initial values for
   both are 00. Together these two fields represent PAGE-INFO.

18-Byte IDMS DC Block

The following figure shows the 18-byte IDMS DC communications block:

                                                    Length     
                   Field              Data Type    (bytes)      Initial Value
  ┌──────────┐
 *│ 1      8 │     PROGRAM-NAME       Alphanumeric  8           Program Name
  ├────────┬─┘
  │ 9   12 │       ERROR-STATUS       Alphanumeric  4          '1400'
  ├────────┤
  │ 13  16 │       DBKEY              Binary        4(Fullword) 0000
  ├────────┴───┐
  │ 17      34 │   RECORD-NAME        Alphanumeric  18          Spaces
  ├────────────┤
  │ 35      52 │   AREA-NAME          Alphanumeric  18          Spaces
  ├────────────┤
  │ 53      70 │   FILLER             Alphanumeric  18          Spaces
  ├────────────┤
  │ 71      88 │   ERROR-SET          Alphanumeric  18          Spaces
  ├────────────┤
  │ 89     106 │   ERROR-RECORD       Alphanumeric  18          Spaces
  ├────────────┤
  │ 107    124 │   ERROR-AREA         Alphanumeric  18          Spaces
  ├─────────┬──┘
**│ 125 128 │      PAGE-INFO          Binary        4(Fullword) 0000
  └─────────┘

  ┌─────┬───┬────┐
  │ 125  ... 224 │ IDBMSCOM-AREA      Alphanumeric  100         Low Values
  ├─────┴───┴┬───┘
  │ 225  228 │     DIRECT-DBKEY       Binary        4(Fullword) 0000
  ├──────────┤
  │ 229  235 │     DATABASE-STATUS    Alphanumeric  7           Spaces
  ├─────┬────┘
  │ 236 │          FILLER             ...           1           ...
  ├─────┴────┐
  │ 237  240 │     RECORD-OCCUR       Binary        4(Fullword) 0000
  ├──────────┤
  │ 241  244 │     DML-SEQUENCE       Binary        4(Fullword) 0000
  ├──────────┤
  │ 245  300 │     FILLER             Alphanumeric  56          Spaces
  ├─────┬───┬┴───┐
  │ 301  ... 400 │ DBMSCOM-AREA       Alphanumeric  100         Low Values
  ├─────┴───┴┬───┘
  │ 401  404 │     SSC-ERRSTAT-SAVE   Alphanumeric  4           0000
  ├──────────┤
  │ 405  408 │     SSC-DMLSEQ-SAVE    Binary        4(Fullword) 0000
  ├──────────┤
  │ 409  412 │     SUBSCHEMA-CTRL-END Alphanumeric  4           0000
  └──────────┘

*  word aligned
** PAGE-INFO-GROUP overlays bytes 125 and 126 and PAGE-INFO-DBK-FORMAT
   overlays bytes 127 and 128. Both of these fields are binary datatype,
   each with a length of two bytes. Suggested initial values for
   both are 00. Together these two fields represent PAGE-INFO.