The obsolete DSNINDEX records with Archive Key M00001 or B00001by can be deleted via the IXUPDATE utility.
The delete statements can be generated by following sample JCL:
//*------------------------------------------------------------------
//DEL EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE ABC.LISTD1.REPORT
DELETE ABC.LISTD1.M00001.ENTRIES
DELETE ABC.LISTD1.IXUPDATE.DEL.CMDS
//*-------------------------------------------------------------------
//STEP01 EXEC LISTD
//FILES DD DISP=SHR,DSNAME=CAI.DISK.HSMMIG.FILES
//SYSPRINT DD DSN=ABC.LISTD1.REPORT,
// DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(5,1),RLSE),
// DCB=(RECFM=FB,LRECL=133,BLKSIZE=0)
//SYSIN DD *
LISTD VOL=(B00001,M00001),
FIELDS=(DSNAM,ARCDT,ATIME,FLAG1,VERS)
//*-------------------------------------------------------------------
//STEP02 EXEC PGM=SORT,REGION=5M
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=ABC.LISTD1.REPORT
//SORTOUT DD DSN=ABC.LISTD1.M00001.ENTRIES,
// DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(5,1),RLSE),
// DCB=(RECFM=FB,LRECL=133,BLKSIZE=0)
//SYSIN DD *
SORT FIELDS=(2,44,CH,A,47,8,CH,D,56,4,CH,D)
INCLUDE COND=(51,1,CH,EQ,C'.')
//*-------------------------------------------------------------------
//STEP03 EXEC PGM=SORT,REGION=5M
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=ABC.LISTD1.M00001.ENTRIES
//SORTOUT DD DSN=ABC.LISTD1.IXUPDATE.DEL.CMDS,
// DISP=(NEW,CATLG),UNIT=SYSDA,
// SPACE=(CYL,(5,1),RLSE),
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000)
//SYSIN DD *
SORT FIELDS=COPY
* BUILD THE IXUPDATE DELETE TIMEDATE=HHMMYYYYDDD,DSN=DSNAME COMMAND
OUTREC FIELDS=(C' DEL TIM=',56,4,47,4,52,3,C',DSN=',2,44,80:X)
//*-------------------------------------------------------------------Please modify the high level qualifier ABC as you need and run that attached sample JCL.
The delete statements are generated by this job in STEP03 into the data set ABC.LISTD1.IXUPDATE.DEL.CMDS
Then copy the delete statements (some at first) from ABC.LISTD1.IXUPDATE.DEL.CMDS and use them as SYSIN for following IXUPDATE:
//STEP01 EXEC IXUPDATE
//FILES DD DISP=SHR,DSNAME=CAI.DISK.HSMMIG.FILES
//SYSIN DD *
...
/*
After the IXUPDATE DELETE, you can double-check the result again with a LISTD VOL=(B00001,M00001).
It should no longer show the obsolete entries.