12.3.Q.スプールをコピーする方法はありますか |
ご質問の件ですが、可能です。やや面倒ですが。ASは直接スプールをバックアップできません。(SAVOBJ、SAVLIBともに。) リリースアップやバージョンアップでは、以下のようにする指示が出ています。 CPYSPLFでパラメータをCTLCHAR(*FCFC)にして、スプールデータを物理ファイルにコピーします。 *FCFCは、改ページとか、改行の制御文字が1バイト、複写先のレコードの1バイト目に含まれます。このとき、漢字を含むのなら、最初から2桁目が空白になります。これは、AS/400のスペックです。空白ができるとは、「1バイト右にズレル」ことです。 だから、漢字を含む場合、
また、英語の属性のスプールならば、CRTPFソース指定せず、レコード長を帳票の桁+1にして、IGCDTA(*NO)です。英語の場合は桁ずれしません。 このファイルを、SAVOBJします。または、ディスケットにダウンロードするかなにかします。 これを、またAS/400で復元した後は、まず、SPLFをOVRPRTFでCTLCHAR(*FCFC)にします。そこへ、この物理ファイルから、単純にCPYFをします。プリンターファイルの属性が*FCFCだと、ここで、帳票が復元されます。
こんなところで、いいかな。漢字のスプールの場合は注意です。テストで、保管、復元を確認してから、実際に作業してみてください。また、定型的な業務にするならば、スプールデータの情報をAPIで取り出し、それをCPYSPLFでメンバー別に複写して、それを復元するようなユーティリティを作成することも可能です。ただし、このデータ、かなり大きな物になりますので、ディスクの空き容量に気をつけてください。1行1レコードで、一頁60行ならば、単純に言って、100頁で6000レコードになります。(*FCFCだと、無駄は省けるのですが、それでも多いです。)それと、確か、RPGの機能にこの保管されたスプールデータを読み込んで、スプールを作成する機能があったと思います。普通は上記のようにCPYFで可能ですが、興味があれば調べてみてください。
参考 |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||