z/OS DFSMSdfp Diagnosis
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


DADSM SCRATCH return and diagnostic codes

z/OS DFSMSdfp Diagnosis
SC23-6863-00

Control returns to the instruction following the SVC 29 generated by the SCRATCH macro. Register 15 contains the applicable DADSM SVC return code as shown in Table 1. Register 0 contains 4 bytes of diagnostic information consisting of the DADSM error code, subfunction identifier, subfunction return code, and subfunction reason code as shown in Table 2. Each volume list entry contains the scratch status code as shown in Table 1.

If an error occurs, DADSM might issue message IEC614I, which would contain the failure-related return and reason codes.

To determine whether the data set has been successfully deleted from each volume on which it resides, you must examine the scratch status code, that is, the last byte of each entry in the volume list.

If an error results from a CVAF function, the subfunction return code field contains the CVAF return code, and the subfunction reason code field contains the CVAF status code (CVSTAT).

If an error results from the execution of an EXCP channel program (DADSM sometimes uses EXCP channel programs to access DSCBs), the subfunction return code and reason code fields have either of the following contents:
  • The ECB completion code and the CSW channel status (if the ECB completion code is not X'41' and the channel status is not zero)
  • Two sense bytes from the IOB (if the ECB completion code is X'41' and there is no channel status)

If an error results from a RACF® invocation, the subfunction return code and reason code fields contain the RACF return code and reason code.

Table 1 describes the conditions that are indicated by the DADSM SVC return code.

Table 1. DADSM SCRATCH Return Codes (R15)
DADSM SVC Return Code Description
00 (X'00') Function successful.
04 (X'04') No volume containing any part of the data set was mounted, nor was there a unit available for mounting. The data set might be a VIO data set that was not allocated to your job step.
08 (X'08') An unusual condition was encountered on one or more volumes.
12 (X'0C') One of the following conditions occurred:
  • The DADSM SCRATCH parameter list is invalid.
  • The volume list is invalid.
  • At entry to SCRATCH, register 0 was not zero or did not point to a valid UCB. The address must be that of a UCB, not a UCB copy.
The SCRATCH status code will not have been set.

Table 2 describes the conditions that are indicated by the diagnostic information that is returned in register 0. The abbreviations that are used in Table 2 are defined in Table 3.

