メニューボタン
サポートチーム便り2023.04.12

スプールファイルをコピー(複製を作成)する方法ってありますか?-前編 -

Question

1つのスプールファイルを、異なるOUTQに繋がっているそれぞれのプリンターから印刷したいです。

スプールファイルをコピーして複製する方法はありますでしょうか。

CRTDUPOBJだと、OUTQ自体をコピーしています。

また、CPYSPLFはコピーと付いていますが、スプールファイルを物理ファイルにコピーするコマンドのようです。

何か方法はありませんでしょうか。

Answer

物理ファイルのように単純にコピーして複製を作ることは難しいようです。

代替案として幾つかの方法を記載しますので、ご利用のシステム状況に合わせてご検討ください。

  1. 更新を伴わない処理であれば、単純に2度(CALL)実行してはいかがでしょうか。

    例)

    OVRPRTF FILE(PRTF1) OUTQ(QUSRSYS/PRINTER1) 
    CALL TESTPGM
    OVRPRTF FILE(PRTF1) OUTQ(QUSRSYS/PRINTER2)
    CALL TESTPGM
    至って、シンプルな方法です。

  2. プログラム内で同じレイアウトのプリントファイルを2つ作る方法もあります。

    この場合、プリントファイル内のレコード様式は異なるようにしてください。

    例)

    スクリーンショット
    そして各々のレコード様式に連続してWRITE命令を掛けます。

    CLでは

    OVRPRTF FILE(PRT1) OUTQ(QUSRSYS/PRINTER1)
    OVRPRTF FILE(PRT2) OUTQ(QUSRSYS/PRINTER2)
    CALL TESTPGM
    で振り分けてみてください。

    RPGのプログラムも修正しなければなりませんが、データが更新されてしまうようなプログラムの場合は、こちらの方法も有効です。

  3. 複製では無いですが、一度印刷させたスプールファイルを保管(SAV)状態にしてから、OUTQを変更させて解放(RLS)させて印刷する方法もあります。

    例)

    スクリーンショット

    上記のサンプルにはMONMSGやDLYJOB、例外処理等が入っておりませんので必要に応じて考慮してプログラムを作成してください。

他にSNDNETSPLFのコマンドの使用例もご案内させて頂きます。後編の記事もご参照頂ければと思います。

スプールファイルをコピー(複製を作成)する方法ってありますか? ~ 後編 ~
https://www.e-bellnet.com/category/technology/2304/2304-03.html

by けやきのじぃじ

あわせて読みたい記事

PAGE TOP