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?

InterSystems コールアウトのクイック・リファレンス

$ZF() 関数は、1 つまたは 2 つの数値引数によって識別される従属関数のセットを提供します (例えば、$ZF(-100) 従属関数は外部プログラムまたはシステム・コマンドを実行し、$ZF(-4,1) 従属関数はコールアウト・ライブラリをロードします)。以下のリストは、特有の $ZF() 従属関数を識別する引数のみを示しています。これら関数の大半も、各関数の詳細エントリに記述されているように追加の引数を取ります。

関数の詳細な説明は、以下の見出しの下に構成されています。

  • 静的にリンクされた関数の使用

    • $ZF() (従属関数引数なし) — Caché の現在のインスタンスに静的にリンクされているコールアウト関数を呼び出します。

  • $ZF(-100) : プログラムまたはシステム・コマンドの実行

    • $ZF(-100) — プログラムまたはシステム・コマンドを実行します。

  • $ZF(-3) および $ZF(-5) : 名前でのライブラリへのアクセス

    • $ZF(-3) — コールアウト・ライブラリをロードし、ライブラリ関数を呼び出します。

    • $ZF(-4,1) — 名前によって指定されるコールアウト・ライブラリをロードし、それに対する ID 番号を返します。

    • $ZF(-4,2) — ID 番号によって指定されるコールアウト・ライブラリをアンロードするか、またはすべてのライブラリをアンロードします。

    • $ZF(-4,3) — 指定されたライブラリ内の関数の ID 番号を返します。

    • $ZF(-5) — システム定義の ID 番号によって参照されるコールアウト・ライブラリから関数を呼び出します。

  • $ZF(-6) : ユーザ・インデックスによるライブラリへのアクセス

    • $ZF(-4,4) — インデックス番号によって指定されるコールアウト・ライブラリをアンロードします。

    • $ZF(-4,5) — コールアウト・システム・インデックス・テーブル内でエントリを作成します。

    • $ZF(-4,6) — コールアウト・システム・インデックス・テーブル内でエントリを削除します。

    • $ZF(-4,7) — コールアウト・プロセス・インデックス・テーブル内でエントリを作成します。

    • $ZF(-4,8) — コールアウト・プロセス・インデックス・テーブル内でエントリを削除します。

    • $ZF(-6) — ユーザ指定のインデックス番号によって参照されるコールアウト・ライブラリから関数を呼び出します。

静的にリンクされた関数の使用

関数が Caché と静的にリンクされると (“静的にリンクされたコールアウト関数” の説明を参照)、コールアウト・ライブラリをロードしたりライブラリ名または識別子を指定したりする必要なく直ちに $ZF() で利用可能になります。

$ZF()

静的にリンクされた関数を呼び出します。別のコールアウト・ライブラリをロードおよび識別する必要がないため、従属 $ZF 関数呼び出しは必要ありません。

  retval = $ZF(func_name[, arg1[, ...argN]])
  retval = $ZF(func_id[, arg1[, ...argN]])

パラメータ :

  • func_name — ZFEntry テーブルに指定されているライブラリ関数の名前 (“ZFEntry テーブルの作成” を参照)。

  • func_id — ZFEntry テーブル内のライブラリ関数のシーケンス番号。この番号が既知の場合は、アクセスを速くするために関数名の代わりに使用されます (エントリは 1 から連番で番号が付けられます)。

  • args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。

これは、以下を返します。

  • retval — ライブラリ関数の出力値、またはライブラリ関数が出力値を設定しない場合は NULL

関連項目 :

詳細と例は、“InterSystems コールアウト・ライブラリの作成” および “静的にリンクされたコールアウト関数” を参照してください。DSM VMS のみについては、“DSM に代わる $ZF 関数呼び出し” にシステム・サービスの Zcall 関数をエミュレートするための Caché が提供する一連の $ZF 関数が説明されています。

$ZF(-100) : プログラムまたはシステム・コマンドの実行

