I am facing an issue when trying to spllit the input file into different files (say 5 files) based on number of records from input file.
I used ICETOOL to do this, but when my input records are lower than 5(ie lower than outpur files) my job is getting abending with RC 16, If anyone aware of this, pls share your ideas to fix this issue. Thanks.
Code: Select all
//PSTY0025 EXEC PGM=ICETOOL,
//IN DD DSN=input file,
// DISP=(SHR,KEEP,KEEP)
//T1 DD DSN=&&T1,
// DISP=(NEW,PASS,DELETE),
// DATACLAS=LARGE
//C1 DD DSN=&&C1,
// DISP=(NEW,PASS,DELETE),
// DATACLAS=LARGE
//OUT1 DD DSN=output file 1,
// DISP=(NEW,CATLG,DELETE),
// DATACLAS=LARGE
//OUT2 DD DSN=output file 2,
// DISP=(NEW,CATLG,DELETE),
// DATACLAS=LARGE
//OUT3 DD DSN=output file 3,
// DISP=(NEW,CATLG,DELETE),
// DATACLAS=LARGE
//OUT4 DD DSN=output file 4,
// DISP=(NEW,CATLG,DELETE),
// DATACLAS=LARGE
//OUT5 DD DSN=output file 5,
// DISP=(NEW,CATLG,DELETE),
// DATACLAS=LARGE
//TOOLIN DD *
COPY FROM(IN) USING(CTL1)
COPY FROM(T1) TO(C1) USING(CTL2)
COPY FROM(IN) USING(CTL3)
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//CTL1CNTL DD *
OUTFIL FNAMES=T1,REMOVECC,NODETAIL,
TRAILER1=(COUNT=(M11,LENGTH=8))
//CTL2CNTL DD *
OPTION VLSHRT
OUTFIL FNAMES=C1,VTOF,
BUILD=(2X,C'SPLIT1R=',
5,8,ZD,DIV,+5,
TO=ZD,LENGTH=8,80:X)
//CTL3CNTL DD *
OUTFIL FNAMES=(OUT1,OUT2,OUT3,OUT4,OUT5),
// DD DSN=*.C1,VOL=REF=*.C1,DISP=(OLD,CATLG,CATLG)
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*