Можете ли вы использовать RPG для добавления дополнительных строк в файл принтера? - PullRequest
1 голос
/ 08 июля 2019

Есть ли способ добавить дополнительные строки в конец файла принтера? Большинство методов, которые я использовал для создания файлов принтера (спецификации RPG, запись во внешне определенный файл), приводят к тому, что на программу приходится один выходной файл. Я хотел бы написать некоторое количество строк в одной программе или процедуре, а затем попросить другую программу или процедуру открыть файл и написать дополнительные строки.

Особый вариант использования заключается в том, чтобы иметь «заголовок заказа», который одинаков для нескольких отчетов, а данные отдельной позиции под ним являются специфичными для отчета. Я полагаю, что я мог бы хранить все это в одной большой программе с вариантами отчетов в отдельных подпрограммах RPG, но мне нравится модульность вызова общего заголовка из нескольких различных программ и, возможно, также дополнительных отчетов в будущем.

Архитектура системы может препятствовать этому типу техники, так как я не понимаю, как сохранить файл открытым и передать его или открыть закрытый файл, который уже был помещен в очередь на выход. Я использовал CPYSPLF в прошлом, и хотя я, вероятно, мог бы использовать это для чтения того, что было написано ранее, кажется бессмысленным создавать файл, закрывать его, копировать его в QTEMP, читать его, затем переписывать его в другой файл и затем удалите первый файл принтера. Возможно, есть какой-то другой способ, о котором я не думаю.

1 Ответ

6 голосов
/ 08 июля 2019

Да, это, безусловно, выполнимо ...
Современный Путь
Воспользуйтесь ключевым словом LIKEFILE, чтобы передать открытый файл принтера в качестве параметра. см https://www.itjungle.com/2012/03/21/fhg032112-story01/

Старый школьный путь
Создайте программу CL, которая выдает OVRPRTF FILE(PRNTFILE) SCHEDULE(*FILEEND) SHARE(*YES), затем вызывает PGM1 и PGM2; PGM1 нужно оставить PRTF открытым, поэтому не устанавливайте * LR в PGM1.

Вот статья: https://www.itjungle.com/2011/05/11/fhg051111-story02/

...