Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

$ZEOF (ObjectScript)

ファイルの最後に到達したかどうかを示すフラグを含みます。

Synopsis

$ZEOF

概要

各シーケンシャル・ファイルの READ の後、InterSystems IRIS は、ファイルの最後に到達したかどうかを示す $ZEOF 特殊変数を設定します。

InterSystems IRIS は、最後に使用されたデバイスのファイル状況に $ZEOF を設定します。例えば、シーケンシャル・ファイルから読み取った後に主デバイスに書き込んだ場合、InterSystems IRIS は、$ZEOF を、シーケンシャル・ファイルの EOF 状況から主デバイスの状況に再設定します。したがって、シーケンシャル・ファイルの READ の直後に $ZEOF の値を確認する必要があります (さらに、必要に応じてその値を変数にコピーします)。

InterSystems IRIS は、$ZEOF を以下の値に設定します。

-1 は、ファイルの最後に到達したとき

0 は、ファイルの最後ではないとき

この機能を使用するには、シーケンシャル・ファイルの <ENDOFFILE> エラーをオフにします。

  • 現在のプロセスに対してこれを無効にするには、%SYSTEM.ProcessOpens in a new tab クラスの SetZEOF()Opens in a new tab メソッドを呼び出します。

  • これをシステム全体で無効にするには、Config.MiscellaneousOpens in a new tab クラスの SetZEOFOpens in a new tab プロパティを設定するか、管理ポータルで [システム管理][構成][追加設定][互換性] の順に選択します。SetZEOF の現在の設定を表示して編集します。このオプションは、シーケンシャル・ファイルの読み込み時に InterSystems IRIS が予期しないファイルの最後に到達したときの振る舞いを決めます。“true” に設定すると、InterSystems IRIS は、ファイルの最後に到達したことを示す $ZEOF 特殊変数を設定します。“false” に設定すると、InterSystems IRIS は <ENDOFFILE> エラーを発行します。既定は "false" です。

ファイルの最後に到達すると、READ は <ENDOFFILE> エラーを発行せずに NULL 文字列を返し、$ZB を null に、$ZEOF を -1 に設定します。

$ZEOF はファイル区切り文字、または入出力エラーを識別しません。$ZEOF は、ファイル区切り文字を使用して、ファイルが正しく終了しているかを確認しません。入出力エラーは $ZEOF ではなく、READ コマンド・エラーによって検知されます。

この特殊変数は、SET コマンドを使用して変更することはできません。変更を試みると、<SYNTAX> エラーが返されます。

関連項目

FeedbackOpens in a new tab