$ZF(-100) 関数は、外部プログラムまたはシステム・コマンドを実行するため、またはオペレーティング・システム・シェルを起動するために使用されます。これは、コールアウト・ライブラリなしで使用できる唯一の $ZF 関数です (詳細と例は、“$ZF(-100) を使用したプログラムまたはシステム・コマンドの実行” を参照してください)。

$ZF(-100)

プログラムまたはオペレーティング・システム・コマンドを実行します。

   $ZF(-100, keyword_flags, program, arguments )

パラメータ :

  • keyword_flags — (オプション) 形式が /keyword のフラグのシーケンスで構成される文字列式。キーワードは大文字でも小文字でもかまいません。また、フラグ間に空白を使用できます。以下で説明しているように、入出力リダイレクトのキーワードの後ろには演算子とパス文字列 (/keyword=path または /keyword+=path) が続きます (“キーワードの指定” を参照)。

  • program — 実行するプログラムを指定します。これには、フル・パスまたは単なる名前を指定できます。この場合、オペレーティング・システムの通常の検索パス・ルールが適用されています。

  • arguments — (オプション) プログラムの引数のコンマ区切りリスト。可変個数のパラメータを arg... 構文で指定することもできます ("ObjectScript の使用法" の “可変個数のパラメータ” を参照)。

これは、以下を返します。

以下の状態コードのいずれか :

  • -1 — オペレーティング・システム・エラーが発生したので、詳細が SYSLOG に記録されます。

  • 0/ASYNCH が指定されている場合、プログラムが正常に開始されたことを示します。

  • status/ASYNCH が指定されていない場合、status は、プログラムの終了時にプログラムから返される終了コードです (0 または正の数値)。

キーワードの指定

以下のキーワードは、プログラムの実行とログへの記録を制御します。

  • /SHELL — プログラムをオペレーティング・システム・シェル内で呼び出す必要があることを示します。既定では、シェルは使用されません。

  • /ASYNC — プログラムを非同期で実行する必要があることを示します。これにより $ZF(-100) の呼び出しから、プログラムの完了を待たずに値が返されます。

  • /LOGCMD — プログラムのコマンド行が messages.log に記録されるようになります。これは、引数をプログラムで受け取られたとおりに表示する方法を提供するデバッグ・ツールです。

以下のキーワードとファイル指定子は、入出力リダイレクトを制御します。

  • /STDIN=input-file

  • /STDOUT=output-file または /STDOUT+=output-file

  • /STDERR=error-file または /STDERR+=error-file

入出力リダイレクト・キーワードの後ろには、演算子 ( = または += ) と、ファイル名またはファイル・パスが続きます。演算子の前後にスペースを入れることができます。標準の入力は、既存のファイルを指す必要があります。標準の出力および標準のエラー・ファイルは、存在しない場合は作成され、既に存在する場合は切り捨てられます。ファイルを作成または切り捨てるには = 演算子を使用し、既存のファイルに追加を行うには += 演算子を使用します。標準のエラーと標準の出力が同一のファイルに送信されるようにするには、両方のキーワードに同じファイルを指定します。

関連項目 :

詳細と例は、“$ZF(-100) を使用したプログラムまたはシステム・コマンドの実行” を参照してください。

$ZF(-3) および $ZF(-5) : 名前でのライブラリへのアクセス

$ZF(-3) 関数と $ZF(-5) 関数を使用すると、アプリケーションで InterSystems コールアウト共有ライブラリをロードして実行時にライブラリ関数を呼び出すことができます。ライブラリ・パスとライブラリ関数名は、呼び出し元のアプリケーションが認識している必要があります。$ZF(-3) は、ライブラリ名と関数名を引数として指定します。$ZF(-5) は、ライブラリと関数をシステム定義の ID 番号によって指定します。$ZF(-5) を使用する前に、ライブラリ名と関数名を引数として使用するユーティリティ関数 ($ZF(-4,1)$ZF(-4,3)) を呼び出すことによって ID 番号を取得する必要があります。

$ZF(-3)

