Previous Topic: The Parameter List

Next Topic: Control File Maintenance Utility Security Interface


Return Codes

All phases receive the return code in ZUXRC, the first word of the parameter list, and they can change it there as appropriate. The incoming and outgoing return codes and their meanings for each phase are as follows:

PRECMP

On entry, ZUXRC is always zero. The exit can determine that the record cannot be successfully compressed, perhaps because it is shorter than the noncompressible area defined by the RDL. To avoid the failure in compression in this case and message SHR015I, you can set ZUXRC to -1 (x'FFFFFFFF') to stop compression and write the uncompressed record to the compressed output data set. If you stop compression at PRECMP, POSTCMP is never entered, because compression is never called.

POSTCMP

On entry, ZUXRC contains the return code from compression, either zero or a positive return code indicating that compression failed. You can recover from the error, after making any needed corrections, but any failing message from CA Compress/2, such as SHR015I, has already been issued. Set ZUXRC to zero in order to write the compressed record or to -1 (x'FFFFFFFF') to copy the uncompressed record without compression. If ZUXRC is zero and you set a positive return code, CA Compress forces an I/O error, just as if compression had failed.

PREXPD

On entry, ZUXRC is always zero. The exit may determine that the record is already uncompressed and want to avoid expanding it again and causing errors. To stop expansion and write the compressed record to the output data set, set ZUXRC to -1 (x'FFFFFFFF'). If you stop expansion at PREXPD, POSTXPD is never entered, because expansion is never called.

POSTXPD

On entry, ZUXRC contains the return code from expansion, either zero or a positive return code indicating that expansion failed. You can recover from the error, after making any needed corrections, but any failing message from CA Compress/2, such as SHR010I, has already been issued. Set ZUXRC to zero in order to write the uncompressed record or to -1 (x'FFFFFFFF') to copy the compressed record without expansion. If ZUXRC is zero and you set a positive return code, CA Compress forces an I/O error, just as if expansion had failed.