CMP return and reason codes

The following is a complete list of Compression Management Services return and reason codes.

Table 1. CMP Return and Reason Codes
Return Code Reason Code Explanation

 

RC_INFO X'04'   Reason Codes

 

X'04' DEC 2048 RS_SAMPLING_STILL

The compression operation has finished successfully. CMP is still in the sampling phase. The input data has not been compressed. The output buffer contains an image copy of the input buffer. The compression operation has finished successfully.

X'04' DEC 2049 RS_DICT_TOKEN_DERIVED

The compression operation has finished successfully. The Dictionary Token has been determined and returned in the storage pointed to by the DICTIONARY_TOKEN_PTR. The input data has not been compressed. The output buffer contains an image copy of the input buffer.

X'04' DEC 2050 RS_COMPRESSION_REJECTED

The compression operation has finished successfully. A rejection dictionary token has been created and returned in the field pointed to by the DICTIONARY_TOKEN_PTR.

The caller should stop calling the CMS_COMPRESS service because the statistics from interrogation and sampling indicate that this is not a good compression candidate.

The output buffer contains an image copy of the input buffer.

X'04' DEC 2051 RS_TARGET_X_COMPRESSED

The compression operation has finished successfully. Only part of the input buffer is compressed. The output buffer has been filled during the compression operation but the input buffer has not been exhausted. The caller may call CMPSVCCM again to compress the remaining data in the input buffer. Be sure to set the CMPSC_BITNUM to zero and reset the CMPSC_TARGETLEN and CMPSC_TARGETADDR fields.

X'04' DEC 2052 RS_TARGET_EXHAUSTED

The decompression operation has finished successfully. The target contains decompressed data. However, not all the source data has been decompressed due to the running out of space in the TARGET.

X'04' DEC 2053 RS_DATA_GREW

The compression operation has finished successfully. The output buffer has been filled during the compression operation. However, the actual number of compressed bytes is greater than the original number of processed input bytes. CMP has copied the CMPSC_TARGETLEN number of bytes from the beginning of the input buffer into the output buffer. The CMPSC_TARGETLEN has been decremented by CMPSC_SOURCELEN. The CMPSC_TARGETADDR has been incremented by CMPSC_SOURCELEN.

 

RC_WARN X'08' Reason Codes

 

X'08' DEC 16 RS_TEXT_GET_FAIL

MPSTCGI unable to subdivide storage area for TEXT_BLK.

X'08' DEC 32 RS_STOR_RELEASE_FAIL

MPSTCGI's STORAGE RELEASE failed.

X'08' DEC 48 RS_DEALL_DD_FAIL

MPSTCGI's SYS1.DBBLIB deallocation failed.

X'08' DEC 2080 RS_MVS_CMS_NOTAVAIL

The MVS/Compression Services is not available on the system. No compression processing can be performed unless a level of MVS that supports compression is installed on this system.

X'08' DEC 2081 RS_DFSMS_CMS_NOTAVAIL

DFSMS Compression Management Services is not available on this system. Make sure that SMS is started.

If SMS is started, refer to the SMF records to find out what might have happened during DFSMS Compression Management Services initialization that caused it to fail.

User Response:
  • See CMP003E message explanation
  • Catalog SYS1.DBBLIB and IPL
Possible causes:
  • The SYS1.DBBLIB data set is not cataloged.
  • Compression services will not start if it cannot:
    • Open the SYS1.DBBLB
    • Read the directory
    • Read the members
X'08' DEC 2082 RS_GLBL_PARTIAL_CONSTRUCTED

The global structure is partially created. No new allocation for compressed format data sets is allowed.

X'08' DEC 2083 RS_HW_INSTR_ABSENT

The hardware compression instruction is not on this system.

X'08' DEC 2085 RS_NOT_ALL_FREED

CMP has tried to perform the necessary resource cleanup. However, some of the resources may not be successfully freed.

 

RC_PARM X'0C' Reason Codes

 

X'0C' DEC 2110 RS_NOT_SUPPORTED

The data set is not eligible for compression because it is not one of the supported types. Only extended SAM data sets and extended VSAM KSDS data sets are supported.

X'0C' DEC 2111 RS_NO_BENEFIT

The data set is not eligible for compression.

The data set attributes show that the data set will not benefit in space utilization or number of I/O operations from the compression.

Compression might incur unnecessary overhead for its data processing.

To be eligible for compression, a data set must:
  • Meet the requirements for Extended Format
  • Have a primary allocation of at least 5 megabytes in order to be allocated as a compressed data set, or 8 MBs if no secondary allocation is specified
  • Have a minimum record length of forty (40) bytes, not including the key offset or key length
  • Be SMS managed. The mechanism for requesting compression for VSAM data sets is through the SMS data class COMPACTION=Y parameter.
