Version 7.4.4
 —  Utilities  —

DECOMPRESS Function Output

The ADACMP DECOMPRESS function decompresses each record and then stores the record in a sequential dataset. The records are output in variable-length, blocked format. Each decompressed record is output either with or without the ISN option according to the format shown below:

length xx [ISN] data

where

length is a two-byte binary length of the data, + 8 (or +4 if the ISN parameter is not specified).
xx is a two-byte field containing binary zeros.
ISN is a four-byte binary ISN of the record.
data is a decompressed data record.

The fields of the data record are provided in the order in which they appeared in the FDT when the file was unloaded. The standard length and format are in effect for each field.

If a field value exceeds the standard length, the value will be truncated to the standard length if the field is alphanumeric and the TRUNCATE parameter was specified; otherwise, ADACMP writes the record to the DD/FEHL error dataset (see the following section).

Any count bytes for multiple-value fields or periodic groups contained in the record are included in the decompressed data output. ADACMP generates a count of 1 if the MU field or PE group is empty. This makes it possible to use the output of the DECOMPRESS operation as the input to a subsequent COMPRESS operation.


Rejected Data Records

Data records rejected by the DECOMPRESS operation are written to the DD/FEHL error dataset. ADACMP rejects a record whenever a compressed field's size is greater than the default length held in the FDT, unless the TRUNCATE parameter is specified.

The records are output in variable blocked format, and have the following structure:

Bytes Description
0-1 Record length in binary format (see note 2 below)
2-3 Set to zero; that is, X'0000' (see note 2 below)
4-5 Field name as stored in FDT
6-7 Offset from beginning of input record to error value
8-11 ISN in binary format
12 PE index (if applicable)
13 Adabas response code (in hexadecimal)*
14-15 (reserved; set to zeros)
16 DD/EBAND input record

* Additionally the following response codes may occur:

X'E7'(231) Input record too short (DECOMPRESS)
X'E8'(232) Output record length error (DECOMPRESS)

Notes:

  1. Only the first incorrect field within a record is detected and referenced in DD/FEHL. Other errors within the record are not detected or recorded.
  2. Bytes 0-1 and 2-3 are not visible when the output record is viewed from an editor. However, the bytes are provided when the record is accessed from an application program.

Top of page