How about fixing your blocking to a more efficient blocksize? For a 3390, the tracksize?is 56,664 bytes per track, 15 tracks?per cylinder, and the optimal blocking is half-track. However, there is some overhead, so the max optimal usage on a 3390 track is (27998 * 2) = 55996.
27,998 / 80 = 349 records per half-track 349 * 80 = 27920 blocksize
At a blocksize of 8,000 bytes, you can only fit 3 blocks on a half-track, or 6 blocks on a track, so, you waste about 8K per track! (55,996 - 48,000 = 7996)
At a blocksize of 27920, you fit 2 blocks per track, with a waste of ?156 bytes per track! (55,996 - 55,840 = 156) - much more efficient
So, change
//SEQOUT DD UNIT=WORK,DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000),? // DSN=&&SORTTEMP,DISP=(,PASS),SPACE=(CYL,(500,100),RLSE) ??
to
//SEQOUT DD UNIT=WORK,DCB=(LRECL=80,RECFM=FB,BLKSIZE= 27920),? // DSN=&&SORTTEMP,DISP=(,PASS),SPACE=(CYL,(500,100),RLSE) ??
Not only will your job run faster, but the disk space will be better utilized and reduce waste.
Joe
toggle quoted message
Show quoted text
Here's the actual job.? If I change SEQOUT to UNIT=(3390,59) the JCL
fails.
//HERC01S JOB (MYNAME),'TEST SORT',? ? ? ? ? ? ? ? ? ? ? ?
// CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)? ? ? ? ? ? ? ? ? ? ? ?
//GENERATE EXEC PGM=IEBDG? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SYSPRINT DD SYSOUT=X? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SEQOUT DD UNIT=WORK,DCB=(LRECL=80,RECFM=FB,BLKSIZE=8000),
// DSN=&&SORTTEMP,DISP=(,PASS),SPACE=(CYL,(500,100),RLSE)? ?
//SYSIN DD DATA? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?DSD OUTPUT=(SEQOUT) ,,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?FD NAME=F1,LENGTH=2,STARTLOC=1,FORMAT=RA? ? ? ? ? ? ? ? ? ?
?FD NAME=F2,LENGTH=4,STARTLOC=3,FORMAT=RA? ? ? ? ? ? ? ? ? ?
?FD NAME=F3,LENGTH=4,STARTLOC=7,FORMAT=RA? ? ? ? ? ? ? ? ? ?
?FD NAME=F4,LENGTH=10,STARTLOC=11,FORMAT=ZD,INDEX=1? ? ? ? ?
?FD NAME=F5,LENGTH=60,STARTLOC=21? ? ? ? ? ? ? ? ? ? ? ? ? ?
?CREATE QUANTITY=10000000,NAME=(F1,F2,F3,F4,F5)? ? ? ? ? ? ?
?END? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
/*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SORT EXEC PGM=SORT,REGION=1024K,PARM='MSG=AP'? ? ? ? ? ? ?
//SORTIN DD DSN=&&SORTTEMP,DISP=(OLD,DELETE)? ? ? ? ? ? ? ?
//SYSOUT DD SYSOUT=X? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SYSUDUMP DD SYSOUT=X? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SYSPRINT DD SYSOUT=X? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//SORTLIB? DD DSNAME=SYS1.SORTLIB,DISP=SHR? ? ? ? ? ? ? ? ?
//SORTOUT? DD DUMMY,DCB=(BLKSIZE=80,RECFM=F)? ? ? ? ? ? ? ?
//SYSIN DD *? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?SORT? ?FIELDS=(1,10,CH,A)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?RECORD TYPE=F,LENGTH=(80)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?END? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
/*? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
//? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
|