//PS0010 EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=XXXXXXXX.P.FTPDCB.DATA(0),DISP=SHR
//SYSUT2 DD DSN=XXXXXXXX.P.TAPE.DATASET.DATA(+1),
// DISP=(,CATLG,DELETE),UNIT=CART,
// LABEL=(01,SL,,,EX{DT=990000),
// DATACLAS=GDG,RECFM=FB
This is a generic procedure that is used to extract about 75 files from the same SYSUT1 file.
After years of executing beautifully, it gave the following error last night:
S013,20
An OPEN macro instruction was issued for a sequential data set using
queued access. BLKSIZE is not a multiple of LRECL, or LRECL is 0 with
RECFM=FB or RECFM=FBS, or BLKSIZE is not at least four bytes greater than
LRECL with RECFM=V.
The only thing I could do to get the job to run was to create a duplicate JCL with each file as its own step (tedious, to day the least) and add an "LRECL=" to each and every step. Of course, every extracted file has its own length. And even then, I had to add the BLKSIZE parameter to the last file to get it to extract.
Why would this suddenly change? Do I need to change the JCL so that each and every extraction file has all this information specified?