在 IBM 大型机上,我已经能够在命令行上键入“hold”,按 Enter,然后会出现一个新的 TSO 屏幕,而不会丢失我原来的屏幕。要返回上一个屏幕,我会按 F3。有谁知道我在哪里可以找到执行此操作的 CLIST/REXX 代码?
3 回答
假设当您说“TSO”时,您的意思是“ISPF”,有几种方法可以在 3270 模式下获得新的逻辑 ISPF 屏幕。
一是输入 SWAP LIST 命令。这会弹出一个窗口,您可以从中请求新的逻辑屏幕。
您也可以输入 SPLIT NEW 命令。这会生成一个新的逻辑屏幕并拆分光标所在的屏幕 - 除非您在“设置”中未选中“始终显示拆分线”。设置通常是 ISPF 主菜单中的选项 0。
所有这些都包含在 ISPF 用户指南中。
如果你真的想编写一个 ISPF 对话应用程序来做这些事情,我相信你会想要熟悉 ISPEXEC API。
在过去,您只能拥有 2 个 ISPF 分屏。例如,如果您在 2 个分屏中编辑 2 个数据集并需要在 SDSF 中检查某些内容,则您必须从您的一个编辑中退出 PF3 并在该分屏上进入 SDSF。
我工作过的几个网站已经实现了一个命令,给你一个新的“伪”分屏,所以如果你同时使用了两个分屏,你可以快速做其他事情。听起来您的“保持”命令是这样的。
如今,您可以拥有许多分屏。在我上面的例子中,你可以简单地输入'split new'来获得一个新的分屏(或者如果's'是你的主要选项菜单上的SDSF选项,则可能是'start s'),在SDSF中做你需要做的事情,然后然后回到你的 2 编辑。以前这是不可能的。
如果您知道如何编辑 ISPCMDS 表,则可以在此处添加 HOLD 命令。
使用 HOLD 动词、T 0 和 SELECT PANEL(ISR@PRIM) OPT(&ZPARM) NEWAPPL(ISR) SUSPEND 动作
如果您站点的主面板名称是其他名称,请使用该名称而不是 ISR@PRIM。这将添加 HOLD 命令,就像在 EDS 中一样。
您可能必须先将当前 ISPCMDS 表复制到新数据集并将其重命名为其他名称(如 TSTCMDS),然后才能对其进行更改。您还必须将新数据集分配给 ISPTABL。
在重命名的 ISPCMDS 表末尾添加新命令后,退出 ISPF,将新表数据集的成员重命名为 ISPCMDS,然后在安装提供的数据集之前分配数据集。谷歌搜索可以更清楚地了解修改 ISPCMDS 需要做什么。
如果您与您网站的系统程序员关系良好,他可能会为您做这件事并让所有人都可以使用它。这是一个不错的 hack,不需要任何新代码。