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

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

よく使うマニュアルです

Wiki

updated on 2004.06.23

2.25.サブファイルいろいろ

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


例えば、9000件のデータを持つファイルをサブファイルで表示しようとする場合、サブファイルへの書き出しを9000回繰り返してから表示するので、端末の前で『入力不可』をじっと見守ることになります。これを回避する手法は以下のとおりです。

サブファイル1頁分を、WRITEしてから表示します。オペレーターがロールアップを押すと、次のサブファイル1頁分を、WRITEしてから表示します。これでいくと『入力不可』は、サブファイル1頁を書き込む間だけとなります。

これにあわせて、サブファイルに書き込むデータを選択するプロンプトを予め出して、9000件の数を減らします。又、画面上で、データの開始位置を指定して、選択できる様にすれば、もっと便利です。


表示したサブファイルをロールアップして、間違えて実行キーを叩いたら、サブファイルの一画面めから再表示してしまった、ということがあります。以下のようにしましょう。

DSPFのソース上SFLRCDNBRを定義します。

RPGのソース上で、INFORMATION DSを作成して、 B 378 379 0 TOPRRN (TOPRRNは任意のフィールド)を定義します。

サブファイルの読み込みの後で、TOPRRNが0ならば、Z-ADD 1 を、TOPRRNが0でなければTOPRRNをSFLRCDNBRの定義フィールドに転送する。(最近、DDSキーワードで新しく、カーソル位置を取り込めるものができています。このキーワードについてはいづれ説明します。)


サブファイルの読込

ロールアップを何回も押して、1000件分表示してそのうち一件を選択するつもりで、サブファイルにマークを入力したら、ずーっと『入力不可』があって、やっと目的を達成した経験はないでしょうか。これは 1 DO 1000 RRN 等として、CHAIN を繰り返し、入力フィールドに何か入力がないか、調べるために起こります。このような場合は、CHAIN でなく READC を使います。これだと、変更のあったレコードのみ取り込みます。但し、注意すべきことがあります。

DDS(DSPF)上にオプション標識を付けた SFLNXTCHG を指定すること。

RPG 内でサブファイル新しく書き込む時は、SFLNXTCHG のオプション標識を OFF にしておくこと。

READCで読み込んだサブファイルは、必ず SFLNXTCHG オプション標識を ON にして UPDAT しておくこと。

 READC を EOF まで繰り返す時、READC で読み込んだ直後、サブファイルに CHAIN 命令は使用しないこと。次の READC が捕らえる RRN がおかしくなってします。


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

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

 

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