Скопировать файл потока в файл принтера

Мне нужно использовать систему IBM i. Задача состоит в том, чтобы получить сохраненный файл (PCL FORMAT) в IFS и скопировать его (полностью двоичный) в очередь вывода.

Для этого я следую 4 шага:

1) Create a FILE in QTEMP.
2) Copy IFS file to the file in QTEMP.
3) Create a Printer File linked to a Output Queue
4) Copy the QTEMP file to Printer File.

Но на втором шаге файл кажется урезанным системой.

Кто-нибудь знает, как скопировать файл потока без усечения?

Команды, которые я запускаю, следующие:

1) CRTPF QTEMP/IFSFILETP RCDLEN(8201) MBR(IFSFILETP) LVLCHK(*NO)
2) CPYFRMSTMF FROMSTMF([IFS_FILE_PATH]) TOMBR('/QSYS.LIB/QTEMP.LIB/IFSFILETP.FILE/IFSFILETP.MBR') MBROPT(*REPLACE) CVTDTA(*NONE) ENDLINFMT(*FIXED) TABEXPN(*NO)
3) CRTPRTF FILE(QTEMP/PRINTFILE) DEVTYPE(*USERASCII) OUTQ(MYLIBRARY/MYOUTPUTQUEUE)
4) CPYF FROMFILE(QTEMP/IFSFILETP) TOFILE(QTEMP/PRINTFILE)

Спасибо!

1 ответ

У меня нет удобного файла PCL, но попробуйте что-то вроде этого

QSH CMD('cat -c [IFS_FILE_PATH] | Rfile -wbQ -c "ovrprtf qprint outq(mylibrary/myoutputqueue) devtype(*userascii)" qprint')

Идея состоит в том, чтобы полностью обойти копирование в промежуточный файл QSYS.LIB. Rfile является уникальным для IBM i.

Другие вопросы по тегам