Version 7.4.4
 —  Utilities  —

COMPRESS Function Output

This document covers the following topics:


Compressed Data Records

The data records that ADACMP has processed, edited, and compressed are written out together with the file definition information to a sequential dataset with the "variable blocked" record format. This dataset may be used as input to the ADALOD utility. The output of several ADACMP executions may also be used as input to ADALOD.

If the output dataset contains no records (no records provided on the input dataset or all records rejected), the output may still be used as input to the ADALOD utility. In this case, you must ensure that the amount of Associator space allocated to the file is sufficient since an accurate estimate cannot be made by the ADALOD utility without a representative sample of input record values (see the ADALOD utility for additional information).

Top of page

Rejected Data Records

Any records rejected during ADACMP editing are written to the DD/FEHL error dataset. The records are output in variable blocked format and have the following structure:

Bytes Description
0-1 Record length in binary format
2-3 Set to zero (X'0000')
4-5 Field name as stored in FDT
6-7 Offset from beginning of input record to error value
8-11 Input record sequence number (the first input record is "1")
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 (COMPRESS)
X'E8'(232) Output record length error (COMPRESS)

Only the first incorrect field within a record is detected and referenced. If there are other errors, they are not detected until subsequent runs are made.

Example of Rejected Data Records

Field Definitions:

ADACMP  FNDEF='01,AA,3,A,DE'
ADACMP  FNDEF='01,AB,2,U'
ADACMP  FNDEF='01,AC,3,P,NU' 

Input record values (shown in hexadecimal): ISN = 3849 (decimal)

graphics/cmp3_at_anchora.png

Rejected record as output by ADACMP (shown in hexadecimal):

graphics/cmp3_at_anchor9.png

The error dataset may be printed using the standard print utility provided with the operating system in use at the user installation. OS/390 or z/OS users may use the IEBPTPCH utility. VSE/ESA users may use the DITTO program. RDW (record descriptor word, bytes 1-4) may or may not be present, depending on the print utility used.

Top of page

ADACMP Report

ADACMP calculates the approximate amount of space (in both blocks and cylinders) required for Data Storage for the compressed records. This information is printed as a matrix which contains the required space for the different device types requested by the DEVICE parameter for various Data Storage padding factors between 5 and 30 percent.

The following is an example of ADACMP report output:

PARAMETERS:
   
ADACMP COMPRESS NUMREC=1000
ADACMP FNDEF='01,AA,8,B,DE'
ADACMP FNDEF='01,BA,6,A,NU'
ADACMP FNDEF='01,BB,8,P,NU'
ADACMP FNDEF='01,AD,1,A,FI'
ADACMP SUBDE='CA=BA(1,3)'

COMPRESS PROCESSING STATISTICS:

NUMBER OF RECORDS READ                1,000
NUMBER OF INCORRECT RECORDS               0
NUMBER OF COMPRESSED RECORDS          1,000

RAW DATA                             24,000 BYTES
COMPRESSED DATA                      16,656 BYTES
COMPRESSION RATE                       31.9 %
LARGEST COMPRESSED RECORD                20 BYTES


DATASTORAGE SPACE REQUIREMENTS:

I  DEVICE  I  PADDING I  BLOCKSIZE I          NUMBER OF     I
I          I  FACTOR  I    BYTES   I      BLOCKS      CYLS  I
I----------I----------I------------I------------------------I
I   3380   I          I    4,820   I                        I
I          I     5%   I    4,578   I           4         1  I
I          I    10%   I    4,337   I           4         1  I
I          I    15%   I    4,096   I           5         1  I
I          I    20%   I    3,856   I           5         1  I
I          I    25%   I    3,615   I           5         1  I
I          I    30%   I    3,373   I           5         1  I
I          I          I            I                        I
I----------I----------I------------I------------------------I

TEMP SPACE ESTIMATION:

I  DEVICE  I  BLOCKSIZE I          NUMBER OF     I
I          I    BYTES   I      BLOCKS      CYLS  I
I----------I------------I------------------------I
I   3380   I    7,476   I           5          1 I
I----------I------------I------------------------I

THE LARGEST DESCRIPTOR IS AA, IT WILL OCCUPY 1 TEMP BLOCKS


SORT SPACE ESTIMATION:

I DEVICE I BLOCKSIZE I   LWP              I      NR OF      I
I        I  (BYTES)  I  (BYTES)           I  BLOCKS    CYLS I
-------------------------------------------------------------
I  3380  I     7476  I   139264 (MINIMUM) I       2       1 I
I        I           I  1048576 (DEFAULT) I       2       1 I
I        I           I   139264 (OPTIMUM) I       2       1 I
I--------I-----------I--------------------I-----------------I

The compression rate is computed based on the real amount of data used as input to the compression routine. Fields skipped by a format element "nX" (used to fill a field with blanks) are not counted.

Top of page