Steve Ives提供了ALLMEM代码来对PDS的所有成员运行编辑宏,请参阅此处:How can I run ISPF Edit Macros in Batch
我的PDS中的一些成员(默认情况下)太大,无法编辑/查看,并且在行中遇到"Browse substituted“:
Address 'ISPEXEC' 'EDIT DATAID('data1')',
'MEMBER('member1') MACRO('workmac')'由于浏览不能运行编辑宏,宏(‘workmac’)位不起作用,在ALLMEM中没有发出END命令来返回执行,并且整个批处理执行停止,直到我手动点击我的PF3。
有没有办法强制TSO对这些大型成员保持编辑模式?
发布于 2019-04-10 22:49:31
有没有办法强制TSO对这些大成员保持编辑模式?
也许吧。
ISPF Edit has an LRECL limit。如果你的成员太多了,你就无能为力了。如果您想尝试一些激进的概念,比如将每条记录一分为二,使其可编辑,然后对它们进行编辑,然后将每个记录对重新组合成一条记录,那就是另一个问题了。
但也许问题不在于您的LRECL,而在于记录的数量。你也许能对此做点什么。
您可以尝试为正在运行ISPF Edit宏的批处理作业增加REGION参数。我不知道您的个人ISPF设置在ISPF批处理作业中是否重要,但您可以在ISPF编辑会话中键入EDITSET,并确保“允许编辑和查看的最大初始存储”的值为0,以防万一。
请注意,这可能会解决您的问题,但可能您的成员对于ISPF Edit来说太大了。在这种情况下,您必须找到替代机制。既然您已经有了一个编辑宏,也许您可以修改它,用您自己的代码替换ISPF edit服务,并对您的数据运行该代码。也许这是一个学习你的排序工具的奇妙特性的机会。或者是awk。有很多选择。
发布于 2019-04-11 18:46:42
如果它只是某些成员,那么它不是LRECL问题,而是严格的大小。正如cschneid所提到的,您可以尝试最大化可供编辑的存储空间。然而,如果成员真的很大,那么你最终会达到存储限制。在这种情况下,当前的Edit或View将切换到Browse。如果你正在运行Batch,那么就会出现你所描述的问题。没有任何东西可以将其保留在编辑中。RC=4已经是一个记录在案的用于替换Browse的返回码,但是如果你是在批处理中,那么你可能会在一个显示循环中结束。一种可能的解决方案是在ISPPLIB中拥有自己的ISRBROBA副本,并在)INIT或)PROC部分中设置.RESP = END,以便在使用浏览时强制结束。因为它是批处理作业,所以您不太可能需要正常版本的ISRBROBA。您只需确保首先连接您的面板库即可。
https://stackoverflow.com/questions/55614129
复制相似问题