Есть ли способ использовать REXX для редактирования набора данных ps и вставки строки после определенной строки? - PullRequest
0 голосов
/ 24 декабря 2018

Я пишу программу REXX, которая обновит набор данных PS.Я могу редактировать определенную строку, используя мой код REXX.Но я бы хотел, чтобы код вставлял определенную строку после определенной строки.
Например: мой набор данных PS содержит 100 строк.Я хочу вставить текст «ABCDE» после 44-й строки (в 45-й строке), что увеличит общее количество строк файла до 101 строки.Остальные строки должны остаться без изменений.Возможно ли это с помощью REXX?

Ответы [ 2 ]

0 голосов
/ 24 декабря 2018

То, что предлагает @Hogstrom, является хорошим решением проблемы, которую вы описываете.В интересах полноты, вот решение, которое может потребоваться в экстремальных условиях.

Создать макрос редактирования ...

/*REXX*/
ADDRESS ISREDIT 'MACRO NOPROCESS'
aLine = 'ABCDE'
ADDRESS ISREDIT 'LINE_AFTER 44 = DATALINE (ALINE)'

... и запустить ISPF edit в пакетном режиме,выполнение этого макроса.

JCL для запуска ISPF в пакетном режиме зависит от магазина, но многие магазины создали каталогизированную процедуру для этого.

Если вы хотите скопировать свой набор данных вФайловая система z / Unix, вы также можете использовать sed или awk для внесения изменений.

Я не рекомендую ничего из этого, я просто отмечаю, что это можно сделать, если решение @ Hogstrom не поможетработать на тебя по какой-то причине.

0 голосов
/ 24 декабря 2018

Независимо от REXX вам необходимо эффективно прочитать старый набор данных и записать его в новый файл, добавить новую запись (строку) в выходной файл и затем записать остальное.Невозможно «вставить» запись в физический последовательный набор данных (PS).В конце вы удалили старый и переименовали вновь созданный файл в старое имя.

Другим вариантом будет использование группы наборов данных генерации (GDG), чтение текущего (0) и создание нового (+1) в качестве выходных данных.Таким образом, вы по-прежнему ссылаетесь на одно и то же имя набора данных, на которое могут ссылаться другие.

...