Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$ZEOF

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

Synopsis

$ZEOF

概要

以下の各シーケンシャル・ファイル READ では、ファイルの最後に到達したかを示すために、Caché は $ZEOF 特殊変数を設定します。この特殊変数は、$ZC デバイス状況をチェックするのに使用される MSM ルーチンとの互換性のために提供されています。

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

Caché は、$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 の現在の設定を表示して編集します。このオプションは、シーケンシャル・ファイルの読み込み時に Caché が予期しないファイルの最後に到達したときの振る舞いを決めます。“true” に設定すると、Caché は、ファイルの最後に到達したことを示す $ZEOF 特殊変数を設定します。“false” に設定すると、Caché は <ENDOFFILE> エラーを発行します。既定は "false" です。

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

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

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

関連項目

FeedbackOpens in a new tab