DADSM RENAME return and diagnostic codes

When control returns to the instruction following the SVC 30 generated by the RENAME macro, register 15 contains the applicable DADSM SVC return codes, as Table 1 shows. 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 2 shows. Each volume's volume list entry contains the rename status code shown in Table 1.

If an error occurs, DADSM issues message IEC614I, that contains the failure-related return and reason codes.

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

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

Table 1. DADSM RENAME Return Codes

DADSM SVC
Return Code

Description
00 (X'00') Function successful.
04 (X'04') No volume containing any part of data set was mounted, nor was there a unit available for mounting. The data set may be a VIO data set and cannot be renamed.
08 (X'08') An unusual condition was encountered on one or more volumes.
12 (X'0C') One of the following conditions occurred:
  • The DADSM RENAME parameter list is not valid.
  • The volume list is not valid.
  • At entry to RENAME, register 0 was not zero and did not point to a valid UCB. The address must be that of a UCB, not a UCB copy.
The RENAME 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 used in Table 2 are defined in Table 3.

Table 2. DADSM RENAME 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'0A' X'00' X'01' Validate DADSM RENAME parameter list; the address of the DADSM parameter list is zero.
X'00' X'0A' X'00' X'02' Validate DADSM RENAME parameter list; either the address of the old or new data set names is zero or the address of the volume list is zero.
X'00' X'0A' X'00' X'03' Validate DADSM RENAME parameter list; the address of the volume list is invalid.
X'00' X'0A' X'00' X'04' Validate DADSM RENAME 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'0A' X'00' X'21' Validate DADSM RENAME parameter list; storage protection validation failed for the parameter list.
X'00' X'0A' X'00' X'22' Validate DADSM RENAME parameter list; storage protection validation failed for the old data set name.
X'00' X'0A' X'00' X'23' Validate DADSM RENAME parameter list; storage protection validation failed for the new data set name.
X'04' X'06' X'00' X'1A' Verify of SMS flags failed; FMT1 DSCB indicates that the data set is SMS-managed, but the FMT4 DSCB is not SMS-managed.
X'04' X'06' X'00' X'1B' Verify of SMS flags failed; caller indicates that the data set is SMS-managed, but the FMT1 DSCB does not.
X'04' X'06' X'00' X'1C' Verify of SMS flags failed; caller indicates no BCS entry exists for data set, but the FMT1 DSCB does not.
X'04' X'06' X'00' X'1D' Verify of SMS flags failed; caller indicates that the data set is cataloged, but the FMT1 DSCB does not.
X'04' X'06' X'00' X'1E' Verify of SMS flags failed; caller indicates that the volume is not SMS-managed, but the FMT4 DSCB indicates that it is either SMS or being converted to SMS.
X'04' X'06' X'00' X'20' Verify of SMS flags failed; caller indicates that the data set is not SMS-managed, but the FMT1 DSCB indicates that it is SMS.
X'04' X'07' BPRERET X'00' Invoke the IGGDARU2 preprocessing exit module; if the module rejects the request, the subfunction return code field contains the IGGDARU2 preprocessing exit return code.
X'04' X'08' VDSS1 VDSS2 VDSS detected an error.
X'04' X'0B' X'00' X'24' Validate DADSM RENAME request; rename not supported for a VIO data set.
X'04' X'0B' X'00' X'27' Validate DADSM RENAME request; blank volume serial number and format of the data set name indicate a possible VIO data set, but the data set was not found on the DSAB chain.
X'04' X'0B' X'00' X'2E' Validate DADSM RENAME request; an open DEB was found for the data set being renamed.
X'04' X'0B' X'00' X'30' Validate DADSM RENAME request; cannot rename a VTOC index data set to a non-VTOC index type of name on an indexed VTOC volume.
X'04' X'0B' X'00' X'31' Validate DADSM RENAME request; cannot rename a non-VTOC index type of name to a VTOC index data set on an indexed VTOC volume.
X'04' X'0B' ENQRET X'25' Validate DADSM RENAME request; enqueue on TIOT failed.
X'04' X'0B' ENQRET X'26' Validate DADSM RENAME request; enqueue on SYSDSN failed.
X'04' X'0B' ENQRET X'46' Validate DADSM RENAME request; enqueue on SYSDSN failed. Also, the caller has appropriate RACF READ authority to be able to specify that the data set being renamed is not the data set in use. See Renaming a Data Set That Might be in UseRenaming a Data Set That Might be in Use in z/OS DFSMSdfp Advanced Services.
X'04' X'0C' X'00' X'28' Locate volume to be processed; the volume serial number from the volume list is zero.
X'04' X'0C' X'00' X'29' Locate volume to be processed; volume not mounted on any online, shareable DASD unit.
X'04' X'0C' X'00' X'2A' Locate volume to be processed; device type of volume from the volume list does not match the UCB device type of unit on which the volume resides.
X'04' X'0D' X'00' X'2B' Invoke IGG0300F to demount/mount/verify volume; volume could not be demounted.
X'04' X'0D' X'00' X'2C' Invoke IGG0300F to demount/mount/verify volume; volume could not be mounted.
X'04' X'0E' X'00' X'2F' Check caller's authority and rename DSCB; SECLOADA installation exit rejected the request.
X'04' X'0E' X'00' X'32' Check caller's authority and rename DSCB; caller not functionally authorized to rename the VTOC index data set.
X'04' X'0E' X'00' X'33' Check caller's authority and rename DSCB; data set with new name already exists on indexed VTOC volume.
X'04' X'0E' X'00' X'34' Check caller's authority and rename DSCB; data set with new name already exists on OS VTOC volume.
X'04' X'0E' X'00' X'35' Check caller's authority and rename DSCB; attempt to rename a data set to the VTOC index name failed, because a data set whose name begins with 'SYS1.VTOCIX.' already exists on the volume.
X'04' X'0E' X'00' X'36' Check caller's authority and rename DSCB; the new data set name is indexed VTOC high-water-mark key (44 bytes of X'FF').
X'04' X'0E' X'00' X'37' Check caller's authority and rename DSCB; indexed VTOC—old data set name in index but no FMT1 DSCB was found.
X'04' X'0E' X'00' X'38' Check caller's authority and rename DSCB; OS VTOC—old data set was not found on the volume.
X'04' X'0F' RACRET RACREAS Invoke RACF to verify that the caller is authorized to the volume for renaming the VTOC index data set. RACROUTE = AUTH.
X'04' X'10' RACRET RACREAS Invoke RACF to check caller's authorization and rename the data set name in the profile. RACROUTE = DEFINE.
X'04' X'11' RACRET RACREAS Invoke RACF to rename the data set name in the profile. RACROUTE = DEFINE.
X'04' X'12' CVRET CVSTAT Invoke CVAFDSM; add new data set name to the index and check for a duplicate name.
X'04' X'13' CVRET CVSTAT Invoke CVAFDIR; read FMT1 DSCB of the old data set name.
X'04' X'14' X'00' X'AA' Data set could not be created, DSNTYPE=LARGE not valid for this data set.
X'08' X'03' X'00' X'05' Logical error on SSI call; bad SSOB format, length, and so forth.
X'08' X'08' VDSS1 VDSS2 VDSS detected an error.
X'08' X'09' SYSCDE1 SYSCDE2 ESTAE routine invoked by RTM—redundant.
X'08' X'0D' X'00' X'2D' Invoke IGG0300F to demount/mount/verify volume; I/O error occurred while reading the volume label.
X'08' X'0E' X'00' X'39' Check caller's authority and rename FMT1 DSCB; I/O error during VRF recovery routine execution.
X'08' X'0E' X'00' X'3A' Check caller's authority and rename DSCB; indexed VTOC—data set was found but its FMT1 DSCB ID is invalid.
X'08' X'0E' X'00' X'3B' Check caller's authority and rename DSCB; OS VTOC–data set was found but the FMT1 DSCB ID is invalid.
X'08' X'0E' PRERET X'3C' Check caller's authority and rename the DSCB; an exit routine associated with the IGGPRE00_EXIT preprocessing dynamic exit, such as IGGPRE00, rejected the request; the subfunction return code field contains the return code from the exit routine.
X'08' X'12' CVRET CVSTAT Invoke CVAFDSM; add the new data set name to the index and check for a duplicate name.
X'08' X'13' CVRET CVSTAT Invoke CVAFDIR; read the FMT1 DSCB of the old data set name.
X'08' X'14' CVRET CVSTAT Invoke CVAFDIR; read the space maps and the first high level VIER.
X'08' X'15' CVRET CVSTAT Invoke CVAFVRF; check for VRF data in the VIXM.
X'08' X'16' CVRET CVSTAT Invoke CVAFDIR; read the FMT1 DSCB of the new data set name to check for a duplicate data set name.
X'08' X'17' ECBCC, SNS0 CHSTAT, SNS1 Read the FMT1 DSCB of the new data set name and check for a duplicate data set name.
X'08' X'18' ECBCC, SNS0 CHSTAT, SNS1 Read the FMT1 DSCB of the old data set name.
X'08' X'19' CVRET CVSTAT Invoke CVAFVRF; write VRF data to the index map.
X'08' X'1A' CVRET CVSTAT Invoke CVAFDIR; write VRF data to the volume.
X'08' X'1B' CVRET CVSTAT Invoke CVAFDIR; write the updated data set name to the volume.
X'08' X'1C' CVRET CVSTAT Invoke CVAFDIR; write the updated FMT1 DSCB to the volume.
X'08' X'1D' CVRET CVSTAT Invoke CVAFDSM; delete the old data set name from the index.
X'08' X'1E' CVRET CVSTAT Invoke CVAFVRF; zero out the VRF data.
X'08' X'1F' CVRET CVSTAT Invoke CVAFDIR; write zero VRF data to the volume.
X'08' X'20' ECBCC, SNS0 CHSTAT, SNS1 Write the FMT1 DSCB with the new name.
X'0C' X'01' X'00' X'03' Validation of DADSM RENAME parameter list; the volume list address range is invalid.
X'0C' X'01' X'00' X'04' Validation of DADSM RENAME parameter list; the count of volumes in the volume list is less than or equal to 0.
X'0C' X'02' GETMRET X'00' GETMAIN for DAVLL failed.
X'0C' X'04' X'00' X'09' Validation of branch entry parameter list failed; DARSKRSV must be zero.
X'0C' X'04' X'00' X'0A' Validation of branch entry parameter list failed; DARANDSN is zero.
X'0C' X'04' X'00' X'0B' Validation of branch entry parameter list failed; DARAVOLL is zero.
X'0C' X'04' X'00' X'0C' Validation of branch entry parameter list failed; DARADSN is zero.
X'0C' X'04' X'00' X'0D' Validation of branch entry parameter list failed; DARRSRV1 must be zero.
X'0C' X'04' X'00' X'0E' Validation of branch entry parameter list failed; DARRSRV2 must be zero.
X'0C' X'04' X'00' X'0F' Validation of branch entry parameter list failed; DARRSRV3 must be zero.
X'0C' X'04' X'00' X'10' Validation of branch entry parameter list failed; DARRSRV4 must be zero.
X'0C' X'04' X'00' X'11' Validation of branch entry parameter list failed; DARRSRV5 must be zero.
X'0C' X'04' X'00' X'12' Validation of branch entry parameter list failed; DARRPKEY field is not valid for updating fields in caller's DAREN.
X'0C' X'04' X'00' X'3D' Validation of branch entry parameter list failed; DARRSRV6 must be zero.
X'0C' X'04' X'00' X'3F' Validation of branch entry parameter list failed; UCBID of the passed UCB is not valid.
X'0C' X'04' X'00' X'40' Validation of branch entry parameter list failed.
X'0C' X'05' X'00' X'04' Verification of volume list (DAVLL) failed; count of volumes in the volume list is zero.
X'0C' X'05' X'00' X'13' Validation of volume list (DAVLL) failed; invalid DAVLLID field.
X'0C' X'05' X'00' X'14' Validation of volume list (DAVLL) failed; invalid DAVLVER field.
X'0C' X'05' X'00' X'15' Validation of volume list (DAVLL) failed; invalid DAVLLEN field.
X'0C' X'05' X'00' X'16' Validation of volume list (DAVLL) failed; DAVSKRSV must be zero.
X'0C' X'05' X'00' X'17' Validation of volume list (DAVLL) failed; DAVRSRV1 must be zero.
X'0C' X'05' X'00' X'18' Validation of volume list (DAVLL) failed; DAVRSRV2 must be zero.
X'0C' X'05' X'00' X'19' Validation of volume list (DAVLL) failed; DAVLKEY value is invalid for updating fields in caller's DAVLL.
X'0C' X'05' X'00' X'40' Validation of volume list (DAVLL) failed; device type in the volume list entry or in passed UCB indicates that the device is not DASD.
X'0C' X'21' UCBCAPTRC UCBCAPTRS IOSCAPU failed when attempting to capture the UCB passed by the caller
X'10' X'01' X'00' X'01' Validation of DADSM RENAME parameter list failed; address of the parameter list is zero.
X'10' X'01' X'00' X'02' Validation of DADSM RENAME parameter list failed; address of the old or new data set names is zero or the address of the volume list is zero.
X'10' X'04' X'00' X'04' Validation of branch entry parameter list failed; count of volumes in the volume list is zero.
X'10' X'04' X'00' X'06' Validation of branch entry parameter list failed; invalid DARPLID field.
X'10' X'04' X'00' X'07' Validation of branch entry parameter list failed; invalid DARPVER field.
X'10' X'04' X'00' X'08' Validation of branch entry parameter list failed; invalid DARPLEN field.

Table 3 describes abbreviations for DADSM RENAME diagnostic information.

Table 3. Abbreviation Descriptions for DADSM RENAME Diagnostic Information (Register 0)
Abbreviation Description
BPRERET Return code from the IGGDARU2 RENAME preprocessing exit module. For a description of the return code, see z/OS DFSMS Installation Exits.
CHSTAT Channel status from I/O. For a description of the status, see z/OS DFSMSdfp Advanced Services.
CVRET Return code from CVAF function. For a description of the return code, see z/OS DFSMSdfp Advanced Services.
CVSTAT CVSTAT field of CVAF parameter list. For a description of the field, see CVSTAT field codes.
ECBCC ECB completion code. For a description of the completion code, see z/OS DFSMSdfp Advanced Services.
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, such as IGGPRE00, associated with the IGGPRE00_EXIT preprocessing dynamic exit. 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 the appropriate hardware manual.
SYSCDE1,2 System completion code (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 (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.