【发布时间】:2015-12-10 01:53:46
【问题描述】:
我正在尝试破解 JCL 并想知道出了什么问题。
这是我的代码:
000001 //SORTJCL JOB
000002 //SORTSTEP EXEC PGM=SORT
000003 //SYSOUT DD SYSOUT=*
000004 //SORTOUT DD SYSOUT=*
000005 //SORTWK01 DD SPACE=(CYL,(1,1))
000006 //SORTIN DD DISP=SHR,DSN=Y2015.PUBLIC.DATA(AREACODE)
000007 //SYSIN DD *
000008 SORT FIELDS=(6,10,CH,A)
000009 // IF RC = 0 THEN
000010 //COPYSTEP EXEC PGM=ICEGENER
000011 //SYSUT1 DD DISP=SHR,DSN=Y2015.PUBLIC.DATA($005)
000012 //SYSUT2 DD DISP=SHR,DSN=&SYSUID..P2.OUTPUT($005)
000013 //SYSOUT DD SYSOUT=*
000014 //SYSPRINT DD SYSOUT=*
000015 //SYSIN DD DUMMY
000016 // ELSE
000017 // ENDIF
这段代码的目的——读取和排序Y2015.PUBLIC.DATA(AREACODE)并将输出复制并写入MYID.P2.OUTPUT($005)
谁能向我解释我错过了什么?
【问题讨论】:
-
哇,我看到 JCL 已经 30 年了。你能描述一下它现在做了什么吗? (换句话说,它以什么方式没有产生您期望的输出?)
-
您正在排序到 SYSOUT(假脱机),然后将完全不同的数据集复制(使用 ICEGENER)到您的预期输出。只需将 SORTOUT DD 更改为您需要的数据集
DISP=SHR,DSN=&SYSUID..P2.OUTPUT($005)并删除整个 ICEGENER 步骤。