是否有用 REXX 或 CLIST 编写的 TSO 命令可以确定谁已将数据集排队?
我需要编写 REXX Exec 或 Clist 来识别谁已将数据集排入队列,并在 ISPF 对话框应用程序上显示用户友好的消息。由于系统配置问题,%WHOHAS 命令不可用。不过,我也知道 ISPF 本身(选项 3.4)具有与 zos 主机的专有挂钩,以显示我需要的排队资源信息 - 因此可以获得信息。不幸的是,我不知道如何使用 REXX Exec 或 CLIST 从 ISPF 3.4 外部访问此数据。有什么建议吗?
I need to write a REXX Exec or Clist to identify WHO has enqueued a Dataset and display a user friendly message on an ISPF dialog application. Due to system configuration issues, the %WHOHAS command is not available. However I also know that ISPF itself (Option 3.4) has proprietary hooks into the zos mainframe to display the enqueued resource information I need - so the infomation can be obtained. Unfortunately I don't know how to access this data from outside ISPF 3.4 using a REXX Exec or CLIST. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
第一次阅读时,我认为这将是一件非常简单的事情
挖出来。不完全是!
在 ISPF 下,您可以获得一个面板来显示谁持有数据集
通过在命令行中键入以下内容:
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,但我不这样做
知道如何将输出捕获到茎变量中,您可以
解析它并发出一条消息。我找不到命令行
与 ISRDDN 的接口,允许捕获输出。
还有另一个实用程序:
http://www.sillysot.com/mvs/index.htm?queryenq。嗯
声称也可以这样做,我从未尝试过,所以不能
对此有何进一步评论。
我用谷歌搜索了你的问题,看起来有几个人用过
MVS 命令
to determine who is holding
a dataset. However, this requires console access so would not be
appropriate for most users. If console access is allowed, then you could start a console
session under REXX and capture the output fairly easily, see: http://www.redbooks.ibm.com/redbooks/pdfs/sg244626.pdf.
最后一个搜索地点是 CBT 磁带(免费软件)
IBM 大型机)。在这里您可以找到 WHOHAS 的几种实施方式
ISPF 命令。
抱歉,但这是我能做的最好的了。
On first reading I thought this would be a pretty simple thing to
dig up. Not quite!
Under ISPF you can get a panel to display who is holding a dataset
by typing the following on the command line:
The ISRDDN command is documented at:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr/FRAMESET/ispzug50/G.0?ACTION=MATCHES&REQUEST=isrddn&TYPE=FUZZY&SHELF=ispzpm50&DT=20060621022939
Invoking ISRDDN is possible from within a REXX program but I don't
know how to capture the output into a stem variable where you could
parse it out and issue a message. I could not find a command line
interface to ISRDDN that allows capture of the output.
There is another utiltiy at:
http://www.sillysot.com/mvs/index.htm?queryenq.htm
that claims to do this as well, I have never tried it so cannot
comment any further on it.
I Googled your question and it looks like several people have used
the MVS command
to determine who is holding
a dataset. However, this requires console access so would not be
appropriate for most users. If console access is allowed, then you could start a console
session under REXX and capture the output fairly easily, see: http://www.redbooks.ibm.com/redbooks/pdfs/sg244626.pdf.
One final place to search would be the CBT tapes (freeware for
IBM mainframes). Here you can find several implementations of the WHOHAS
ISPF command.
Sorry, but this is the best I can do.
事实证明这是一个非常简单的修复。没什么花哨的。如果 clist 使用 CONTROL NOFLUSH,则当数据集分配失败时,它不会中止。我们还有一个名为 TSOPLUS 的已安装产品,它会在分配失败时向终端发送一条消息,标识谁分配了数据集。通过关闭 FLUSH,然后对 TSOPLUS 消息进行系统处理,我能够提取我需要的信息。
This turned out to be a very simple fix. Nothing fancy. If the clist uses CONTROL NOFLUSH it will not abort when the ALLOCation of a dataset fails. We also have a installed product called TSOPLUS that will format a message to the terminal identifying who has allocated a dataset when the allocation fails. By turning off FLUSH and then systrapping the TSOPLUS message, I was able to extract the information I needed.