批量提交MVS命令后,如何将执行结果输出至顺序文件
早上好!当然可以把批量MVS命令的执行结果输出到顺序文件里~ 你现在用IEBGENER提交命令到内部阅读器的方式,默认输出会到SYSOUT,但我们可以换个更直接的方式来捕获输出,推荐用IKJEFT01这个TSO批处理程序,它能直接执行命令并把结果定向到指定数据集。
调整后的JCL示例
下面是可以实现需求的JCL,它会执行你的$VS,'$DQ'命令,并将输出写入到指定的顺序文件中:
//CMDEXEC EXEC PGM=IKJEFT01,DYNAMNBR=20 //SYSTSPRT DD DSN=YOUR.OUTPUT.SEQFILE, // DISP=(NEW,CATLG,DELETE), // UNIT=SYSDA,SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0) //SYSTSIN DD * $VS,'$DQ' /* //SYSOUT DD SYSOUT=* //SYSUDUMP DD SYSOUT=*
关键部分解释
PGM=IKJEFT01:这是TSO提供的批处理执行程序,专门用于在JCL中运行TSO/MVS命令,是捕获命令输出的常用工具。SYSTSPRT DD:这个DD语句用来指定命令执行结果的输出目标。你需要把YOUR.OUTPUT.SEQFILE替换成自己的数据集名称,同时可以根据需求调整空间分配(SPACE)、数据控制块(DCB)等参数,比如如果需要更大的空间,可以修改CYL,(1,1)为CYL,(5,2)这类配置。SYSTSIN DD:这里放置你要执行的MVS命令,多条命令可以直接按行添加,比如://SYSTSIN DD * $VS,'$DQ' D SMS,STATUS /*
补充说明
如果一定要保留IEBGENER提交命令的方式,那需要在提交的作业中单独指定输出到数据集,但这种方式相当于提交了一个嵌套作业,流程更复杂,不如直接用IKJEFT01一步到位高效。
内容的提问来源于stack exchange,提问作者franktemp
相关产品推荐
相关产品推荐

