18-Byte Communications Blocks (PL/I)

This section describes where to specify an 18-byte communications block and contains figures showing these blocks. 
idmscu19
This section describes where to specify an 18-byte communications block and contains figures showing these blocks. 
As an alternative to using the 16-byte IDMS DB and IDMS DC communications blocks, you can specify 18-byte 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:
  • RECORD_NAME
  • AREA_NAME
  • ERROR_SET
  • ERROR_RECORD
  • ERROR_AREA
For more information about the fields in IDMS DB and IDMS DC communications blocks, see IDMS DB Communications Block and IDMS DC Communications Block.
Where to Specify the 18-Byte Block
For PL/I, you specify an 18-byte communications block in the SUBSCHEMA_NAMES LENGTH clause of the DECLARE SUBSCHEMA precompiler-directive statement. For more information, see DECLARE SUBSCHEMA.
18-Byte IDMS DB Block
The following figure shows the 18-byte IDMS DB 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.