我相信以下可能有效。那是假设您要捕获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
/*
//
您可能会发现发出 MVS 或 JES 命令很有帮助。
补充评论:-
我确实尝试了 SDSF,但我无权使用它,这就是为什么我正在寻找另一种方式。
也许然后按照以下方式使用 TSO/E (REXX):-
从 TSO/E,您可以使用 TSO/E CONSOLE 命令建立扩展的 MCS 控制台会话。激活控制台会话后,您可以发出 MVS™ 系统和子系统命令并获取命令响应。本附录描述了您可以在 REXX 执行程序中使用的不同命令和函数来设置和使用控制台会话。
编写 REXX Execs 以执行 MVS 操作员活动
然而,权威可能是一个问题,如果不是立即,也许一旦有人对你绕过已经关闭的门。
这可能有效(我没有测试它的设施):-
/* 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 命令被关闭。