The documentation of $LISTDATA says, with regards to the third argument, that:
The var parameter cannot be a non-multidimensional object property. Attempting to write a value to a non-multidimensional object property results in an error.
OK, so my understanding is as follows: if you declare, say:
Property foo as %String;
and then try to:
$listdata(whatever, whatever, ..foo)
then this is an error. However, if foo
was declared as:
Property foo [ Multidimensional ];
then there wouldn't be an error.
Is that it, or is this more subtle? for instance, what if I declare:
Property foo as list of %String;
would that be multidimensional?
Multidimensional means that property has the characteristics of a multidimensional array.
Property foo as list of %String;
would throw an error