1

我需要编写一个 REXX Exec 或 Clist 来识别 WHO 已将数据集排入队列并在 ISPF 对话应用程序上显示用户友好的消息。由于系统配置问题,%WHOHAS 命令不可用。但是我也知道 ISPF 本身(选项 3.4)在 zos 大型机中具有专有挂钩,以显示我需要的排队资源信息 - 因此可以获得信息。不幸的是,我不知道如何使用 REXX Exec 或 CLIST 从 ISPF 3.4 外部访问这些数据。有什么建议么?

4

2 回答 2

1

在第一次阅读时,我认为这将是一件非常简单的事情。不完全的!

在 ISPF 下,您可以通过在命令行中键入以下内容来获得一个面板来显示谁持有数据集:

TSO ISRDDN ENQ '数据集名称'

ISRDDN 命令记录在: http: //publibz.boulder.ibm.com/cgi-bin/bookmgr/FRAMESET/ispzug50/G.0 ?ACTION=MATCHES&REQUEST=isrddn&TYPE=FUZZY&SHELF=ispzpm50&DT=20060621022939

可以从 REXX 程序中调用 ISRDDN,但我不知道如何将输出捕获到一个可以解析出来并发出消息的 stem 变量中。我找不到允许捕获输出的 ISRDDN 命令行界面。

还有另一个实用程序: http ://www.sillysot.com/mvs/index.htm?queryenq.htm 声称也可以这样做,我从未尝试过,因此无法对此发表任何评论。

我用谷歌搜索了你的问题,看起来有几个人使用了 MVS 命令

D GRS,RES=(*,dsname)
以确定谁持有数据集。但是,这需要控制台访问,因此不适合大多数用户。如果允许控制台访问,那么您可以在 REXX 下启动控制台会话并相当容易地捕获输出,请参阅:http ://www.redbooks.ibm.com/redbooks/pdfs/sg244626.pdf 。

最后一个要搜索的地方是 CBT 磁带(IBM 大型机的免费软件)。在这里,您可以找到 WHOHAS ISPF 命令的几个实现。

对不起,但这是我能做的最好的了。

于 2010-01-15T20:52:55.717 回答
0

结果证明这是一个非常简单的修复。没有什么花哨。如果 clist 使用 CONTROL NOFLUSH 它不会在数据集的 ALLOCation 失败时中止。我们还安装了一个名为 TSOPLUS 的产品,它会在分配失败时向终端发送一条消息,以确定谁分配了数据集。通过关闭 FLUSH 然后 systrapping TSOPLUS 消息,我能够提取我需要的信息。

于 2010-01-16T02:42:43.943 回答