Post
by karentina » Mon Dec 05, 2011 1:11 pm
Hi,
I got an exact solution to my problem. I used this code but I didn't understand how did the return code set up to 0 if the record is full. Here is the code. I want if possible to have RC = 4 if record is full, then RC= 0 if not. Thanks!
Code:
//* filtering on specifi value
//*
//HASERR1 EXEC PGM=SORT
//SORTIN DD DSN=&&MyDataset,DISP=SHR
//SHOWERR DD DSN=&&TEMP,DISP=(,PASS),
// SPACE=(CYL,(1,1))
//SYSOUT DD SYSOUT=*
//SYSIN DD *
SORT FIELDS=COPY
INCLUDE COND=(18,5,ZD,GT,0)
OUTFIL FNAMES=SHOWERR
/*
//* raise an error if showerr is full
//*
//HASERR2 EXEC PGM=IDCAMS
//IN1 DD DSN=*.HASERR1.SHOWERR,DISP=(OLD,DELETE)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
PRINT INFILE(IN1) COUNT(1)
/*
//* RC: 0 full
//* RC: 4 empty
//*
// IF (HASERR2.RC = 0) THEN
//ABEND EXEC PGM=IEFBR15
// ENDIF
//*------------------------------------------