Table 2. DADSM SCRATCH 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'00' X'3B' X'00' X'01' Verify DADSM SCRATCH parameter list; address of the parameter list is zero.
X'00' X'3B' X'00' X'02' Verify DADSM SCRATCH parameter list; address of the data set name or address of the volume list is zero.
X'00' X'3B' X'00' X'03' Verify DADSM SCRATCH parameter list; address of the volume list is invalid.
X'00' X'3B' X'00' X'04' Validate DADSM SCRATCH parameter list; the count of volumes in the volume list is less than or equal to 0 or more than the maximum number of volumes allowed for a data set.
X'00' X'3B' X'00' X'45' Verification of DADSM SCRATCH parameter list; storage protection validation failed for parameter list.
X'00' X'3B' X'00' X'46' Verification of DADSM SCRATCH parameter list; storage protection validation failed for data set name.
X'04' X'06' X'00' X'1C' Verification of SMS flags failed; FMT1 DSCB indicates data set is SMS-managed, but FMT4 DSCB indicates that volume is not SMS-managed.
X'04' X'06' X'00' X'1D' Verification of SMS flags failed; caller indicates data set is SMS-managed, but FMT1 DSCB indicates non-managed.
X'04' X'06' X'00' X'1E' Verification of SMS flags failed; caller indicates the data set is not cataloged, but the FMT1 DSCB indicates the data set is cataloged.
X'04' X'06' X'00' X'1F' Verification of SMS flags failed; caller indicates data set is cataloged, but FMT1 DSCB indicates the data set is not cataloged.
X'04' X'06' X'00' X'20' Verification of SMS flags failed; caller indicates data set is not SMS-managed, but FMT4 DSCB indicates that it is an SMS volume. This error might be caused by a damaged catalog entry. Issuing the recatalog command might clear this error.
X'04' X'06' X'00' X'23' Verification of SMS flags failed; caller indicated that the data set is not SMS managed, but FMT1 DSCB indicates that the data set is SMS managed.
X'04' X'07' BPRERET X'00' Invoke the IGGDASU2 preprocessing exit module; if the module rejects the request, the subfunction return code field contains the IGGDASU2 preprocessing exit return code.
X'04' X'08' X'00' X'22' Verification of last referenced date failed; date passed by caller does not match date in FMT1 DSCB.
X'04' X'09' VDSS1 VDSS2 VDSS detected an error.
X'04' X'0B' X'00' X'27' Verify DADSM SCRATCH request; DSAB open count (DSABOPCT) for VIO data set is not zero.
X'04' X'0B' X'00' X'28' Verify DADSM SCRATCH request; UCB data management count (UCBDMCT) for VIO data set is not zero.
X'04' X'0B' X'00' X'29' Verify DADSM SCRATCH request; volume list contains more than one volume for VIO data set.
X'04' X'0B' X'00' X'2A' Verify DADSM SCRATCH request; input UCB address is zero.
X'04' X'0B' X'00' X'4B' Verify DADSM SCRATCH request; data set is unexpired.
X'04' X'0B' ENQRET X'24' Verify DADSM SCRATCH request; enqueue on TIOT failed.
X'04' X'0B' ENQRET X'25' Verify DADSM SCRATCH request; enqueue on SYSDSN failed.
X'04' X'12' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the volume for scratching the VTOC index data set.
X'04' X'13' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the volume, after RACHECK of the data set with generic profile failed.
X'04' X'18' X'00' X'33' Read DSCBs and check caller's authority; indexed VTOC—data set in index, but no FMT1 DSCB found.
X'04' X'18' X'00' X'34' Read DSCBs and check caller's authority. Module SECLOADA failed the request. Possible reasons are that the data set is password protected and a password was not provided, or for a VSAM data set, the catalog might have structure problems that prevented authorization verification. An IDCAMS DIAGNOSE job might provide information about the catalog.
X'04' X'18' X'00' X'35' Read DSCBs and check caller's authority; caller not functionally authorized to scratch VTOC index data set.
X'04' X'18' X'00' X'36' Read DSCBs and check caller's authority; cannot scratch VTOC index data set on an indexed VTOC volume.
X'04' X'18' X'00' X'40' Read DSCBs and check caller's authority; an open DEB was found for the data set being scratched.
X'04' X'18' X'00' X'44' Read DSCBs and check caller's authority; OS VTOC—FMT1 DSCB not found on volume.
X'04' X'18' X'00' X'4C' The data set is a VSAM data set.
X'04' X'19' CVRET CVSTAT Invoke CVAFDSM; delete data set name from index.
X'04' X'27' X'00' X'41' Invoke IGG0290F to demount/mount/verify volume; volume could not be demounted.
X'04' X'27' X'00' X'42' Invoke IGG0290F to demount/mount/verify volume; volume could not be mounted.
X'04' X'28' X'00' X'38' Locate volume to be processed; volume serial number from volume list is zero.
X'04' X'28' X'00' X'39' Locate volume to be processed; volume not mounted on any online, shareable DASD unit.
X'04' X'28' X'00' X'3A' Locate volume to be processed; device type of volume from volume list does not match UCB device type of unit on which volume resides.
X'04' X'28' X'00' X'3B' Locate volume to be processed; device on which current volume is mounted is not ready.
X'04' X'29' X'00' X'3C' Remove DSCBs; FMT1 indicates data set has more than 3 extents, but FMT3 CCHHR address in FMT1 is zero.
X'04' X'29' PRERET X'3D' Remove DSCBs; an exit routine associated with the IGGPRE00_EXIT preprocessing dynamic exit, such as IGGPRE00, rejected the request.
X'04' X'36' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the data set. RACROUTE Request = AUTH.
X'04' X'37' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the data set and to return erase status. RACROUTE Request = AUTH.
X'04' X'38' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the volume after RACHECK of data set with discrete profile failed. RACROUTE Request = AUTH.
X'04' X'3D' CDMRSN1 CDMRSN2 Invoke CDM to delete a PDSE directory; directory could not be deleted. Note that you should only use the two right most bytes when looking up the CDM reason codes. For explanation see CDM reason codes.
X'04' X'3E' COMMRC COMMRS System error. Unable to convert Extent Descriptor Table prior to calling the exit routines associated with the IGGPRE00_EXIT preprocessing dynamic exit.
X'04' X'3F' COMMRC COMMRS System error. Error converting CCHH to relative track address format.
X'04' X'40' COMMRC COMMRS System error. Error sorting the Extent Descriptor Table entries.
X'04' X'41' COMMRC COMMRS System error. Error converting Extent Descriptor Table entries to Format 5 DSCB format entries.
X'04' X'42' COMMRC COMMRS System error. Error converting Extent Descriptor Table entries to Format 7 DSCB format entries.
X'04' X'43' COMMRC COMMRS System error. Error converting Format 5 DSCB entries to Extent Descriptor Table format entries.
X'04' X'44' COMMRC COMMRS System error. Error converting Format 7 DSCB entries to Extent Descriptor Table format entries.
X'08' X'03' X'00' X'05' Logical error on SSI call; bad SSOB format, length, and so forth.
X'08' X'09' X'00' X'00' VDSS detected an error.
X'08' X'0A' SYSCDE1 SYSCDE2 ESTAE routine invoked by RTM; system completion code is passed back in register 0.
X'08' X'0B' X'00' X'2B' Validate DADSM SCRATCH request; VSCRATCH failed for VIO data set.
X'08' X'0B' PRERET X'2C' Verify DADSM SCRATCH request; an exit routine associated with the IGGPRE00_EXIT preprocessing dynamic exit, such as IGGPRE00, rejected a request for a VIO data set.
X'08' X'0C' X'00' X'2D' Update FMT5 DSCBs for data set with more than 16 extents; CCHH of record to be read/written is less than the beginning CCHH of VTOC.
X'08' X'0C' X'00' X'2E' Update FMT5 DSCBs for data set with more than 16 extents; CCHH of record to be read/written is greater than the ending CCHH of VTOC.
X'08' X'0C' X'00' X'2F' Update FMT5 DSCBs for data set with more than 16 extents; count of number of extents indicates new FMT5 is already full.
X'08' X'0C' X'00' X'3F' Update FMT5 DSCBs for data set with more than 16 extents; number of FMT0 DSCBs is less than the number needed to describe extents being freed.
X'08' X'0D' CVRET CVSTAT Invoke CVAFDIR; read FMT5 DSCB.
X'08' X'0E' CVRET CVSTAT Invoke CVAFDIR; write FMT5 DSCB.
X'08' X'0F' CVRET CVSTAT Invoke CVAFDIR; write FMT0 DSCB.
X'08' X'10' CVRET CVSTAT Invoke CVAFDIR; read FMT0 DSCB.
X'08' X'11' X'00' X'30' Erase tracks occupied by data set; PGFIX of I/O work area failed.
X'08' X'14' ECBCC, SNS0 CHSTAT, SNS1 Read FMT4 and FMT1 DSCBs.
X'08' X'15' CVRET CVSTAT Invoke CVAFDIR; read index maps, high level VIER, and FMT4 DSCB.
X'08' X'16' CVRET CVSTAT Invoke CVAFVRF; check for VRF data in the VIXM.
X'08' X'17' ECBCC, SNS0 CHSTAT, SNS1 Channel program issued to read FMT4 and FMT1 DSCBs after IGGVRF00 disabled the VTOC index.
X'08' X'18' X'00' X'31' Read DSCBs and check callers authority; I/O error during VRF recovery routine execution.
X'08' X'18' X'00' X'32' Read DSCBs and check caller's authority; OS VTOC—data set found, but FMT1 DSCB ID is invalid.
X'08' X'19' CVRET CVSTAT Invoke CVAFDSM; delete data set name from index.
X'08' X'1A' CVRET CVSTAT Invoke CVAFDIR; read FMT1 DSCB.
X'08' X'1B' CVRET CVSTAT Invoke CVAFDIR; read FMT4 DSCB.
X'08' X'1C' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB.
X'08' X'1D' CVRET CVSTAT Invoke CVAFDIR; release buffers.
X'08' X'1E' ECBCC, SNS0 CHSTAT, SNS1 Read FMT6 DSCB.
X'08' X'1F' ECBCC, SNS0 CHSTAT, SNS1 Write FMT6 DSCB.
X'08' X'20' ECBCC, SNS0 CHSTAT, SNS1 Write FMT0 DSCB.
X'08' X'21' ECBCC, SNS0 CHSTAT, SNS1 Read first FMT5 DSCB.
X'08' X'22' X'00' X'37' Update FMT6 DSCB; first split cylinder extent belonging to data set is less than the lowest CCHH in first FMT6 DSCB.
X'08' X'23' ECBCC, SNS0 CHSTAT, SNS1 Read FMT5 DSCB.
X'08' X'24' ECBCC, SNS0 CHSTAT, SNS1 Write FMT5 DSCB.
X'08' X'25' ECBCC, SNS0 CHSTAT, SNS1 Read FMT0 DSCB.
X'08' X'26' ECBCC, SNS0 CHSTAT, SNS1 Write FMT4 DSCB.
X'08' X'27' X'00' X'43' Invoke IGG0290F to demount/mount/verify volume; I/O error occurred while reading the volume label.
X'08' X'29' X'00' X'3E' Remove DSCBs; DSCB pointed to by the FMT1 is neither a FMT2 nor FMT3 DSCB.
X'08' X'2A' CVRET CVSTAT Invoke CVAFDIR; read FMT2/FMT3 DSCBs.
X'08' X'2B' CVRET CVSTAT Invoke CVAFVRF; write VRF data to the index map.
X'08' X'2C' CVRET CVSTAT Invoke CVAFDIR; write buffer lists to the volume.
X'08' X'2D' CVRET CVSTAT Invoke CVAFDIR; zero out all FMT1, FMT2, and FMT3 DSCBs.
X'08' X'2E' CVRET CVSTAT Invoke CVAFDSM; release volume space to the VPSM.
X'08' X'2F' CVRET CVSTAT Invoke CVAFVRF; zero out VRF data.
X'08' X'30' CVRET CVSTAT Invoke CVAFDIR; write index maps and VIXM to the volume.
X'08' X'31' CVRET CVSTAT Invoke CVAFDIR; read FMT5 and FMT6 DSCBs.
X'08' X'32' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB to disable indexed VTOC.
X'08' X'33' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB with DS4DOSBT bit 'on' for OS VTOC.
X'08' X'34' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB for OS VTOC, after the request was rejected by the IGGDASU2 preprocessing exit.
X'08' X'35' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB if more than five tracks are being erased.
X'08' X'39' ECBCC, SNS0 CHSTAT, SNS1 Channel program issued to read FMT4 and FMT1 DSCBs after VTOC index was disabled.
X'08' X'3A' CVRET CVSTAT Invoke CVAFDIR; write FMT4 DSCB for OS VTOC, after erase failure.
X'08' X'3C' CVRET CVSTAT Invoke CVAFDIR; rewrite FMT4 DSCB with DS4DOSBT bit 'on'; data set with incorrect number of extents was found.
X'08' X'47' ECBCC CHSTAT Erase failed.
X'0C' X'01' X'00' X'03' Verify DADSM SCRATCH parameter list; address of volume list is invalid.
X'0C' X'01' X'00' X'04' Verify DADSM SCRATCH parameter list; count of volumes in the volume list is less than or equal to zero.
X'0C' X'02' GETMRET X'00' GETMAIN for DAVLL failed.
X'0C' X'04' X'00' X'09' Verification of branch entry parameter list failed; DASSKRSV must be zero.
X'0C' X'04' X'00' X'0A' Verification of branch entry parameter list failed; flag DASVRFRD is 'on', but DASREFDT is zero.
X'0C' X'04' X'00' X'0B' Verification of branch entry parameter list failed; DASAVOLL is zero.
X'0C' X'04' X'00' X'0C' Verification of branch entry parameter list failed; DASADSN is zero.
X'0C' X'04' X'00' X'0D' Verification of branch entry parameter list failed; DASRSRV1 must be zero.
X'0C' X'04' X'00' X'0E' Verification of branch entry parameter list failed; DASRSRV2 must be zero.
X'0C' X'04' X'00' X'0F' Verification of branch entry parameter list failed; DASRSRV3 must be zero.
X'0C' X'04' X'00' X'10' Verification of branch entry parameter list failed; DASRSRV4 must be zero.
X'0C' X'04' X'00' X'11' Verification of branch entry parameter list failed; DASRSRV5 must be zero.
X'0C' X'04' X'00' X'12' Verification of branch entry parameter list failed; DASRSRV6 must be zero.
X'0C' X'04' X'00' X'13' Verification of branch entry parameter list failed; DASRSRV7 must be zero.
X'0C' X'04' X'00' X'14' Verification of branch entry parameter list failed; DASPKEY value invalid for updating fields in caller's DASCR.
X'0C' X'04' X'00' X'47' Verification of branch entry parameter list failed; DASRSRV8 must be zero.
X'0C' X'04' X'00' X'49' Verification of branch entry parameter list failed; UCBID of passed UCB is invalid.
X'0C' X'04' X'00' X'4A' Verification of branch entry parameter list failed; device type in volume list entry or in passed UCB indicates that the device is not DASD.
X'0C' X'05' X'00' X'15' Verification of volume list (DAVLL) failed; invalid DAVLLID field.
X'0C' X'05' X'00' X'16' Verification of volume list (DAVLL) failed; invalid DAVLVER field.
X'0C' X'05' X'00' X'17' Verification of volume list (DAVLL) failed; invalid DAVLLEN field.
X'0C' X'05' X'00' X'18' Verification of volume list (DAVLL) failed; DAVSKRSV must be zero.
X'0C' X'05' X'00' X'19' Verification of volume list (DAVLL) failed; DAVRSRV1 must be zero.
X'0C' X'05' X'00' X'1A' Verification of volume list (DAVLL) failed; DAVRSRV2 must be zero.
X'0C' X'05' X'00' X'1B' Verification of volume list (DAVLL) failed; DAVLKEY value invalid for updating fields in caller's DAVLL.
X'0C' X'05' X'00' X'4A' Verification of volume list (DAVLL) failed; device type in volume list entry or in passed UCB indicates that the device is not DASD.
X'0C' X'46' UCBCAPTRC UCBCAPTRS IOSCAPU failed when attempting to capture the UCB passed by the caller.
X'10' X'01' X'00' X'01' Verification of DADSM SCRATCH parameter list failed; address of parameter list is zero.
X'10' X'01' X'00' X'02' Verification of branch entry parameter list failed; address of the data set name or address of the volume list is zero.
X'10' X'01' X'00' X'48' Verification of UCB passed in register. Register 0 was not zero or did not point to valid UCB. The address must be that of a UCB, not a UCB copy.
X'10' X'04' X'00' X'04' Verification of branch entry parameter list failed; count of volumes in the volume list is zero.
X'10' X'04' X'00' X'06' Verification of branch entry parameter list failed; invalid DASPLID field.
X'10' X'04' X'00' X'07' Verification of branch entry parameter list failed; invalid DASPVER field.
X'10' X'04' X'00' X'08' Verification of branch entry parameter list failed; invalid DASPLEN field.

