首页 > 解决方案 > 如何在 spool 中找到 SYSOUT?

问题描述

提交此作业后,我无法在 spool 中找到 SYSOUT。

JCL 如下:

//IBMUSERP JOB NOTIFY=&SYSUID
//STEP2 EXEC PGM=PERFORM1
//STEPLIB DD DSN=IBMUSER.RKSH.LOAD,DISP=SHR 
//SYSPRINT DD SYSOUT=*              
//SYSOUT DD SYSOUT=*                        
//SYSIN DD *
/*                                       
//

标签: coboljclspool

解决方案


我将提供一些一般性指导,因为您的问题将得到“视情况而定”的答案。

由于您使用 IBMUSER 作为数据集前缀,因此看起来您最有可能在 ZD&T 系统上。

我使用一个IDCAMS实用程序进行测试,因为我知道它会产生输出。我会先试试这个以验证您的系统是否正常工作。

//DEFCAT1 JOB (ACCT),NOTIFY=&SYSUID.,REGION=0M        
//STEP1    EXEC   PGM=IDCAMS                          
//SYSPRINT DD     SYSOUT=*                            
//SYSIN    DD     *                                   
     LISTC ENT(IBMUSER)                               
/*                                                    

如果上述方法有效并且您可以找到输出,则您的程序PERFORM1可能无法正常工作并且没有生成任何输出。也许您可以提供一个最低限度的工作样本,以确保您的程序正常工作。

提交类似的工作,但使用JOB带有 a 的卡MSGCLASS=H(这是我一直在使用的默认值)工作正常,输出出现在 SDSF 中。确保您的prefix设置正确并使用通配符。就像PRE IBMUSER*你的例子一样。

输出的去向取决于 JES 在您的系统上的设置方式。您的JOB卡没有MSGCLASS但 usesSYSOUT=*表示使用作业的默认值MSGCLASS。这是在您的JESPARM陈述中定义的

检查您的系统日志以确保您的输出没有被“打印”到设备上。

使用以下命令:

LOG查看系统日志
ST查看作业状态
H查找没有目的地
O的保留输出 查找准备打印但正在等待设备的输出。


推荐阅读