作业控制语句:
JOB: 指定作业参数
EXEC: 指定作业步参数
SYSOUT DD: 定义输出信息的顺序数据集
SORTIN DD: 定义输入数据集
WORTWKdd DD:
定义一系列的排序工作数据集
SORTOUT DD:
定义排序完的数据的输出数据集
SYSIN DD:
定义控制信息
控制选项:
SORT: 指定对数据集进行排序操作
MERGE: 指定对数据集进行合并操作
COPY: 指定对数据集进行拷贝操作
FIELDS: 指定排序键值的信息,格式为
FIELDS=(起始位置,长度,升降序[,起始位置,长度,升降序]),FORMAT=数据类型
(起始位置,长度,数据格式,升降序[,起始位置,长度,数据格式,升降序])
其中位置和长度都是以字节为单位,顺序可选的有
A:升序,D:降序,E:适用用户出口例程序;
FORMAT=指定键字的类型,可选项有
CH:字符,PD:压缩十进制,BI:二进制,AC:ASCII码型
****** ***************************** Top of Data
******************************
000001 //JOBCARD
000004 //SORT EXEC
PGM=SORT
000005 //SORTIN DD
DSN=your.dataset.TESTFA,DISP=SHR
000006 // DD
DSN=your.dataset.TESTFB,DISP=SHR
000007 //SORTOUT DD
DSN=your.dataset.TESTFC,DISP=SHR
000008 //SORTWK01 DD
UNIT=SYSDA,SPACE=(CYL,(5,5))
000009 //SORTWK02 DD
UNIT=SYSDA,SPACE=(CYL,(5,5))
000010 //SYSOUT DD
SYSOUT=*
000011 //SYSIN DD *
000012 SORT
FIELDS=(1,7,CH,A)
000013 OMIT
COND=(11,1,CH,EQ,C'A',OR,11,1,CH,EQ,C'B')
000014
OUTREC FIELDS=(1,9,C' ',11,6,C' END')
000015
/*
******
**************************** Bottom of Data
****************************
说明:
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'替换
INPUT:
your.dataset.TESTFA
****** ***************************** Top of Data
******************************
000001 EEEEEEEEE 860520
000002 AAAAAAAAA 981110
000003 CCCCCCCCC 081010
000004 BBBBBBBBB 961110
000005 DDDDDDDDD 020202
000006 FFFFDDDDD 001111
******
**************************** Bottom of Data
****************************
your.dataset.TESTFB
****** ***************************** Top of Data
******************************
000001 MAAAAAAAA AAAAAAAAA AAAAAAAAA
AAAAAAAAAA
000002 UBBBBBBBB ABBBBBBBB
BBBBBBBBB BBBBBBBBBB
000003 SDCCCCCCC
BCCCCCCCC CCCCCCCCC CCCCCCCCCC
000004
EDDDDDDDD ADDDDDDDD DDDDDDDDD DDDDDDDDDD
000005 ZEEEEEEEE EEEEEEEEE EEEEEEEEE EEEEEEEEEE
000006 BFFFFFFFF FFFFFFFFF FFFFFFFFF FFFFFFFFFF
****** **************************** Bottom of Data
****************************
结果:
****** ***************************** Top of Data
******************************
000001 AAAAAAAAA 981110 END
000002 BBBBBBBBB 961110 END
000003 BFFFFFFFF FFFFFF END
000004 CCCCCCCCC 081010 END
000005 DDDDDDDDD 020202 END
000006 EEEEEEEEE 860520 END
000007 FFFFDDDDD 001111 END
000008 ZEEEEEEEE EEEEEE END
****** **************************** Bottom of
Data ****************************