コールアウト・ライブラリをロードし、ライブラリ関数を実行します。一度にロードできるのは 1 つの $ZF(-3) ライブラリのみです。$ZF(-3) への呼び出しで、前の呼び出しとは異なるライブラリを指定する場合、前のライブラリはアンロードされ、置き換えられます。

   retval = $ZF(-3, lib_name, func_name[, arg1[, ...argN]])
   retval = $ZF(-3, lib_name, func_id[, arg1[, ...argN]])

パラメータ :

  • lib_name — ZFEntry テーブルに示されているコールアウト・ライブラリの名前 (“ZFEntry テーブルの作成” を参照)。ライブラリが既に前の $ZF(-3) の呼び出しによってロードされている場合は、空の文字列 ("") を使用して現在のライブラリを指定できます。

  • func_name — コールアウト・ライブラリ内で検索する関数の名前。

  • func_id — ZFEntry テーブル内のライブラリ関数のシーケンス番号。この番号が既知の場合は、アクセスを速くするために関数名の代わりに使用されます (エントリは 1 から連番で番号が付けられます)。

  • args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。

これは、以下を返します。

  • retval — ライブラリ関数の出力値、またはライブラリ関数が出力値を設定しない場合は NULL

関連項目 :

詳細と例は、“単純なライブラリ関数呼び出しでの $ZF(-3) の使用” を参照してください。ZFEntry テーブル・シーケンス番号を取得する別の方法は、$ZF(-4,3) を参照してください。

$ZF(-4, 1)

$ZF(-5) で使用されるユーティリティ関数。名前によって指定されるコールアウト・ライブラリをロードし、それに対する ID 番号を返します。

  lib_id = $ZF(-4,1, lib_name)

パラメータ :

  • lib_name — ロードされるコールアウト・ライブラリの名前。

これは、以下を返します。

  • lib_idlib_name を参照するために使用されるシステム定義識別子。

関連項目 :

詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。

$ZF(-4, 2)

$ZF(-5) で使用されるユーティリティ関数。ID 番号によって指定されるコールアウト・ライブラリをアンロードします。ID が指定されていない場合、$ZF(-4,1) または $ZF(6) のいずれかによってロードされたプロセスにあるすべてのライブラリがアンロードされます。$ZF(-3) によってロードされたライブラリはアンロードされません。

  $ZF(-4,2[,lib_id])

パラメータ :

  • lib_id$ZF(-4,1) によって返されるシステム定義識別子。指定されていない場合は、$ZF(-4,1) または $ZF(6) によってロードされたすべてのライブラリがアンロードされます。

関連項目 :

詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。ライブラリ ID パラメータを指定せずに $ZF(-4,2) を使用する例は、“テストでのプロセス・インデックスの使用” も参照してください。

$ZF(-4, 3)

$ZF(-5) で使用されるユーティリティ関数。指定されたライブラリ ID と関数名を持つ関数の ID 番号を返します。この番号は、実際には ZFEntry テーブル内の関数のシーケンス番号です (“ZFEntry テーブルの作成” を参照)。

  func_id = $ZF(-4,3, lib_id, func_name)

パラメータ :

  • lib_id$ZF(-4,1) によって返されるシステム定義のライブラリ識別子。

  • func_name — コールアウト・ライブラリ内で検索する関数の名前。

これは、以下を返します。

  • func_id — 指定されたライブラリ関数の返された ID 番号。

関連項目 :

詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。

Note:

$ZF(-4, 4) から $ZF(-4, 8) については、次のセクション (“インデックス付きのコールアウト・ライブラリの使用”) を参照してください。

$ZF(-5)

システム定義の ID 番号によって参照されるコールアウト・ライブラリから関数を呼び出します。

   retval = $ZF(-5,lib_id,func_id,args)

パラメータ :

  • lib_id$ZF(-4,1) によって指定されるコールアウト・ライブラリ ID 番号。

  • func_id$ZF(-4,3) によって指定されるライブラリ関数 ID 番号。

  • args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。

