エイリアスとエイリアスのコンテナの変数を識別するための、lvn または name の引数の現在のエイリアスの状態を反映するために $DATA() を拡張します。それは、エイリアス変数としてトランザクション内のTP RESTART 変数と同様に、参照渡し(pass-by-reference) を介して結合された変数を扱います。しかし、それらの下位ノードの間でエイリアスのコンテナを持っているノードを区別しません。
$DATA()が返す4つの標準Mの結果に加え、$ZData() は以下のような値を返します:
初期化されていないエイリアスまたはエイリアスのコンテナの場合は、100
下位ノードのないエイリアスまたはエイリアスのコンテナの場合は、101
下位ノードのあるエイリアスまたはエイリアスのコンテナの場合は、111
データと下位ノードのための既存 $DATA() のテストは、標準的な方法での他の変数だけでなく、エイリアスとエイリアスのコンテナの変数にレポートします。アプリケーションがエイリアスとエイリアスのコンテナ変数を使用する時、必要な場合は、$ZDATA() は追加情報を提供します。
例:
GTM>set a=1,*b(1)=a,*c=d GTM>write $data(a)," ",$zdata(a) 1 101 GTM>write $data(b)," ",$zdata(b) 10 10 GTM>write $data(c)," ",$zdata(c) 0 100 GTM>write $data(d)," ",$zdata(d) 0 100 GTM>write $data(b(1))," ",$zdata(b(1)) 1 101 GTM>set b(1,2)=2 GTM>write $data(b(1))," ",$zdata(b(1)) 11 111 GTM>write $data(b(1,2))," ",$zdata(b(1,2)) 1 1 GTM>