Problem:
VOL=REF acting differently than on the mainframe.
1. Submit a job with a the following DD statements
//TAPE1 DD DUMMY,
118 // DISP= (NEW,KEEP,KEEP),
119 // UNIT=(TAPE,,DEFER),
120 // DATACLAS=CART,
121 // LABEL=(1,NL),
122 // VOL=(PRIVATE,RETAIN),
123 // DCB=(RECFM=FB,LRECL=080,BLKSIZE=32720)
124 //*
125 //TAPE2 DD DSN=TAPE2,
126 // DISP=(NEW,KEEP,KEEP),
127 // UNIT=AFF=TAPE1,
128 // LABEL=(2,NL),
129 // VOL=REF=*.TAPE1,
130 // DCB=(RECFM=FB,LRECL=080,BLKSIZE=32720)
131 //*
If you did this on the mainframe they would all become DUMMY, on microfocus this does not happen and if the job is run a second time, or in this case if the next step also has the TAPE1-TAPE5 dd statements, you ABEND with duplicate datasets
Resolution:
Create each dataset separately to accomplish the goal of dummy out 2 or more datasets.
1) You cannot process tapes on a PC nor can you stack files onto each other.
2) VOL=REF= is used for referring back to a tape and placing the new file stacked onto the first file.
3) If environment variable MF_UCC11 is set than no duplicates will occur (S422).
This happened here because it is turned off so MF thought the first step
was a file because we don’t recognize tapes and it created the first step as a file.
The second step tried to create it again hence getting the S422 Duplicate message.
#Vol=ref
#TapeHandling
#Enterprise
#COBOL
#EnterpriseDeveloper
#Referbacks
#MFDS