首页 > 解决方案 > ISPF 编辑宏,如何防止“浏览替换”发生..?

问题描述

Steve Ives 提供了 ALLMEM 代码来针对 PDS 的所有成员运行编辑宏,请参见此处:如何批量运行 ISPF 编辑宏

我的 PDS 中的某些成员太大(默认情况下)无法编辑/查看,并且在线上遭受“浏览替换”:

Address 'ISPEXEC' 'EDIT DATAID('data1')',
        'MEMBER('member1') MACRO('workmac')'

由于浏览无法运行编辑宏 MACRO('workmac') 位没有发挥作用,因此没有发出 END 命令将执行返回到 ALLMEM 中的循环,并且整个批处理执行停止,直到我手动点击我的 PF3。

有什么办法可以强制 TSO 为这些大成员保持 EDIT 模式?

标签: macroseditmainframeispftso

解决方案


有什么办法可以强制 TSO 为这些大成员保持 EDIT 模式?

也许。

ISPF Edit 有一个 LRECL 限制。如果您的成员太大超过了这个值,那么您对此无能为力。如果您想采用激进的概念,例如将每条记录分成两部分以便可编辑,然后对其进行编辑,然后将每条记录对重新组合成一条记录,这是一个单独的问题。

但也许问题不是你的 LRECL,而是记录的数量。你也许可以为此做点什么。

您可以尝试为运行 ISPF 编辑宏的批处理作业增加REGION参数。我不知道您的个人 ISPF 设置在 ISPF 批处理作业中是否重要,但您可以在 ISPF 编辑会话中键入EDITSET并确保“编辑和查看允许的最大初始存储空间”的值为 0,以防万一很重要。

请注意,这可能会解决您的问题,但您的成员可能对 ISPF Edit 来说太大了。在这种情况下,您必须找到一种替代机制。由于您已经有一个编辑宏,也许您可​​以更改它,将您自己的代码替换为 ISPF 编辑服务,然后针对您的数据运行该代码。也许这是一个学习 SORT 实用程序奇妙功能的机会。或者awk。很多选择。


推荐阅读