早上好,
在Batch中提交MVS命令后,我想知道是否可以在seq文件中打印结果。谢谢你的时间。
//S02IEBG EXEC PGM=IEBGENER
//SYSUT2 DD SYSOUT=(A,INTRDR),DCB=BLKSIZE=23440
//SYSIN DD DUMMY
//SYSOUT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD *,DLM=$$
/*$VS,'$DQ'
$$
答案 0 :(得分:1)
您的问题不明确,但如果您的意思是“提交您的工作后,您可以将输出捕获到数据集”,我建议您使用XDC
行SDSF中的命令。如果您想要输出的特定部分,请先使用?
行命令显示每个输出,然后使用XDC
显示要保存的输出。
答案 1 :(得分:1)
是的,可以将SYSOUT写入顺序文件。我以前做过这个,但除非你绝对需要,否则我不推荐它。
您的系统应该有一些SYSLOG管理系统(如SMR / JMR或类似系统),您可以在其中浏览作业生成的SYSOUT。别误会我的意思,我意识到这不是万无一失的。有时您可能需要将SYSOUT写入文件。我需要的原因是因为我循环了很多调试显示,需要有很多行来帮助我调试。
如果你想确保SYSOUT转到一个文件,你需要做的就是把文件放在SYSOUT之后:
//S02IEBG EXEC PGM=IEBGENER
//SYSUT2 DD SYSOUT=(A,INTRDR),DCB=BLKSIZE=23440
//SYSIN DD DUMMY
//SYSOUT DD DSN=YOUR.SYSOUT.FILE,
// DISP=(NEW,CATLG,DELETE),
// UNIT=TEST,SPACE=(TRK,(2,1),RLSE),
// DCB=(LRECL=080,BLKSIZE=0,RECFM=FB)
//SYSUDUMP DD SYSOUT=*
//SYSUT1 DD *,DLM=$$
如果需要,您可以通过编辑SPACE
参数来更改文件的大小。如果您计划多次运行此作业,则需要在此之前添加删除步骤,或者使SYSOUT文件成为可以递增的GDG。否则,DISP
的{{1}}将无效。
只要您知道正确的文件分配是什么,就可以使用任何DD名称来完成。
答案 2 :(得分:0)
我相信以下内容可能有效。假设您要捕获 DQ
命令的输出: -
//SDSF EXEC PGM=SDSF
//ISFOUT DD SYSOUT=*
//CMDOUT DD DSN=YOUR.DATASET,
// DISP=(,CATLG,DELETE),
// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0),
// SPACE=(CYL,(1,1)),UNIT=SYSDA
//ISFIN DD *
SET CONSOLE BATCH
SET DELAY 60
/$ DQ
PRINT FILE CMDOUT
ULOG
PRINT
PRINT CLOSE
/*
//
您可能会发现Issuing MVS or JES commands有帮助。
我确实尝试过SDSF,但我无权使用它,这就是我的原因 我正在寻找另一种方式。
然后可能按照以下方式使用TSO / E(REXX): -
从TSO / E,您可以使用建立扩展MCS控制台会话 TSO / E CONSOLE命令。激活控制台会话后,您 可以发出MVS™系统和子系统命令并获取命令 响应。本附录描述了不同的命令和 您可以在REXX高管中使用的功能来设置和使用控制台 会话。
Writing REXX Execs to perform MVS operator activities
然而,权威可能是一个问题,如果没有立即,只要有人在你身边就已经关闭了。
这可能有效(我没有测试它的设施): -
/* REXX */
ADDRESS TSO 'CONSPROF SOLDISPLAY(NO)'
ADDRESS TSO 'CONSOLE ACTIVATE'
ADDRESS CONSOLE '$DQ'
/* retrieve output command */
max_iterations = 100
DO i = 1 to max_iterations
messages_remaining = GETMSG('line.','SOL',,,10)
IF messages_remaining = 0 THEN leave
END
/* Done so echo retrieved messages
say 'Messages Retrieved are :-'
DO i = 1 to line.0
say '*** ' line.i
END
ADDRESS TSO 'CONSOLE DEACTIVATE'
EXIT
您需要将其包装到批处理作业中,以便找到以下有用的
解决方案可能是对那些负责拒绝访问SDSF的人说话,这可能会导致授权。这又可能导致打开门,例如能够关闭JES命令。
答案 3 :(得分:0)
您可能有权访问SDSF来查看输出。
要打印的作业旁边,键入 xdc ,这将弹出一个用于数据集分配的面板(或者它可能已经存在)。完成后,将打印输出并关闭它。
如果只需要某个步骤/ sysout的输出,则可以键入?在SDSF的工作旁边。这将为您提供输出列表。与之前相同,在您选择的xdc旁边键入xdc并分配数据集。
如果直接使用命令并需要历史记录,也可以对TSO会话进行此操作。尽管只有在关闭SDSF ULOG后这才起作用。