View previous topic :: View next topic
Author
Message
Joel New User Joined: 07 Feb 2006Posts: 11
Can the following 2 DFSORT steps be combined into 1 for more efficiency and elegance ? OPTION VLSHRT always seems to require 2 passes to extract and sort.
//JOBS EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=SHR,DSN=TTDX.MINILOG.MDBD0186
//SORTOUT DD DISP=(,PASS),SPACE=(CYL,1100),DSN=&&L
OPTION VLSHRT
SORT FIELDS=COPY
INCLUDE COND=(62,8,CH,EQ,C'$HASP373')
//JOBS EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DISP=(SHR,DELETE),DSN=&&L
//SORTOUT DD DISP=SHR,DSN=TTD.JOBS.MDBD0186
SORT FIELDS=(43,3,CH,A,70,9,CH,A)
OUTREC FIELDS=(1,4,43,3,70,9)
SUM FIELDS=NONE
Back to top
Frank Yaeger DFSORT Developer Joined: 15 Feb 2005Posts: 7129 Location: San Jose, CA
I believe these control statements would do it:
Code:
OPTION VLSHRT
INCLUDE COND=(62,8,CH,EQ,C'$HASP373')
SORT FIELDS=(43,3,CH,A,70,9,CH,A)
SUM FIELDS=NONE
OUTFIL OUTREC=(1,4,43,3,70,9),VLFILL=C' '
You need to use OUTFIL OUTREC instead of an OUTREC statement to allow VLSHRT to be used and you need to use VLFILL to pad a "short" OUTREC field.
Back to top
Please enable JavaScript!