DSE 大型机实用指南系列第一弹 JCL Handbook
欢迎下载与点评DSE101 JCL Handbook (157)
[JCL Return Code]返回码SE37
今天干活,跑一条JCL,遇到了一个SE37的返回码。觉得这个返回码大家应该经常能遇到,所以就拿到这里来跟大家share一下。
问题描述:
出现问题的step那部分JCL功能很简单,就是把一个PDS中的member复制到另一个PDS中去。所以就不附加JCL了。我执行JCL之后,系统给的提示是:
12.50.28 JOB00348 -JOB Name STEP2 *SE37 71 .00 .00 .0 7095 1 0 0 0 0
在JOB LOG中,除了这个信息外,没有其他的信息。于是在IBM Library中查找返回码的信息,得到的结果是:
E37
Explanation: The error occurred when an output operation was requested. The data set was on a direct access or magnetic tape device. This system completion code is accompanied by message IEC032I. Refer to the explanation of message IEC032I for complete information about the task that was ended and for an explanation of the return code (rc in the message text) in register 15.
根据上面的解释,问题是输出文件用的PDS空间不够所导致的。
问题解决:
可以考虑重新建立一个空间更大的PDS,但是更简单的方式是对现有的PDS进行压缩。具体操作在ISPF 3.4中,如下图所示:
选择compress。压缩后,再次执行JCL,操作正常。
[JCL]JCL的续行问题
今天在JCL的续行问题上犯了一个小错误,在这share一下JCL中的续行问题。
JCL只允许在参数区和说明区有续行,当需要续行时,在当前行的第71列前必须将某个参数或某个子参数以及参数后的逗号写完整,且下一行第1、2列为“//”,第3列为空格,续行的内容只能从4~16列开始,如从16列后开始,将被认为是注释语句。下面是一个续行的例子:
//DATA DD DSN=SYS1.PARMLIB,
// DISP=OLD
[TSO Command]使用TSO显示Data Set的信息
这里跟大家share一下如何用TSO命令来显示Data Set的信息。
语法: listc ‘Data Set Name’ (注:其中Data Set Name是要显示信息的数据集)
实例演示:
listd ‘wolfg.intro.cntl’
WOLFG.INTRO.CNTL
–RECFM-LRECL-BLKSIZE-DSORG
FB 80 3120 PO
–VOLUMES–
TSO001
READY
[TSO Command] 如何使用TSO命令列出Data Set中的所有Member
查看数据集中的member相对来说,比较简单,使用TSO/ISPF中的3.4即可列出其中的member,但是当一个Data Set中member数非常多,并且我们想对这些member进行操作的时候,就不能使用这种手工的方式了。在这里,跟大家share一个TSO的命令: listd
listd的语法: listd ‘Data Set Name’ members (注:其中Data Set Name是你要显示member的那个Data Set)
下面,具一个实例跟大家分享一个这个命令:
JCL程序如下所示:
//LISTMEM JOB ,’RAYMOND’,CLASS=A,MSGCLASS=H,
// NOTIFY=&SYSUID,MSGLEVEL=(1,1)
//* LIST MEMBERS OF DATA SET
//LISTMEM1 EXEC PGM=IKJEFT01,REGION=4096K
//SYSTSPRT DD SYSOUT=*
//SYSUADS DD DSN=SYS1.UADS,DISP=SHR
//SYSLBC DD DSN=SYS1.BRODCAST,DISP=SHR
//SYSTSIN DD *
LISTD ‘A.B.C’ MEMBERS
/*
//
这样就会对应列出Data Set (A.B.C)中的所有member 了。



