是否可以将JCL SYSOUT的内容转储到z / OS平面文件中?

时间:2019-02-27 13:54:00

标签: zos jcl

我想知道是否有可能将JCL SYSOUT的内容放入z / OS平面文件中;在同一个JCL步骤中,或者在以后在同一个JCL中执行的JCL步骤中。

注意……,我的意思不是相反。直接在z / OS文件中生成SYSOUT,然后在另一个JCL步骤中将其转储到SYSOUT中。

例如;在下面的JCL步骤中,我有兴趣在平面文件中获取SYSOUT = 2的内容。

有人可以阐明这个问题吗?。

非常感谢。

//WNMPRAD5 EXEC PGM=WNMPRAD5,COND=(4,LT)                     
//SYSPRINT DD SYSOUT=1                                       
//SYSDBOUT DD SYSOUT=1                                       
//ENTRADA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.UNLDBI,DISP=OLD
//SORTIDA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.OUTPUT.V02,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FB,LRECL=278),                      
//            SPACE=(27998,(2500,2500),RLSE)                 
//SYSOUT   DD SYSOUT=2                                       
//SYSIN    DD *                                              
N0100                                                        
/*                                                           

3 个答案:

答案 0 :(得分:3)

SYSOUT与任何其他DD都没有什么不同,但按惯例用于输出。您可以在创建文件的STEP中创建这样的DD:

//SYSOUT   DD DSN=MY.SYSOUT,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0),                      
//            SPACE=(27998,(2500,2500),RLSE)                 

DCB会有所不同,但是133(假设ASA字符)是常见的。无需其他步骤。

如果需要,可以在接下来的步骤中使用IEBGENER将磁盘复制到另一个SYSOUT,以将内容存储在JOB中。据我所知,在下一步中无法轻松获取SYSOUT并将其复制到磁盘。

答案 1 :(得分:2)

是的。您必须正确获得LRECL和RECFM,但是您可以将它们从源代码中获取到正在执行的程序中。大多数标准报告是133和FB或132和FBA。我似乎记得IDCAMS是121和VBA。

//WNMPRAD5 EXEC PGM=WNMPRAD5,COND=(4,LT)                     
//SYSPRINT DD SYSOUT=1                                       
//SYSDBOUT DD SYSOUT=1                                       
//ENTRADA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.UNLDBI,DISP=OLD
//SORTIDA  DD DSN=WNMT.SCADUC.WGPT022.ZXDALMA.OUTPUT.V02,    
//            DISP=(NEW,CATLG,DELETE),UNIT=DISK,             
//            DCB=(RECFM=FB,LRECL=278),                      
//            SPACE=(27998,(2500,2500),RLSE) 
//SYSOUT   DD  DISP=(NEW,CATLG,DELETE),
//             DSN=&SYSUID..STEPNAME.SYSOUT,
//             AVGREC=K,
//             LRECL=133,
//             RECFM=FB,
//             SPACE=(500,(10,10))
//SYSIN    DD *                                              
N0100                                                        
/*

答案 2 :(得分:2)

在sysout中提供处置参数和数据集名称。所以,就像

// sysout dd dsn = abc.xyz,disp =(根据您的选择)