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

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

book

Article ID: 54015

calendar_today

Updated On:

Products

Compress Data Compression (IMS Tools) Database Organizer for IMS for z/OS Database Organizer (IMS Tools) DATABASE MANAGEMENT SOLUTIONS FOR IMS FOR Z/OS

Issue/Introduction

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.

Cause

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.

Resolution

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

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.

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.