Макрос редактирования ISPF, как предотвратить появление "Обзор замещенных" ..? - PullRequest
0 голосов
/ 10 апреля 2019

Стив Айвс предоставил код ALLMEM для запуска макроса редактирования для всех членов PDS, см. Здесь: Как я могу запустить макросы редактирования ISPF в пакетном режиме

Некоторые члены в моем PDS слишком велики (по умолчанию) для редактирования / просмотра и имеют строку «Обзор замещен» в строке:

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

Так как browse не может запустить edit-macro, бит MACRO ('workmac') не вступает в игру, команда END не выдана для возврата к циклу в ALLMEM, и общее пакетное выполнение останавливается, пока я не нажму вручную PF3.

Есть ли способ заставить TSO поддерживать режим EDIT для этих крупных членов?

Ответы [ 2 ]

4 голосов
/ 10 апреля 2019

Есть ли способ заставить TSO поддерживать режим EDIT для этих больших членов?

Может быть.

ISPF Edit имеет ограничение LRECL .Если ваши члены, которые слишком велики, превышают это, вы ничего не можете с этим поделать.Если вы хотите использовать радикальные понятия, такие как разделение каждой записи на две части, чтобы они были редактируемыми, редактирование их, а затем сборка каждой пары записей обратно в одну запись, это отдельная проблема.

Но, возможно, проблема не вт ваш LRECL, но количество записей.Вы могли бы быть в состоянии что-то с этим сделать.

Вы можете попробовать увеличить параметр REGION для своего пакетного задания, в котором вы выполняете макрос ISPF Edit.Я не знаю, имеют ли значение ваши личные настройки ISPF в пакетном задании ISPF, но вы можете ввести EDITSET в сеансе редактирования ISPF и убедиться, что значение «Максимальное начальное хранилище, разрешенное для редактирования и просмотра», составляет0, на всякий случай, если это имеет значение.

Имейте в виду, что это может решить вашу проблему, но возможно ваши члены просто слишком велики для ISPF Edit.В этом случае вы должны найти альтернативный механизм.Поскольку у вас уже есть макрос редактирования, возможно, вы могли бы изменить его, подставив собственный код для служб редактирования ISPF, и запустить этот код для ваших данных.Возможно, это возможность узнать о чудесных особенностях вашей утилиты SORT.Или awk.Много вариантов.

1 голос
/ 11 апреля 2019

Если это только определенные члены, то это не проблема LRECL, а строго размер. Как упоминалось в cschneid, вы можете попытаться максимально увеличить объем памяти, доступной для редактирования. Однако, если член действительно большой, то вы в конечном итоге достигнете предела хранилища. В этом случае Edit или View переключатся на Browse. Если вы используете Batch, то это представляет проблему, как вы описываете. Там нет ничего, что будет держать его в редактировании. RC = 4 - это уже задокументированный код возврата заменяемого Browse, но если вы работаете в пакетном режиме, вы, вероятно, окажетесь в цикле отображения. Одним из возможных решений было бы иметь свою собственную копию ISRBROBA в ISPPLIB и установить ее .RESP = END в разделе) INIT или) PROC, чтобы принудительно вызвать END, если используется BROWSE. Поскольку это пакетное задание, маловероятно, что вам понадобится нормальная версия ISRBROBA. Вы просто должны убедиться, что ваша библиотека PANEL объединяется первой.

...