Table 3 describes the abbreviations for DADSM SCRATCH diagnostic information.

Table 3. Abbreviation Descriptions for DADSM SCRATCH Diagnostic Information (Register 0)
Abbreviation Description
BPRERET Return code from the IGGDASU2 SCRATCH preprocessing exit module. For a description of the return code, see z/OS DFSMS Installation Exits.
CDMRSN1,2 CDM reason codes (low order 2 bytes). For explanation see CDM reason codes.
CHSTAT Channel status from I/O. For a description of the status, see z/OS DFSMSdfp Advanced Services.
COMMRC DADSM common return code. For a description of that return code see Table 1.
COMMRS DADSM common reason code. For a description of that reason code, see Table 1.
CVRET Return code from the CVAF function. For a description of the return code, see z/OS DFSMSdfp Advanced Services.
CVSTAT CVSTAT field of the CVAF parameter list. For a description of the fields, see CVSTAT field codes.
ECBCC ECB completion code. For a description of the code, see z/OS DFSMS Using Data Sets.
ENQRET Return code from ENQ. For a description of the return code, see z/OS MVS Programming: Assembler Services Reference ABE-HSP.
GETMRET Return code from GETMAIN.
PRERET Return code from an exit routine associated with the IGGPRE00_EXIT preprocessing dynamic exit, such as IGGPRE00. For a description of the return code, see z/OS DFSMS Installation Exits.
RACREAS RACF reason code. See Diagnostic Code for request type.
RACRET RACF return code. See Diagnostic Code for request type.
SNS0 First sense byte from the IOB. For a description of the sense byte, see z/OS DFSMSdfp Advanced Services.
SNS1 Second sense byte from the IOB. For a description of the sense byte, see z/OS DFSMSdfp Advanced Services.
SYSCDE1,2 System completion code (low order 2 bytes). For a description of the completion code, see z/OS DFSMS Macro Instructions for Data Sets.
UCBCAPTRC Return code from IOSCAPU service.
UCBCAPTRS Reason code from IOSCAPU service.
VDSS1,2 VDSS error reason code (low order 2 bytes). For a description of the VDSS1 and VDSS2 field values, convert the reason code to decimal and see VTOC/Data set services (VDSS) reason codes.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014