ローカル変数またはグローバル変数の、値と下位ノードの状態とを記述する整数コードを返します。
$DATA()関数のフォーマット:
$D[ATA](glvn)
添字または添字なしのグローバルまたはローカル変数名は、ターゲットのノードを指定します。
もし変数が定義されていない場合、$DATA() は0を返します。
もし変数が値を持つが下位ノードが無い場合は、$DATA() は1を返します。
もし変数が下位ノードはあるが値が無い場合は、$DATA() は10を返します。
もし変数が値を持ち下位ノードもある場合は、$DATA() は11を返します。
$ZData() は、エイリアスとエイリアスのコンテナの変数を識別するための、lvn または name の引数の現在のエイリアスの状態を反映する $DATA() を拡張します。詳細な情報と使用例については、 "$ZDATA()" を参照してください。
次の表は、$ZDATA() の返り値をまとめたものです。
$DATA() の戻り値は、Mは先頭にゼロ(下位ノードを表さない)を抑制し、そして、下位ノードを記述する左とデータ 1を記述する右との真理値のペアとして理解することができます。
例:
GTM>Kill Write $Data(a) 0 GTM>Set a(1)=1 Write $Data(a(1)) 1 GTM>Write $Data(a) 10 GTM>Set a=0 Write $Data(a) 11 GTM>
これは、すべての$DATA()が可能な結果を表示するために$DATAを使用しています。
例:
lock ^ACCT(0) if '$data(^ACCT(0)) set ^ACCT(0)=0 set (ACCT,^ACCT(0))=^ACCT(0)+1 lock
これはグローバルノードが初期化を必要とするかどうかを確認するために$DATA() を使用しています。
例:
for set cus=$O(^cus(cus)) quit:cus="" if $data(^(cus))>1 do WORK
これはグローバルノードが下位ノードを持っているかどうかを確認するために$DATA()を使用し、追加の処理を必要とします。