スプールファイルをコピー(複製を作成)する方法ってありますか?-前編 -
Question
1つのスプールファイルを、異なるOUTQに繋がっているそれぞれのプリンターから印刷したいです。
スプールファイルをコピーして複製する方法はありますでしょうか。
CRTDUPOBJだと、OUTQ自体をコピーしています。
また、CPYSPLFはコピーと付いていますが、スプールファイルを物理ファイルにコピーするコマンドのようです。
何か方法はありませんでしょうか。
Answer
物理ファイルのように単純にコピーして複製を作ることは難しいようです。
代替案として幾つかの方法を記載しますので、ご利用のシステム状況に合わせてご検討ください。
-
更新を伴わない処理であれば、単純に2度(CALL)実行してはいかがでしょうか。
例)
至って、シンプルな方法です。OVRPRTF FILE(PRTF1) OUTQ(QUSRSYS/PRINTER1) CALL TESTPGM OVRPRTF FILE(PRTF1) OUTQ(QUSRSYS/PRINTER2) CALL TESTPGM
-
プログラム内で同じレイアウトのプリントファイルを2つ作る方法もあります。
この場合、プリントファイル内のレコード様式は異なるようにしてください。
例) そして各々のレコード様式に連続してWRITE命令を掛けます。
CLでは
で振り分けてみてください。OVRPRTF FILE(PRT1) OUTQ(QUSRSYS/PRINTER1) OVRPRTF FILE(PRT2) OUTQ(QUSRSYS/PRINTER2) CALL TESTPGM
RPGのプログラムも修正しなければなりませんが、データが更新されてしまうようなプログラムの場合は、こちらの方法も有効です。
-
複製では無いですが、一度印刷させたスプールファイルを保管(SAV)状態にしてから、OUTQを変更させて解放(RLS)させて印刷する方法もあります。
例)
上記のサンプルにはMONMSGやDLYJOB、例外処理等が入っておりませんので必要に応じて考慮してプログラムを作成してください。
他にSNDNETSPLFのコマンドの使用例もご案内させて頂きます。後編の記事もご参照頂ければと思います。
スプールファイルをコピー(複製を作成)する方法ってありますか? ~ 後編 ~
https://www.e-bellnet.com/category/technology/2304/2304-03.html
by けやきのじぃじ