状態キー 1 の値が「4」で、論理誤り条件が発生したことが示されている場合、状態キー 2 にはその原因を示す次のいずれかの値が設定される。
1 | (すべてのファイル) すでに開かれているファイルに対して、OPEN 文を実行しようとしたことを示す。 |
2 | (すべてのファイル) 開かれていないファイルに対して、CLOSE 文を実行しようとしたことを示す。 |
3 | (すべてのファイル、順呼び出しの場合のみ) 関連ファイルに入出力操作を実行した後に DELETE 文または REWRITE 文を実行したが、その直前の入出力操作が、正常に実行された READ 文ではない。 |
4 | (レコード順編成ファイルのみ) 境界違反が発生したことを示す。考えられる原因は、関連ファイルの RECORD IS VARYING 句で許容される最大レコードよりも長いレコード、または最小レコードよりも短いレコードを WRITE または REWRITE しようとしたことである。 |
5 | (すべてのファイル) ファイルのレコードを REWRITE しようとしたが、そのレコードのサイズが、書き換え先のレコードと同じではない。
|
6 | (すべてのファイル) 入力モードまたは入出力両用モードで開かれているファイルに対して、順呼び出しの READ 文を実行しようとしたが、有効な次のレコードが存在しないことを示す。これは、次の条件によって発生する可能性がある。
|
7 | (すべてのファイル) 入力モードまたは入出力両用モードで開かれていないファイルに対して READ 文または START 文を実行しようとしたことを示す。 |
8 | (すべてのファイル) 入出力モード、出力モード、または拡張モードで開かれていないファイルに対して、または順呼び出しの入出力モードで開かれたファイルに対して、WRITE 文を実行しようとしたことを示す。 |
9 | (すべてのファイル) 入出力両用モードで開かれていないファイルに対して、DELELTE 文または REWRITE 文を実行しようとしたことを示す。 |