これは、以下を返します。

  • retval — ライブラリ関数の出力値、またはライブラリ関数が出力値を設定しない場合は NULL

関連項目 :

詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。

$ZF(-6) : ユーザ・インデックスによるライブラリへのアクセス

$ZF(-6) インタフェースは、ユーザ定義のインデックス・テーブルを介してコールアウト・ライブラリへのアクセスを可能にします。共有ライブラリ・ファイルの場所を認識していないアプリケーションでも使用可能です。ユーティリティ関数 $ZF(-4, 4) から $ZF(-4, 8) は、インデックスの作成および維持に使用されます。

Note:

$ZF(-4, 1)$ZF(-4, 2)、および $ZF(-4, 3) については、前のセクション (“$ZF(-3) および $ZF(-5) : 名前でのライブラリへのアクセス”) を参照してください。

$ZF(-4, 4)

$ZF(-6) で使用されるユーティリティ関数。インデックス番号によって指定されるコールアウト・ライブラリをアンロードします。

   $ZF(-4,4,lib_index)

パラメータ :

  • lib_index — ユーザ指定のコールアウト・ライブラリ・インデックス番号 ($ZF(-4,5) または $ZF(-4,7) によって作成)。

関連項目 :

詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。

$ZF(-4, 5)

$ZF(-6) で使用されるユーティリティ関数。コールアウト・システム・インデックス・テーブル内にエントリを作成します。

   $ZF(-4,5,lib_index,lib_name)

パラメータ :

  • lib_index — コールアウト・ライブラリを参照するために使用される一意のユーザ指定番号。

  • lib_name — インデックスが付けられるコールアウト・ライブラリの名前。

関連項目 :

ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” の詳細と例。

$ZF(-4, 6)

$ZF(-6) で使用されるユーティリティ関数。コールアウト・システム・インデックス・テーブル内のエントリを削除します。

   $ZF(-4,6,lib_index)

パラメータ :

  • lib_index$ZF(-4,5) への呼び出しによって前に定義されたインデックス番号。この引数は必須です (省略可能な $ZF(-4,8) とは異なります)。

関連項目 :

詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。

$ZF(-4,7)

$ZF(-6) で使用されるユーティリティ関数。コールアウト・プロセス・インデックス・テーブル内にエントリを作成します。

   $ZF(-4,7,lib_index,lib_name)

パラメータ :

  • lib_index — コールアウト・ライブラリを参照するために使用される一意のユーザ指定番号。

  • lib_name — インデックスが付けられるコールアウト・ライブラリの名前。

関連項目 :

詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。

$ZF(-4,8)

$ZF(-6) で使用されるユーティリティ関数。コールアウト・プロセス・インデックス・テーブル内からエントリを削除します。インデックス番号が指定されていない場合、すべてのインデックス・エントリが削除されます。

   $ZF(-4,8,lib_index)

パラメータ :

  • lib_index — (オプション) $ZF(-4,7) への呼び出しによって前に定義されたインデックス番号。指定されていない場合、すべてのインデックス・エントリが削除されます。

関連項目 :

詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。

Note:

$ZF(-5) については、前のセクション (“$ZF(-3) および $ZF(-5) : 名前でのライブラリへのアクセス”) を参照してください。

$ZF(-6)

インデックス付きのコールアウト・ライブラリ内の関数を検索して実行します。

   retval = $ZF(-6,lib_index,func_id,args)

パラメータ :

  • lib_index — コールアウト・ライブラリに対するユーザ指定のインデックス ($ZF(-4,5) または $ZF(-4,7) によって作成)。

  • func_id — (オプション) $ZF(-4,3) から提供された、コールアウト・ライブラリ内の関数の ID 番号。これを省略した場合は、呼び出しによって lib_index の妥当性を検証し、ライブラリをロードして、完全なライブラリ・ファイル名を返します。

  • args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。

これは、以下を返します。

  • retval — ライブラリ関数の出力値、またはライブラリ関数が出力値を設定しない場合は NULL

関連項目 :

詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。

FeedbackOpens in a new tab