我需要编写一个REXX Exec或Clist来识别WHO已将数据集排队并在ISPF对话框应用程序上显示用户友好消息。由于系统配置问题,%WHOHAS命令不可用。但是我也知道ISPF本身(选项3.4)在zos主机中有专有的钩子来显示我需要的排队资源信息 - 因此可以获得信息。不幸的是,我不知道如何使用REXX Exec或CLIST从ISPF 3.4外部访问这些数据。有什么建议吗?
答案 0 :(得分:1)
在第一次阅读时,我认为这将是一件非常简单的事情 挖出。不太好!
在ISPF下,您可以获得一个面板来显示谁持有数据集 在命令行上键入以下内容:
TSO ISRDDN ENQ'Dataset-name'
可以在REXX程序中调用ISRDDN,但我没有 知道如何将输出捕获到一个干变量中 解析它并发出消息。我找不到命令行 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命令。
抱歉,这是我能做的最好的事情。
答案 1 :(得分:0)
这是一个非常简单的修复。没有什么花哨。如果clist使用CONTROL NOFLUSH,则当数据集的ALLOCation失败时,它不会中止。我们还有一个名为TSOPLUS的已安装产品,它会将消息格式化到终端,以识别在分配失败时谁分配了数据集。通过关闭FLUSH然后交叉TSOPLUS消息,我能够提取我需要的信息。