2.13.パターン3の概説 |
パターン3は、パターン2の拡張版ともいえます。パターン2を理解しないまま、パターン3を理解しようとしてはいけません。 パターン2では、メモリに該当する部分が他のユーザーにより変更されても、ロールダウンを押すと、メモリに入ったときの(古い)情報が単純に「巻き戻されて」表示されます。 一方、パターン3の大きな特徴は、きっちり1ページ分づつ、画面に表示することです。つまり、ロールアップを押しても、ロードされたサブファイルのレコードは、メモリには貯えられません。すべて、プログラマー自身が制御せねばなりません。 また、ロールダウンを押したときも、ファイルを読み込むので、最新の情報が表示され、マルチユーザー向けの処理となります。また、サブファイルの最大行は9999まで(相対レコード番号は4桁まで)ですが、パターン3ならば、実質無限大です。 作成のポイントさて、このパターン3の作成のポイントは、以下の通りです。 DDSで、SFLPAG(ページあたりの行数) = SFLSIZ(全体のレコード数)と定義すること。 また、前ページの最初にSETLLをすると説く記事もありましたが、これが可能なのは、ユニークなキーを持つファイルに対してのみです。実際は重複キーが多いので、プラクティカルな手法ではありません。 入力フィルードをもつサブファイル気を付けねばならないのは、入力フィルードをもつサブファイルです。 パターン2だと、一ページ分ずーとオプションを入力して、実行キーを押さず、次のページもずーとオプションを付けて、最後に実行キーを押すと、一行ずつオプションがメモリに記録されているので、すべてのレコードに対して、処理が可能です。(よく、スプール処理画面で、とんとんと4を入力して、実行キーを押す、あれです。) しかし、パターン3では、ロールアップを押すと、まずサブファイルクリアをするので、入力したオプションは消えてしまいます。私のやり方は、ロールアップを押したら、まず、ロールアップ処理をする前(サブファイルクリアをする前)に、入力されたオプションの処理をします。それから、ロールアップ処理をします。これが、最も合理的でしょう。 もちろん、ロールアップをするたびに、配列に、必要事項をセットして、実行キーが押されたら、そこを参照して処理をしてもいいのですが、ぐんと、面倒なプログラムになってしまいます。ユーザーはそこまで期待していないと思います。(但し、あらかじめ、説明せねばなりません。一ページ以上のオプション処理をする場合、パターン2とパターン3では動きが異なるからです。) |
You are at K's tips-n-kicks of AS/400
|
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||