READ
命令によってレコードを読めば、それ以上レコードがない、
つまりファイルの終わりに達したということが判明するが、これを
レコードを読まずに判定できる方法はないものだろうか ?
実は、実際にレコードを読まなくても SETGT
によって
キーを位置付けるだけで判定することができるのである。
SETGT (上限のセット) |
・・・・・・ |
キーをセットした後ろにレコードが存在しない場合は
54桁目の標識がオンになり、 NOT %FOUND となる。
|
---|
C 'NV-CF1 ' SETGT SHOHIN 50 C IF NOT %FOUND C 'NOT FOUND' DSPLY ANS 1 C ELSE C 'FOUND' DSPLY ANS 1 C ENDIF
商品マスター(SHOHIN
) に対して NV-CF1
という商品コードで SETGT
でセット
した場合に NV-CF1
の次のレコードが存在しない場合は
標識 50
がオンになり、NOT FOUND
と表示される。
レコードを読まずに EOF
を知ることができるようにするのは意味がある。
READ 命令でレコードを実際に読んだのでは、レコードが存在したしたときには
読まれたレコードのフィール値が書き換えられたしまうからである。
フィールド値を更新せずら、あらかじめ次のレコードは、もはや存在しない、ということを
知ることができれば Web アプリケーションで HTML に、そのことを非表示(HIDDEN
) で
記述したおけば、エンド・ユーザーが「次へ」ボタンを押したときに
JavaScript の alert
によって「レコードがありません。」のようなエラー・メッセージを
直ちに出すことができる。