Переопределение внешних файлов печати другим файлом печати только для определенных настроек - PullRequest
0 голосов
/ 19 января 2019

Мы находимся в процессе перевода наших старых программ RPG O-spec на использование внешних файлов принтера. Как компания, у нас есть некоторые стандартные программы и процедуры, которые мы используем, чтобы позволить пользователям отправлять по электронной почте или распечатывать определенный файл спула, когда они запускают программу, а также задавать дуплекс, количество копий и т. Д. Эти процедуры выполняют различные переопределения для созданной спулинга. файл для изменения OUTQ, количества копий и т. д. Мы также перезаписываем файл принтера на стандартный файл печати, который мы определили следующим образом:

OVRPRTF FILE(MYOUTPUT) TOFILE(PRTF132);

Это прекрасно работает для старых O-спецификаций. Однако теперь, когда мы переходим к файлам внешнего принтера, у нас возникают проблемы с генерацией файла спула. Трудно описать конкретную проблему, потому что выходной файл просто беспорядок. Линии перезаписывают друг друга, данные маршрутизации не изменяются, как ожидалось, и т. Д. Я проследил это до оптового переопределения, используя TOFILE, потому что я могу запустить переопределение следующим образом:

OVRPRTF FILE(MYOUTPUT) LPI(8) CPI(13.3) OUTQ(MYOUTQ);

Когда я это делаю, все распечатывается великолепно.

В конечном счете, мне бы хотелось иметь возможность использовать только определенные переопределения из файла переопределения PRTF132, такие как значения LPI, CPI и OUTQ. Примерно так:

OVRPRTF FILE(MYOUTPUT) FROMFILE(PRTF132) LPI CPI OUTQ;

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

1 Ответ

0 голосов
/ 22 января 2019

выходной файл просто беспорядок. Линии перезаписывают друг друга ...

используете ли вы SPACEB () или SPACEA () в начале печати вашей строки? если нет, то что бы объяснить переписывание.

В конечном счете, мне бы хотелось использовать только определенные переопределения из PRTF132 ...

Я бы предложил вам

  1. Получить атрибуты файла принтера с помощью API QDFRPRTA. Посмотрите документацию здесь: Получить атрибуты файла принтера (QDFRPRTA) API
  2. С полученными атрибутами выполните ваш OVRPRTF FILE (MYOUTPUT) LPI (& LPI) CPI (& CPI) OUTQ (& MYOUTQ)

Пожалуйста, опубликуйте исходный код вашего PRTF, чтобы я мог посмотреть его и протестировать в моей системе.

...