Scratch tapes are listed in the TMSGRW report although they should have been rejected
using the following Control statements to list all non scratch tapes with volumes starting with a V.
//TMSGRW.SYSIN DD *
CONTROL-SECTION
TITLE 'NON SCRATCH TAPES V VOLSERS'
ALTER DSNB=YES
DEFINE SCRTCH HX '04'
DEFINE VOLPREF CH 'V'
PROCESS-SECTION
WHEN FLAG1 ON SCRTCH
REJECT
WHEN VOLPREF EQ VOLSER
LIST
REPORT-SECTION
PRINT VOLSER
PRINT VOLSEQ
PRINT DSN
PRINT NUMDSNB
PRINT FLAG1
/*
In the TMSGRW report scratch volumes appear with NUMDSNB > 1.
What is the reason for that?
Release :
Component : CA 1 Tape Management
TMSGRW correctly rejected scratch tapes. However, the TMC had chaining errors with used DSNBs still referring to scratch volumes, which show up
in the TMSGRW report with NUMDSNB > 1. These "orphaned" used DSNBs were listed in the TMSGRW report because of ALTER DSNB=YES.
The related chaining erros are ERR31 and ERR36:
ERR31 VOL xxxxxx POINTS TO DSNB xxxxxx NOT TO yyyyyy
ERR36 DSNB xxxxxx IS NOT IN CHAIN FOR VOL xxxxxx
In case DSNBs are not required for the Report run TMSGRW with ALTER DSNB=NO as a workaround.
Fix the pointer errors as described in the CA 1 documentation:
ERR31 VOL xxxxxx POINTS TO DSNB xxxxxx NOT TO yyyyyy
Reason:
This is a multi-data set chaining error. The volume indicated has a chain of DSNBs or no associated DSNBs, but a DSNB not part of the chain is referencing the volume in VOLSER.
Action:
The DSNB should be cleared and returned to the free chain with TMSAGGR or the VOLSER field set to the proper VOLSER.
ERR36 DSNB xxxxxx IS NOT IN CHAIN FOR VOL xxxxxx
Reason:
This is a multi-data set chaining error. The volume indicated has one or more DSNBs that refer to a DSNB that does not reflect the indicated volume in the VOLSER field.
Action:
Update the invalid DSNB with the correct information or set the NEXT value in the DSNB referencing the DSNB not in the chain to HEXZEROS. Return the invalid DSNB to the free chain with TMSAGGR.