我是IBM Mainframe的新手,需要对一些数据进行排序(由我的讲师提供),并将输出写入以前创建的顺序数据集。
//RUN1 EXEC NEWDS,MLQ=CW,LLQ=DATA1,
// QTY=TRK,PRI=100,SEC=50,
// TYPE=BASIC,
// RECSIZE=80,FM='FB,DSORG=PS'
上面的JCL分配了一个新的PS数据集,现在我需要将SORT的输出写入Data1 下面的JCL是我目前为此过程编写的代码
//MYJCL2 JOB 1,NOTIFY=&SYSUID
//SORT EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&SYSUID..LABS.JCL(AREACODE),DISP=SHR
//SORTOUT DD DSN=&SYSUID..CW.DATA1(AREACODE),DISP=SHR
SORT FIELDS=(5,17,CH,D)
答案 0 :(得分:2)
//MYJCL2 JOB 1,NOTIFY=&SYSUID
//SORT EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&SYSUID..LABS.JCL(AREACODE),DISP=SHR
//SORTOUT DD DSN=&SYSUID..CW.DATA1,DISP=OLD
SORT FIELDS=(5,17,CH,D)
您的问题是您在输出数据集上指定了成员名(AREACODE)
,但它只是一个简单的顺序文件,只有PDS(分区数据集)或PDSE(扩展相同)可以有会员。删除它,以便系统不再混淆您是使用PS还是PDS / PDSE。
我已将输出数据集上的DISP = SHR更改为DISP = OLD。这样可以防止您在同时更新文件时损坏文件。使用DISP = OLD时,它一次只能在一个地方打开。