Note:
  • For VSAM KSDS, the CMS requirement to have a primary allocation of 5 MB is due to the amount of sampling needed to develop a dictionary token. The 5 MB allocation must be for the data component only. If the amount is specified at the cluster level, then the index component will use a portion of the 5 megabyte allocation. This will result in the data set not meeting the CMS space requirement and the data set will not be eligible for compression processing. This also true for the 8 MB primary allocation, if no secondary is specified.
  • The maximum record length for nonspanned data sets is 3 bytes less than the maximum record length of data sets that do not contain compressed data (this length is CISIZE-10).
  • The relative byte address (RBA) of another record, or the address of the next record in a buffer, cannot be determined using the length of the current record or the length of the record provided to VSAM.
  • The length of the stored record can change when updating a record without any length change.
  • The key and any data in front of the key will not be compressed. Data sets with large key lengths and RKP data lengths might not be good candidates for compression.
  • Only the data component of the base cluster is eligible for compression. Alternate indexes are not eligible for compression.
  • The global shared resources (GSR) option is not permitted for compressed data sets.
X'0C' DEC 2112 RS_CISIZE_TOO_SMALL

The data set is not eligible for compression be cause the CISIZE is not big enough to accommodate one KSDS data record in its uncompressed format.

The CISIZE for a nonspanned compressed KSDS must be at least 10 bytes larger than the maximum record length.

The VSAM data set is not eligible for compression because the CISIZE is not large enough to contain the data record's key field. When a data record spans CIs, the record's key field must be contained within the first CI. The CISIZE for a spanned compressed KSDS must be at least fifteen (15) bytes larger than the key field.

Key field:  key length and displacement from the beginning of the record.

 

RC_CALR X'10' Reason Codes

 

X'10' DEC 2140 RS_BAD_OPEN_TOKEN

Invalid CM_OPEN_TOKEN. Sequence number in the token does not match the one in the control block, or the CMSOP block cannot be located in the CMSAS_CM_OP_CHAIN.

X'10' DEC 2141 RS_OPERAND_NOT_PROVIDED

A request to compress or decompress but some of the operands are not provided.

X'10' DEC 2142 RS_NULL_DICT_TOKEN

A request to decompress the data but the input Dictionary Token is null.

X'10' DEC 2143 RS_MISSING_PARM

A request to decompress the data but the input Dictionary Token is null.

X'10' DEC 2144 RS_INVALID_PARAMETER

Either both JFCB pointer and the AMDSB pointer are given to CMPSVCAL, or neither of the pointers is given.

X'10' DEC 2145 RS_COMP_REJECTED_DS

The input dictionary token indicates that the data set is a rejected candidate for compression.

X'10' DEC 2146 RS_BAD_OPERAND_PROVIDED

A request to compress or decompress but the target or source is not large enough to hold even one compression symbol.

X'10' DEC 2147 RS_UNDEFINED_OPCODE

This operation code specified on the CMPSVCPC interface is undefined.

X'10' DEC 2148 RS_INCOMPLETE_OPEN_TOKEN

The CMS_OPEN_TOKEN has a sequence number of X'FFFFFFFF', which indicates that not all the CMP control structures are in place.

X'10' DEC 2149 RS_NULL_OPEN_TOKEN

The CMS_OPEN_TOKEN is null when it should have a value. This reason code may be returned by CMPSVCCM, CMPSVCDE, or CMPSVCCL when the input open token is null.

 

RC_ENVR X'14' Reason Codes

 

X'14' DEC 2180 RS_LACK_OF_STORAGE

CMP cannot obtain storage for its control structure or dictionaries.

X'14' DEC 2181 RS_TREE_GET_FAILED

CMP cannot obtain storage for the LZ-tree.

X'14' DEC 2182 RS_DICT_GET_FAILED

CMS cannot obtain storage for the hardware dictionaries.

X'14' DEC 2183 RS_TEXT_GET_FAILED

CMP cannot obtain storage for the CMS_TEXT_BLK. CMS_TXT_BLK contains the UDCT data format that is required by the CMPDBCTB routine.

RC_IOER X'18' No Reason Codes  
RC_MEDE X'1C' No Reason Codes  
RC_DSLE X'20' No Reason Codes  

 

RC_SEVE X'24' Reason Codes

 

X'24' DEC 1016 RS_SET_ESTAE_FAIL

MPSTCGI is unable to create its ESTAEX environment.

X'24' DEC 1032 RS_STOR_OBTAIN_FAIL

MPSTCGI's STORAGE OBTAIN failed to get the global area needed to contain the CMS global control blocks.

X'24' DEC 1048 RS_GLBL_GET_FAIL

MPSTCGI unable to subdivide storage area for GLBL_BLK.

X'24' DEC 1064 RS_CNTL_GET_FAIL

MPSTCGI unable to subdivide storage area for CNTL_BLK.

X'24' DEC 1080 RS_SET_TOKEN_FAIL

MPSTCGI's save of CMS's Global token failed.

X'24' DEC 1096 RS_GET_TOKEN_FAIL

MPSTCGI's get of CMS's Global token failed.

X'24' DEC 1112 RS_ALLOC_DD_FAIL

MPSTCGI's SYS1.DBBLIB allocation failed.

X'24' DEC 1128 RS_OPEN_DIR_FAIL

MPSTCGI's OPEN of SYS1.DBBLIB for BSAM input failed.

X'24' DEC 1144 RS_OPEN_MEM_FAIL

