InterSystems コールアウトのクイック・リファレンス
$ZF() 関数は、1 つまたは 2 つの数値引数によって識別される従属関数のセットを提供します (例えば、$ZF(-100) 従属関数は外部プログラムまたはシステム・コマンドを実行し、$ZF(-4,1) 従属関数はコールアウト・ライブラリをロードします)。以下のリストは、特有の $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 に記録されるようになります。これは、引数をプログラムで受け取られたとおりに表示する方法を提供するデバッグ・ツールです。
以下のキーワードとファイル指定子は、入出力リダイレクトを制御します。
入出力リダイレクト・キーワードの後ろには、演算子 ( = または += ) と、ファイル名またはファイル・パスが続きます。演算子の前後にスペースを入れることができます。標準の入力は、既存のファイルを指す必要があります。標準の出力および標準のエラー・ファイルは、存在しない場合は作成され、既に存在する場合は切り捨てられます。ファイルを作成または切り捨てるには = 演算子を使用し、既存のファイルに追加を行うには += 演算子を使用します。標準のエラーと標準の出力が同一のファイルに送信されるようにするには、両方のキーワードに同じファイルを指定します。
関連項目 :
詳細と例は、“$ZF(-100) を使用したプログラムまたはシステム・コマンドの実行” を参照してください。"ObjectScript リファレンス" の "$ZF(-100) (ObjectScript)" も参照してください。
$ZF() : iriszf ライブラリの呼び出し
$ZF() を負の数の引数なしで呼び出した場合 (例えば $ZF("myFunction",arg))、この関数は iriszf という名前のカスタム・コールアウト・ライブラリから関数の呼び出しを試行します (“$ZF() を使用した iriszf コールアウト・ライブラリへのアクセス” を参照)。
$ZF()
iriszf という名前のカスタム・コールアウト・ライブラリから関数の呼び出しを試行します。このライブラリを作成してインストールすると、その関数はすぐに $ZF() で利用できるようになり、ライブラリをロードしたり、ライブラリ識別子を指定したりする必要はありません。
retval = $ZF(func_name[, arg1[, ...argN]])
パラメータ :
これは、以下を返します。
関連項目 :
詳細と例は、“InterSystems コールアウト・ライブラリの作成” および “$ZF() を使用した iriszf コールアウト・ライブラリへのアクセス” を参照してください。"ObjectScript リファレンス" の "$ZF() (ObjectScript)" も参照してください。
$ZF(-3) : 名前による呼び出し
$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 — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。
これは、以下を返します。
関連項目 :
詳細と例は、“単純なライブラリ関数呼び出しでの $ZF(-3) の使用” を参照してください。ZFEntry テーブル・シーケンス番号を取得する別の方法は、$ZF(-4,3) を参照してください。"ObjectScript リファレンス" の "$ZF(-3) (ObjectScript)" も参照してください。
$ZF(-5) : システム ID による呼び出し
$ZF(-5) 関数を使用すると、アプリケーションで InterSystems コールアウト共有ライブラリをロードして実行時にライブラリ関数を呼び出すことができます。ライブラリ・パスとライブラリ関数名が呼び出し元のアプリケーションによって認識されている必要があります。ライブラリと関数は、システム定義 ID 番号によって指定されます。
ユーティリティ関数 $ZF(-4,1)、$ZF(-4,2)、$ZF(-4,3) は、$ZF(-5) でのみ使用されます。これらは、ライブラリ ID 番号を取得し、ライブラリをロードまたはアンロードするサービスを提供します。
$ZF(-5)
システム定義の ID 番号によって参照されるコールアウト・ライブラリから関数を呼び出します。
retval = $ZF(-5,lib_id,func_id,args)
パラメータ :
-
lib_id — $ZF(-4,1) によって指定されるコールアウト・ライブラリ ID 番号。
-
func_id — $ZF(-4,3) によって指定されるライブラリ関数 ID 番号。
-
args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。
これは、以下を返します。
関連項目 :
詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。"ObjectScript リファレンス" の "$ZF(-5) (ObjectScript)" と "$ZF(-4) (ObjectScript)" も参照してください。
$ZF(-4, 2)
$ZF(-5) で使用されるユーティリティ関数。ID 番号によって指定されるコールアウト・ライブラリをアンロードします。ID が指定されていない場合、$ZF(-4,1) または $ZF(6) のいずれかによってロードされたプロセスにあるすべてのライブラリがアンロードされます。$ZF(-3) によってロードされたライブラリはアンロードされません。
$ZF(-4,2[,lib_id])
パラメータ :
関連項目 :
詳細と例は、“システム ID によるライブラリへのアクセスでの $ZF(-5) の使用” を参照してください。ライブラリ ID パラメータを指定せずに $ZF(-4,2) を使用する例は、“テストでのプロセス・インデックスの使用” も参照してください。"ObjectScript リファレンス" の "$ZF(-5) (ObjectScript)" と "$ZF(-4) (ObjectScript)" も参照してください。
Note:
ユーティリティ関数 $ZF(-4, 4) から $ZF(-4, 8) については、次のセクション (“$ZF(-6) : ユーザ・インデックスによる呼び出し”) を参照してください。
$ZF(-6) : ユーザ・インデックスによる呼び出し
$ZF(-6) インタフェースは、ユーザ定義のインデックス・テーブルを介してコールアウト・ライブラリへのアクセスを可能にします。共有ライブラリ・ファイルの場所を認識していないアプリケーションでも使用可能です。
ユーティリティ関数 $ZF(-4, 4) から $ZF(-4, 8) は、$ZF(-6) によってのみ使用されます。これらは、ライブラリをアンロードし、インデックスを作成または維持するサービスを提供します。
$ZF(-6)
インデックス付きのコールアウト・ライブラリ内の関数を検索して実行します。
retval = $ZF(-6,lib_index,func_id,args)
パラメータ :
-
lib_index — コールアウト・ライブラリに対するユーザ指定のインデックス ($ZF(-4,5) または $ZF(-4,7) によって作成)。
-
func_id — (オプション) ライブラリの ZFEntry テーブル内の関数インデックスである、コールアウト・ライブラリ内の関数の ID 番号。これを省略した場合は、呼び出しによって lib_index の妥当性を検証し、ライブラリをロードして、完全なライブラリ・ファイル名を返します。
-
args — (オプション) ライブラリ関数で必要とされる引数を含むコンマ区切りリスト。
これは、以下を返します。
関連項目 :
詳細と例は、“ユーザ・インデックスによるライブラリへのアクセスでの $ZF(-6) の使用” を参照してください。"ObjectScript リファレンス" の "$ZF(-6) (ObjectScript)" と "$ZF(-4) (ObjectScript)" も参照してください。
Note:
ユーティリティ関数 $ZF(-4, 1)、$ZF(-4, 2)、$ZF(-4, 3) については、前のセクション (“$ZF(-5) : システム ID による呼び出し”) を参照してください。