yupp.. I got the mechanism behind picking the optimum blocksize. Recently I was working on one JCL and found one discrepancy while defining for BLKSIZE=0. I was posting my query under same topic.
The problem is while creating the dataset in one step and checking the same dataset for empty in next step. The job is abending with S013 abend in second step. It was showing return code as 34.
I create the dataset using below PARM:
//STEP1 EXEC PGM=xxxx
.
.
//DD1 DSN=TSLCLIIM.XXXX.YYYY,
// DISP=(NEW,CATLG,DELETE),
// UNIT=PERM,
// SPACE=(TRK,(1,6),RLSE),
// DCB=(RECFM=FB,LRECL=94,BLKSIZE=0)
//*
.
.
//STEP2 EXEC PGM=ALCOND,PARM='INPUT'
//INPUT DSN=TSLCLIIM.XXXX.YYYY,DISP=SHR
//OUTPUT DUMMY,DCB=BLKSIZE=80,
//XCONSOLE SYSOUT=*
//*
The above step has different return codes for the file if it is empty or not. The above empty check step is the standard one used in our system mostly.
I was expecting the system will pick the optimum block size for this dataset. when I browse the above dataset. it was showing invalid block size. when I see the info of the dataset, it was showing block size as 0. I don't think so it is a correct block size. it should have some non zero value.
Can you please look into the above definition and let me know if something is wrong in the above definition. What could be the cause of error?
Thanks in advance.