最近接触的项目,用的SORT的地方较多,准备写几篇sort的:
//STEP001 EXEC PGM=SYNCSORT,REGION=4096K
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SORTIN DD DSN=SORTIN,DISP=SHR
//SORTOUT DD DSN=&&SORTOUT,DISP=(NEW,PASS),
// DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=0),
// UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE)
//SYSIN DD *
SORT FIELDS=COPY
INCLUDE COND=(5,1,CH,EQ,C'B')
OUTFIL VTOF,
BUILD=(6,15,JFY=(SHIFT=LEFT),12,4,41,3,100,20,120,2,36C' ')
/*
SORTIN
是LRECL=4000
的VB格式,SORTOUT
是LRECL=80
的FB格式。Sort条件是第1位为'B'。输出格式:对于SORTIN中所有符合第1位为'B'的那些record,分别取其第2位开始的15位(左对齐),8开始的4位,37开始的3位,96开始的20位,118开始的2位。再加上36个末尾空格,组装成80长度的输出。
Comments !