DADSM UPDATE return and diagnostic codes

Table 2 contains the applicable DADSM SVC return codes returned in register 15. Table 1 describes the conditions indicated by the diagnostic information returned in register 0. Register 0 contains 4 bytes of diagnostic information that consists of the DADSM error code, subfunction identifier, subfunction return code and subfunction reason code, as Table 1 shows. The abbreviations used in Table 1 are defined in Table 3.

Table 1. DADSM UPDATE Diagnostic Information (Register 0)
Byte 0 Byte 1 Byte 2 Byte 3 Description
DADSM Error Code Subfunction Identifier Subfunction Return Code Subfunction Reason Code
X'04' X'01' X'00' X'01' Caller is neither APF authorized nor in key 0 nor in supervisor state.
X'04' X'04' X'00' X'15' Error validating SMS flag. SMS flag in parameter list does not match UCB SMS flag.
X'04' X'06' X'ENQRET' X'00' Enqueue on TIOT failed.
X'04' X'07' X'ENQRET' X'00' Enqueue on data set failed. RET = USE.
X'04' X'08' X'ENQRET' X'00' Enqueue on data set failed. RET = CHNG.
X'04' X'09' X'ENQRET' X'00' ENQ on VTOC failed.
X'04' X'0A' X'ENQRET' X'00' Enqueue on demount resource for virtual volume failed.
X'04' X'0B' X'CVRET' X'CVSTAT' CVAFDIR: Error reading DSCB by data set name.
X'04' X'0C' X'CVRET' X'CVSTAT' CVAFDIR: Error reading DSCB by CCHHR.
X'04' X'0D' X'CVRET' X'CVSTAT' CVAFDIR: Error reading DSCB by TTR.
X'04' X'0E' X'00' X'1B' DAUSMSMV is neither 0 nor 1.
X'04' X'0E' X'00' X'1C' DAUSMSUV is neither 0 nor 1.
X'04' X'0E' X'00' X'1D' DAUSMSRV is neither 0 nor 1.
X'04' X'0E' X'00' X'1E' DAULSTVN is neither 0 nor 1.
X'04' X'0E' X'00' X'1F' DAUCHGIV is neither 0 nor 1.
X'04' X'0E' X'FUNC-ID' X'20' Invalid function ID found for format-1 DSCB update request. The return code contains the invalid function ID.
X'04' X'0E' X'00' X'21' DAUSMSIV is neither 0 nor 1.
X'04' X'0E' X'00' X'22' DAUSMSCV is neither 0 nor 1.
X'04' X'0E' X'FUNC-ID' X'23' Invalid function ID found for format-4 DSCB update request. The return code contains the invalid function ID.
X'08' X'0B' X'CVRET' X'CVSTAT' CVAFDIR: Error reading DSCB by data set name.
X'08' X'0C' X'CVRET' X'CVSTAT' CVAFDIR: Error reading DSCB by CCHHR.
X'08' X'0D' X'00' X'19' Request to update format-1 DSCB, but DSCB read is not a format-1 DSCB.
X'08' X'0D' X'00' X'1A' Request to update format-4 DSCB, but DSCB read is not a format-4 DSCB.
X'08' X'0F' X'CVSTAT' X'CVSTAT' Error writing DSCB.
X'0C' X'02' X'00' X'05' Invalid parameter or request. Function area address (DAUFNPTR) is zero.
X'0C' X'02' X'00' X'06' Invalid parameter or request. Both DAUF1UPD and DAUF4UPD are off.
X'0C' X'02' X'00' X'07' Invalid parameter or request. Both DAUF1UPD and DAUF4UPD are on.
X'0C' X'02' X'00' X'08' Invalid parameter or request. Both CCHHR (DAUCCHHP) and TTR (DAUTTRP) are present.
X'0C' X'02' X'00' X'09' Invalid parameter or request. CCHHR (DAUCCHHP) is on but CCHHR (DAUCCHHR) is zero.
X'0C' X'02' X'00' X'0A' Invalid parameter or request. TTR (DAUTTRP) is on but TTR (DAUTTR) is zero.
X'0C' X'02' X'00' X'0B' Invalid parameter or request. UCB address (DAUADUCB) is zero.
X'0C' X'02' X'00' X'0C' Invalid parameter or request. The UCB address (DAUADUCB) equals the dummy SMS UCB (DACDUCBP).
X'0C' X'02' X'00' X'0D' Invalid parameter or request. A format-1 DSCB update was requested, but DS name is either blank or zero.
X'0C' X'02' X'00' X'0E' Invalid parameter or request. The data set name is VTOC index name.
X'0C' X'02' X'00' X'0F' Invalid parameter or request. The data set name is VSAM VVDS name.
X'0C' X'02' X'00' X'10' Invalid parameter or request. The reserved field, DAUSKRSV, is not zero.
X'0C' X'02' X'00' X'11' Invalid parameter or request. The reserved field, DAURSRV1, is not zero.
X'0C' X'02' X'00' X'12' Invalid parameter or request. The reserved field, DAURSRV2, is not zero.
X'0C' X'02' X'00' X'13' Invalid parameter or request. The reserved field, DAURSRV3, is not zero.
X'0C' X'02' X'00' X'24' Invalid parameter or request. Number of functions requested is zero.
X'0C' X'02' X'00' X'25' Invalid parameter or request. The number of functions requested is greater than the maximum that can be requested.
X'0C' X'03' X'00' X'14' Error validating UCB passed by caller. ID of UCB is not X'FF'.
X'0C' X'03' X'00' X'17' Error validating UCB passed by caller. UCB indicates device is not ready.
X'0C' X'03' X'00' X'18' Error validating UCB passed by caller. VOLSER is blank in UCB passed by caller.
X'0C' X'05' X'FUNC-ID' X'16' Function ID is greater than maximum or is zero. The subfunction return code will contain the invalid function ID.
X'0C' X'13' UCBCAPTRC UCBCAPTRS IOSCAPU failed when attempting to capture the UCB passed by the caller.
X'10' X'02' X'00' X'02' Invalid parameter list. The DAUPLID field is invalid.
X'10' X'02' X'00' X'03' Invalid parameter list. The DAUPVER field (version) is invalid.
X'10' X'02' X'00' X'04' Invalid parameter list. The DAUPLEN field (length) is invalid.
Table 2. DADSM UPDATE Return Codes (R15)
DADSM SVC Return Code Description
00(X'00') Function Successful
04(X'04') Categorized Error Condition
08(X'08') Unexpected Error Condition
12(X'0C') Invalid Parameter
16(X'10') Invalid Parameter List
Table 3. Abbreviation Descriptions for DADSM UPDATE Diagnostic Information (Register 0)
Abbreviation Description
CVRET Return code from the CVAF function.
CVSTAT CVSTAT field of the CVAF parameter list.
ENQRET Return code from ENQ.
FUNC-ID Function identifier.
UCBCAPTRC Return code from IOSCAPU service.
UCBCAPTRS Reason code from IOSCAPU service.