我需要使用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)
谢谢!
答案 0 :(得分:0)
我没有方便的PCL文件,但尝试这样的
QSH CMD('cat -c [IFS_FILE_PATH] | Rfile -wbQ -c "ovrprtf qprint outq(mylibrary/myoutputqueue) devtype(*userascii)" qprint')
想法是完全绕过复制到中间QSYS.LIB文件。 Rfile是IBM i独有的。