例
以下の例は、$DATA、$ORDER、および $QUERY 関数に対する引数として ^$JOB を使用する方法を示しています。
$DATA に対する引数としての ^$JOB
$DATA(^$JOB(job_number))
$DATA に対する引数としての ^$JOB は、指定したジョブが ^$JOB にノードとして存在するかどうかを示す整数値を返します。次のテーブルは、$DATA が返すことができる整数値を示しています。
値 |
意味 |
0 |
ジョブは存在しない |
1 |
ジョブが存在する |
以下の例は InterSystems IRIS プロセスの存在を調べています。
SET x=$JOB
WRITE !,$DATA(^$JOB(x))
変数 x は、現在のプロセスのジョブ番号に設定されます (例えば 4294219937)。WRITE はブーリアン 1 を返し、このプロセスが存在することを示します。
$ORDER に対する引数としての ^$JOB
$ORDER(^$JOB(job_number),direction)
$ORDER に対する引数としての ^$JOB は、指定したジョブ番号に対する照合順序で、次または前の ^$JOB ジョブ番号を返します。そのようなジョブ番号が ^$JOB ノードとして存在しない場合は、$ORDER は NULL 文字列を返します。
direction 引数は、次のジョブ番号を返すか、前のジョブ番号を返すかを指定します。direction 引数を指定しない場合、InterSystems IRIS は、指定したジョブ番号に対する照合順序で、次のジョブ番号を返します。詳細は、"$ORDER" 関数を参照してください。
以下のサブルーチンは InterSystems IRIS のジョブ・テーブルを検索し、JOB というローカル配列にあるジョブ番号を格納します。
JOB
SET pid=""
FOR i=1:1 {
SET pid=$ORDER(^$JOB(pid))
QUIT:pid=""
SET JOB(i)=pid
}
WRITE "Total Jobs in Job Table: ",i
QUIT
$QUERY に対する引数としての ^$JOB
$QUERY(^$JOB(job_number))
$QUERY に対する引数としての ^$JOB は、指定したジョブ番号に対する照合順序で、次の ^$JOB ジョブ番号を返します。そのようなジョブ番号が ^$JOB にノードとして存在しない場合は、$QUERY は NULL 文字列を返します。
以下の例は、InterSystems IRIS ジョブ・テーブルで最初 2 つのジョブを返します。間接指定演算子 (@) を使用します。
SET x=$QUERY(^$JOB(""))
WRITE !,x
WRITE !,$QUERY(@x)
これは、以下のようなジョブの値を返します。
^$JOB("4294117993")
^$JOB("4294434881")