//BJCL1804 JOB 1,NOTIFY=&SYSUID
//SORT01 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTIN DD DISP,SHR,DSN=ZOS.PUBLIC.DATA(ASCII)
//SORTOUT DD SYSOUT=*
//SYSIN DD SYSIN=*
//SORT DD =(1,1,CH,A)
我正在尝试使用此JCL代码,当我使用SUB命令时,我总是收到错误。即使经过几个小时的尝试和尝试,我似乎无法解决这个错误。我查找了= SD的错误代码,我无法弄清楚如何解决问题。语法似乎是正确的。我只是不明白。有人可以帮我理解为什么会导致错误吗?
答案 0 :(得分:1)
你有两个错误:
//SORTIN DD DISP,SHR,DSN=ZOS.PUBLIC.DATA(ASCII)
这应该是" DISP = SHR",而不是" DISP,SHR"
//SYSIN DD SYSIN=*
//SORT DD =(1,1,CH,A)
这应该是:
//SYSIN DD SYSIN=*
SORT FIELDS=(1,1,CH,A)
SYSIN = *正在使用排序控制语句创建一个instream临时数据集。另外,我认为你需要像" SORT FIELDS =(1,1,CH,A)和#34;
答案 1 :(得分:0)
//SYSIN DD SYSIN=*
语法不正确。我相信你想要
//SYSIN DD *
和SORT控制语句不以//
开头,这是导致IEFC641I错误的原因。
文档是你的朋友。
答案 2 :(得分:0)
//BJCL1804 JOB 1,NOTIFY=&SYSUID
//SORT01 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SORTIN DD DISP,SHR,DSN=ZOS.PUBLIC.DATA(ASCII)
//SORTOUT DD SYSOUT=*
//SYSIN DD SYSIN=*
//SORT DD =(1,1,CH,A)
您的JOB
声明的格式应与您网站上其他开发者的格式相同。那个“1”,看起来错了,但是因为肯定肯定没有帮助,所以我不打算检查。 JCL参考会告诉您。
您不需要进行SORT步骤的SYSPRINT
和SYSUDUMP
,尽管您可能应该在自己的网站上使用它们,即使这些步骤毫无意义。
正如已经指出的那样,您的SYSIN DD
不正确。您不能只遵循不同类型的DD语句的格式,并希望最好。它应该是:
//SYSIND DD *
*
表示“数据流数据”而非命名数据集。
排序控制卡不以//
开头,并且至少以一个空格开头。
如果您尝试对文件进行排序,它将如下所示:
SORT FIELDS=(1,1,CH,A)