Skip to main content


datatype class SYS.DataCheck.GlobalReference extends %Library.Binary


Datatype for global node names used in DataCheck. Only to be used in the context of DataCheck.

Valid global references contain no extended reference, no naked references, and only literal subscripts. In their normalized form they include a leading ^. Consumers should check validity and normalize (via Normalize() or by validating the class which has this datatype as a property) before using the reference.

Null is a valid global reference for DataCheck and represents the end of the universe of possible subscripts for any global. In other words, "" collates after any other valid global reference.

Null appearing as a subscript is valid and represents the beginning of the range of the subscript level in which it appears. In other words, ^X(123,"") collates before ^X(123, followed by any other subscripts).

Method Inventory


parameter MAXLEN;
Global References are not limited by number of characters, but by the length of their encoded representation


classmethod DisplayToLogical(%val As %Binary) as GlobalReference
Converts from quoted display form back to normalized GlobalReference format, or -1 on error
classmethod IsValid(%val As GlobalReference, Output normalized As GlobalReference) as %Status
Returns $$$OK if the global reference in '%val' is valid, or an error status if invalid. If valid, the normalized value is returned by reference in the 'normalized' parameter. Note that a global reference which passes this test, although syntactically valid, may not actually be usable depending on the changeable state of the system. For example, upon using a valid global reference in a database operation, one may still encounter errors like if the collation of the global does not allow a particular subscript, or if it contains a null subscript and null subscript support is turned off.
classmethod LogicalToDisplay(%val As GlobalReference) as %String
Quotes subscripts for display purposes and converts "" to an end-of-global marker for display purposes
classmethod Normalize(%val As GlobalReference) as GlobalReference
Returns the non-null global reference, including the "^", passed though $name, or null if the global reference is null. This method will validate the global reference and throw an error if the global reference is invalid. You may use IsValid() with the 'normalized' output parameter avoid errors.

Inherited Members

Inherited Methods

FeedbackOpens in a new tab