Returns the number of subscript levels in a variable.
||A string, or expression that evaluates to a string, that contains the name of a variable. The variable name can specify no subscripts or one or more subscripts.
$QLENGTH returns the number of subscript levels in var. $QLENGTH simply counts the number of subscript levels specified in var. The var variable does not have to be defined for $QLENGTH to return the number of subscript levels.
A quoted string, or expression that evaluates to a string, which specifies a variable. It can be a local variable, a process-private variable, or a global variable.
If the string is a global reference, var
can specify an extended global reference
by including a namespace name. Because var
is a quoted string, the quotes around a namespace reference must be doubled to be parsed correctly as literal quotation marks. For example, "^|""SAMPLES""|myglobal(1,4,6)"
. The same applies to the quotes in a process-private global with "^" syntax. For example, "^|""^""|ppgname(3,6)"
does not check whether the specified namespace exists or whether the user has access privileges for the namespace.
must specify a variable name in canonical form (a fully expanded reference). To use $QLENGTH
with a naked global reference
, or with indirection, you can use the $NAME
function to return the corresponding fully expanded reference.
The following example show the results of $QLENGTH when used with subscripted and unsubscripted globals. The first $QLENGTH takes a global with no subscripts and returns 0. The second $QLENGTH takes a global with two subscript levels and returns 2. Note that quotes found in the variable name are doubled because var is specified as a quoted string.
; returns 0
; returns 2
The following example returns the $QLENGTH value for a process-private global with three subscript levels. The $ZREFERENCE special variable contains the name of the most recently referenced variable.
WRITE !,$QLENGTH($ZREFERENCE) ; returns 3
The following example returns the $QLENGTH
value for a process-private global specified as a naked global reference
. The $NAME
function is used to expand the naked global reference to canonical form:
WRITE !,$QLENGTH($NAME(^(2))) ; returns 3
Content Date/Time: 2019-09-20 05:47:55