最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

12.3.Q.スプールをコピーする方法はありますか

[ Previous ] [ HOME ] [ Upper ] [ Next ]


ご質問の件ですが、可能です。やや面倒ですが。ASは直接スプールをバックアップできません。(SAVOBJ、SAVLIBともに。)

リリースアップやバージョンアップでは、以下のようにする指示が出ています。

spoolcpyf.gif (11577 バイト)

ballred.gif (1956 バイト)CPYSPLFでパラメータをCTLCHAR(*FCFC)にして、スプールデータを物理ファイルにコピーします。

*FCFCは、改ページとか、改行の制御文字が1バイト、複写先のレコードの1バイト目に含まれます。このとき、漢字を含むのなら、最初から2桁目が空白になります。これは、AS/400のスペックです。空白ができるとは、「1バイト右にズレル」ことです。

だから、漢字を含む場合、

  • 受け取りファイルを作成する時は、CRTPFでソースを指定せずに、レコード長を、帳票の桁+2にして、
  • かつ、IGCDTA(*YES)にします。IGCDTA(*YES)を忘れると、CPYSPLFでこけます。
  • さらに、そのレコードの1から1バイトはそのままで、3桁から最後の桁までを、2桁から上書きするプログラムを作り、走らせます。(簡単なプログラムです。こうしないと、スプールを復元したときに左端1バイト空いてしまいます。

また、英語の属性のスプールならば、CRTPFソース指定せず、レコード長を帳票の桁+1にして、IGCDTA(*NO)です。英語の場合は桁ずれしません。

ballred.gif (1956 バイト)このファイルを、SAVOBJします。または、ディスケットにダウンロードするかなにかします。

ballred.gif (1956 バイト)これを、またAS/400で復元した後は、まず、SPLFをOVRPRTFでCTLCHAR(*FCFC)にします。そこへ、この物理ファイルから、単純にCPYFをします。プリンターファイルの属性が*FCFCだと、ここで、帳票が復元されます。

 

こんなところで、いいかな。漢字のスプールの場合は注意です。テストで、保管、復元を確認してから、実際に作業してみてください。また、定型的な業務にするならば、スプールデータの情報をAPIで取り出し、それをCPYSPLFでメンバー別に複写して、それを復元するようなユーティリティを作成することも可能です。ただし、このデータ、かなり大きな物になりますので、ディスクの空き容量に気をつけてください。1行1レコードで、一頁60行ならば、単純に言って、100頁で6000レコードになります。(*FCFCだと、無駄は省けるのですが、それでも多いです。)それと、確か、RPGの機能にこの保管されたスプールデータを読み込んで、スプールを作成する機能があったと思います。普通は上記のようにCPYFで可能ですが、興味があれば調べてみてください。

b_upd.gif (283 バイト)AS/400 アドバンスト・シリーズ データ管理 バージョン 3 資料番号 SC88-5494-00

このマニュアルの付録の「B.0 付録B. 2 バイト文字セット・サポート」は漢字についての記述がまとまっています。

B.5.1 スプール・ファイルのコピー

スプール・ファイル・コピー (CPYSPLF) コマンドを使用することによって、2 バイト文字データを持つスプール・ファイルをコピーします。ただし、ファイルのコピー先のデータベース・ファイルは、IGCDTA(*YES) の値を指定して作成されていなければなりません。

2 バイト・データが入っているデータベース・ファイルに、スプール・ファイルをコピーする場合に、余分の桁がシフト・アウト文字用に予約されます。このシフト・アウト文字は、レコードの制御情報とユーザー・データの間に入れられます。次の表は、制御文字 (CTLCHAR) キーワードに対して指定される値に基づいて、シフト・アウト文字の桁番号を示してあります。

CTLCHAR の値 シフト・アウト文字の桁番号
*NONE 1
*FCFC 2
*PRTCTL 5
*S36FMT 10

 

参考

スプールのオンライン保管と復元

9.27.複写スプールの作成コマンド(訪問者の方からのフリーソフト)


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送