MPSTCGI's OPEN of SYS1.DBBLIB for BPAM input failed.

X'24' DEC 1160 RS_BUFFER_GET_FAIL

MPSTCGI's STORAGE OBTAIN of input buffer failed.

X'24' DEC 1176 RS_DIR_FORMAT_ERROR

MPSTCGI received unexpected EOF during directory read.

X'24' DEC 1192 RS_DIR_READ_ERROR

MPSTCGI received permanent error during directory read.

X'24' DEC 1208 RS_INDEX_GET_FAIL

MPSTCGI unable to subdivide storage area for CNTL index.

X'24' DEC 1224 RS_LOW_OBTAIN_FAIL

MPSTCGI unable to acquire storage below the line.

X'24' DEC 1228 RS_MEMBER_FIND_ERROR

MPSTCGI unable to FIND member pointed to by directory.

X'24' DEC 1232 RS_MEMBER_READ_ERROR

MPSTCGI unable to READ members control card.

X'24' DEC 1240 RS_NO_MEMS_FOUND

MPSTCGI no members found in SYS1.DBBLIB to process.

X'24' DEC 4096 RS_BAD_OPEN_BLOCK

The eye-catcher in the CM_OPEN control block is bad.

X'24' DEC 4097 RS_DBB_NOT_LOADED_IO

The dictionary cannot be built in storage. One or more of the dictionary blocks were not loaded at startup due to I/O error.

X'24' DEC 4098 RS_DBB_NOT_LOADED_LOGIC

The dictionary was not built in storage because some of the DBBs were not loaded at startup due to logic error.

X'24' DEC 4099 RS_BAD_DICTIONARY

The dictionary has some format error. The MVS Compression Services cannot operate properly. The MVS return code will be propagated to the caller in the low order 2 bytes of the reason code.

X'24' DEC 4100 RS_BAD_DICT_TOKEN

Invalid Dictionary Token. The Dictionary Building Blocks cannot be located in the CMS_CNTL blocks. Or, the flag in the dictionary token indicates that the token is a rejection token but the DBBs are not NULL.

X'24' DEC 4101 RS_INTERNAL_LOGIC_ERROR

Internal CMS logic error occurred.

X'24' DEC 4102 RS_OBTAIN_LOCK_FAILED

Cannot obtain the local lock.

X'24' DEC 4103 RS_LOCASCB_FAILED

Cannot locate the ASCB.

X'24' DEC 4104 RS_NULL_FOOTPRINT_PTR

In CMPSVCRC, the footprint pointer passed in is null.

X'24' DEC 4105 RS_SET_ASTOKEN_FAILED

Cannot save the CMSAS token with the SSF IGWFTOKM macro.

X'24' DEC 4106 RS_SET_FRR_FAILED

Cannot set the recovery environment. FRR is set in CMPSVCOP, CMPSVCBD, and CMPSVCCL where they either GETMAIN or FREEMAIN storage and a local lock is required.

X'24' DEC 4107 RS_TREE_INIT_FAILED

CMPDBCTI returns a nonzero return code. It failed in initializing the LZ-tree.

X'24' DEC 4108 RS_TREE_BUILD_FAILED

CMPDBCTB returns a nonzero return code. It failed in inserting text blocks into the LZ-tree.

X'24' DEC 4109 RS_TREE_CONV_FAILED

CMPDBCTI returns a nonzero return code. It failed in converting the LZ-tree into the hardware compression format.

X'24' DEC 4110 RS_BAD_DBB

The DBB is bad. CMPSTCGI marked it as invalid in the CMS_CNTL block.

X'24' DEC 4111 RS_BAD_AS_TOKEN

The CMSAS token retrieved by IGWFTOKM does not point to a valid CMSAS block.

X'24' DEC 4112 RS_BAD_TASK_TOKEN

The CMSTASK token retrieved by IGWFTOKM does not point to a valid CMSTASK block.

X'24' DEC 4113 RS_BAD_AS_BLOCK

The CMSAS block has a valid eye-catcher, but some other information in it is suspicious.

X'24' DEC 4114 RS_NULL_AS_TOKEN

A null CMSAS token is returned from IGWFTOKM when a non-null CMSAS is expected.

X'24' DEC 4115 RS_NULL_TASK_TOKEN

A null CMSTASK token is returned from IGWFTOKM when a non-null CMSTASK is expected.

X'24' DEC 4116 RS_RECOVERY_ENTERED

This reason code is set whenever the recovery routine is entered.

X'24' DEC 4117 RS_SET_TASKTOKEN_FAILED

Cannot save the CMSTASK token with the SSF IGWFTOKM macro.

X'24' DEC 4118 RS_BAD_DS_BLOCK

The CMSDS block has an invalid eye-catcher.

X'24' DEC 4119 RS_BAD_DS_PTR

The pointer to CMSDS in the CMSOP block is null but the file does not have a dictionary token yet.

X'24' DEC 4120 RS_BAD_DI_BLOCK

The DI block is bad. It does not have a valid eye-catcher.

X'24' DEC 4121 RS_CMSDS_IN_USE

The caller requested to open an EMPTY data set but there exists a CMSDS that has a nonzero count.