我想知道是否有可能将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
/*
答案 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 =(根据您的选择)