JCL中SORT的应⽤
JCL code
***************************** Top of Data ******************************
//SORTTEST JOB 'DDS1602',MSGCLASS=S,TIME=1440,NOTIFY=&SYSUID
//STEP01 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*,OUTLIM=5000
//SYSPRINT DD SYSOUT=*,OUTLIM=5000
//SYSTSPRT DD SYSOUT=*,OUTLIM=5000
//SYSUDUMP DD DUMMY
//PLIDUMP DD DUMMY
//SORTWK01 DD UNIT=SYSDA,SPACE=(TRK,(30),,CONTIG)
//SORTWK02 DD UNIT=(SYSDA,SEP=SORTWK01),SPACE=(TRK,(30),,CONTIG)
//SORTWK03 DD UNIT=(SYSDA,SEP=(SORTWK01,SORTWK02)),
// SPACE=(TRK,(30),,CONTIG)
//SORTIN DD DSN=DDS1602.XUWEN.DATA,DISP=SHR
//SORTOUT DD DSN=DDS1602.XUWEN.DATAOUT,DISP=(MOD,CATLG,DELETE),
// UNIT=SYSDA,SPACE=(TRK,(2,1),RLSE),
// DCB=(RECFM=FB,LRECL=23,DSORG=PS)
//SYSIN DD *
SORT FIELDS=(10,10,CH,A),SKIPREC=1
OMIT COND=(24,1,CH,EQ,C'F')
SUM FIELDS=(20,04,ZD)
OUTREC FIELDS=(10,10,20,4,C'END')
/*
//*SKIPREC=1 SKIP THE TOP 1 RECORD
//*STOPAFT=1 JUST SELECT THE TOP 1 RECORD
//*OMIT COND=(X,X,PD,LT,0) OMIT THE RECORD WHICH SATISFY THE CONDITION //*
**************************** Bottom of Data ****************************
输⼊数据:
----+----1----+----2----+----3----+
Number---Name------Qty-Flag
Number1 Xuwen 1000S
Number2 Tony Lv 2000S
Number3 Hanbao Liu3000F
Number4 Xuwen 0111S
Number5 Tony Lv 0222F
Number6 Hanbao Liu0333S
输出:
----+----1----+----2---
Hanbao Liu0333END
Tony Lv 2000END
Xuwen 1111END
作业控制语句:
JOB: 指定作业参数
EXEC: 指定作业步参数
SYSOUT DD: 定义输出信息的顺序数据集
SORTIN DD: 定义输⼊数据集
WORTWKdd DD: 定义⼀系列的排序⼯作数据集
SORTOUT DD: 定义排序完的数据的输出数据集
SYSIN DD: 定义控制信息
控制选项:
SORT: 指定对数据集进⾏排序操作
MERGE: 指定对数据集进⾏合并操作
COPY: 指定对数据集进⾏拷贝操作
FIELDS: 指定排序键值的信息,格式为
FIELDS=(起始位置,长度,升降序[,起始位置,长度,升降序]),FORMAT=数据类型
(起始位置,长度,数据格式,升降序[,起始位置,长度,数据格式,升降序])
sort out 造句 其中位置和长度都是以字节为单位,顺序可选的有 A:升序,D:降序,E:适⽤⽤户出⼝例程序;
FORMAT=指定键字的类型,可选项有 CH:字符,PD:压缩⼗进制,BI:⼆进制,AC:ASCII码型
说明:
000012 SORT FIELDS=(1,7,CH,A) 从1位到第7位升序排列,降序是D
000013 OMIT COND=(11,1,CH,EQ,C'A',OR,11,1,CH,EQ,C'B') OMIT忽略掉11位是'A'和'B'的记录
000014 OUTREC FIELDS=(1,9,C' ',11,6,C' END') 重新组合新得输出数据,取1到9位,第10位替换为space,再取11位到16位,17位开始⽤' END'替换
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论