RECORD 条件

切り詰められたレコードを識別します。

有効/無効の状態

常に有効です。

結果

指定されたファイルの長さのプレフィックスが正確に送信されないことがあります。

発生

READ、WRITE、または REWRITE 操作中、次の場合に発生します。

  • レコード変数がレコード サイズよりも小さい。これには以下の理由のいずれかが考えられます。
    • レコードが READ INTO 文の変数よりも大きい。残りのレコードは失われます。
    • 固定長レコードを含むファイルに指定されたレコード長が WRITE 文または REWRITE 文の変数よりも大きい。残りのレコードは不確定です。変数が可変長文字列である場合、SCALARVARYING オプションがファイルに適用されていると、RECORD 条件は発生しません。
  • レコード変数がレコード サイズよりも大きい。これには以下の理由のいずれかが考えられます。
    • 固定長レコードを含むファイルに指定されたレコード長が READ INTO 文の変数よりも小さい。残りの変数は不確定です。変数が可変長文字列である場合、SCALARVARYING オプションがファイルに適用されていると、RECORD 条件は発生しません。
    • 最大レコード長が WRITE 文または REWRITE 文の変数よりも小さい。残りの変数は失われます。
    • WRITE 文または REWRITE 文の変数が長さゼロを示している。送信は行われません。変数が可変長文字列である場合、SCALARVARYING オプションがファイルに適用されていると、RECORD 条件は発生しません。
  • レコード変数の長さがゼロであるか、埋め込みキーを格納するには短すぎる。これは、WRITE 文または REWRITE 文の変数が埋め込みキーを格納するには短すぎるために発生します。

制約事項

  • RECORD 条件の ON-unit でファイルが閉じた場合、通常の復帰の結果は未定義になります。ファイルが閉じた ON-unit を終了するには、GO TO 文を使用する必要があります。
  • SCALARVARYING オプションがファイルに適用されている場合、局所モードを使用して可変長文字列を送信すると、2 バイトの長さのプレフィックスが要素の可変長文字列とともに送信されます。RECORD 条件が発生しても、長さのプレフィックスはリセットされません。SCALARVARYING オプションがファイルに適用されていない場合、長さのプレフィックスは送信されません。可変長文字列の現在の長さは、入力時にレコード長と文字列の最大長の短い方に設定されます。

構文

RECORD file-reference

パラメーター

file-reference
スカラーのファイル参照。

その他の情報

条件コード
20 から 24
暗黙の処理
メッセージを出力し、ERROR 条件を発生させます。
通常の復帰
RECORD が発生した文の直後の文から実行を続行します。未定義の場合もあります。上記の「制約事項」を参照してください。