よく見るサブ・ファイルの誤った使い方を紹介する。
これは先に説明したとおり。SFLレコードを追加することが目的であるのに
あえて SFLINZ
で SFLレコードを充満させておいてから、SFLレコードを
更新していくという方法である。
原因は SFLINZ
の意味をよく理解しないままコーディングしてしまったことによる。
これも時々見かける誤った使い方である。SFLPAG
の数と SFLSIZ
の数を
同じ数にしてしまうとサブ・ファイルを利用するメリットはあまりなくなってしまう。
正しいサブ・ファイル記述をしていればROLLUPの処理だけの記述だけで済むが
SFLPAG=SFLSIZ
としてしまうとROLLDWN の処理も記述しなければならない。
処理はより複雑になってしまう。
例えば SFLSIZ = 3000
のように大きな値にしておいて最初のデータの読込みで EOF となるまで
SFLレコードを出力してしまう、といった方法である。
例えば対象データが 2000件あれば最初に一度に 2000件出力してしまう方法である。
この方法であればエンド・ユーザーは自分が求めるデータは最初のページにあったとしても
2000件のSFLレコードが出力されるまで、じっと我慢して待たなければならない。
「SFLはパフォーマンスが悪い」と言う開発者はこの誤りで開発していることになる。
正しいSFL処理であれば、最初は 1ページ分だけ表示して、見つからなければ
ROLLUPキーを押せば次のページを表示されるように作られているのでパフォーマンスに優れ
無駄な読込みを行うこともないのである。
上記の(1)〜(3)に該当する処理はなかっただろうか ?
もしあればSFLの処理を誤解していることになる。