DATA FunctionΒΆ

Material prepared from M Programming Book [WALTERS1997]

Page 138-140.

The data function is used to find the value and descendent status of a local or global variable. It returns an integer code to give this information. The four return values are as follows:

-If the variable is undefined, $DATA() returns 0. -If the variable has a value but no descendants, $DATA() returns 1. -If the variable has descendants but no value, $DATA() returns 10. -If the variable has a value and descendants, $DATA() returns 11.

Example:

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>

This uses $DATA to display all possible $DATA() results.

Example:

lock ^ACCT(0) if ‘$data(^ACCT(0)) set ^ACCT(0)=0 set (ACCT,^ACCT(0))=^ACCT(0)+1 lock

This uses $DATA() to determine whether a global node requires initialization.

Example:

for set cus=$O(^cus(cus)) quit:cus=”” if $data(^(cus))>1 do WORK

This uses $DATA() to determine whether a global node has descendants and requires additional processing.