Version 7.4.4
 —  User Exits and Hyperexits  —

User Exit 6 (User Processing Before Data Compression)

This user exit can be used to perform user processing on a record before it is processed by the ADACMP COMPRESS utility. The user program can be written in Assembler language or COBOL. The ADACMP COMPRESS utility job must specify the ADARUN UEX6=programparameter, where "program" is the name of the user program.

So that user exit 6 can append records to the input, it is called by the ADACMP COMPRESS utility function immediately after

graphics/adacmp_flow.png

graphics/adacmp_parms.png

ADACMP User Processing User Exit (6) Parameters

This document covers the following topics:


Input Parameters

Parameter Usage
0 (R1) Address of an input record. The length field preceding the variable record is skipped. The address is of a fullword containing -1 (X`FFFF FFFF') if the user exit is called after ADACMP detects end-of-file in DD/EBAND.
4 (R1) Address of the field containing the input record length. For fixed records, this is a logical record length. For variable records, this is the length of the actual data only (excluding the length field itself). The address points to a fullword containing minus 1 (X`FFFFFFFF') if the user exit is called after ADACMP detects end-of-file in DD/EBAND.
8 (R1) Contains binary zeros on entry to the user exit (see Output Parameters ).
12 (R1) Contains binary zeros on entry to the user exit (see Output Parameters ).
16 (R1) Address of the FILE parameter value specified by the ADACMP COMPRESS utility job. The address is in the rightmost/low-order two bytes. The location and content of this fullword must remain unchanged during the time of the user exit. If ADACMP COMPRESS did not specify the FILE parameter, the fullword is X`0000'.

Top of page

Output Parameters

Parameter Usage
8 (R1) Address of the user exit output record. This record will be used as input to the ADACMP compression algorithm. The address of this record must be placed into 8 (R1) each time the user exit is called. If this field contains binary zeros on return, ADACMP will ignore the input record and will continue processing.
12 (R1) Address of a 4-byte field containing the length of the returned record. The address of this field must be placed into 12 (R1) each time the exit is called. If this field contains binary zeros on return, ADACMP will ignore the record and will continue processing. Though the length field pointed to by 12 (R1) has a length of 4 bytes, only the low-order/rightmost halfword is used (bytes 3 and 4). If byte 2 contains a X`01' on return, the exit is recalled before the next record is read from DDEBAND. This enables the user to return more than one record to ADACMP for each record read from DD/EBAND.

Top of page