What is the meaning of SHR3XX Messages when issued with a U3993 ABEND?

Document ID : KB000054015
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

PROBLEM DESCRIPTION:
The following messages are issued during the reload phase of a DBO job:

+SHR335I 'ITEMID  ' RECORD WAS NOT COMPRESSED BY THIS FDT 
+SHR309I 'ITEMID ' CHECK BYTE MISMATCH
+SHR320I - SEGM ITEMID . SHRINK OR EXPAND ERROR
The job then abends with a User Abend code U3993 and a condition code 08. This will occur when a User Exit is being used for the UNLOAD phase.

SYMPTOMS:
The UNLOAD phase of the DBO job runs successfully. The RELOAD phase that immediately follows fails with the above messages. No changes to the File Descriptor Table (FDT) library were made between the successful UNLOAD and the failing LOAD.

IMPACT:
Although the SHRxxxI messages are informational only, the U3993 abend and condition code 08 prevents the reload from successfully completing.

Solution:

CIRCUMVENTION/PROPER HANDLING:
Normally the SHRxxxI series of messages indicates that the database segment was compressed with one FDT and now an attempt is being made to expand it with a different one. The correct resolution for this is to resubmit the job using the correct FDT.

The U3993 abend coupled with the fact that no changes were made to the FDT indicates that the EXPAND parameter in the UNLOAD phase should be checked. If the EXPAND parameter is set to NO the data is passed to any unload user exit and the segment data on the unload file is in a compressed format. In the case where a UNLOAD user exit is used, it must correctly process the compressed segment data which includes expanding and recompressing the segment data if necessary. If the UNLOAD user exit can recognize and correctly process the compressed segment, it will than pass a compressed segment back to the UNLOAD and then to the RELOAD phase via the UNLOAD file. If it does not correctly handle the compressed segment data and modifies it, the segment data is corrupted on the unload file. At this point the RELOAD phase knows that the segment data on the unload file is compressed because there is a compressed segment flag in the unload file header record. RELOAD takes the segment from the unload file and writes it as a compressed segment into the database. However, the first
time the corrupted segment is read and an attempt is made to expand it, it will fail expansion. This causes the SHRxxxI messages to be generated. For this series of events to be successful the EXPAND parameter in the UNLOAD phase should be set to YES.

PROBLEM RESOLUTION:
If the FDT has been changed the job should be resubmitted using the correct FDT.

If the EXPAND parameter is set to NO change it to YES and resubmit the job.