Skip to main content

ZZWRITE (ObjectScript)

Displays the values of variables or expressions.


ZZWRITE:pc expression,...


Argument Description
pc Optional — A postconditional expression.
expression A variable or expression to display, or a comma-separated list of variables and/or expressions to display. A comma-separated list can contain any combination of variables and expressions.


The ZZWRITE command evaluates an expression and displays a value on the current device. This expression can be a literal, local variable, process-private global, global variable, or special variable. ZZWRITE can evaluate a comma-separated list of expressions; it displays the results in the order specified, one expression per line. ZZWRITE displays the result of each expression as %val=value.

ZZWRITE without an argument is a no-op. It performs no operation and issues no error.


ZZWRITE, like ZWRITE, displays non-printing characters and encoded data such as InterSystems IRIS lists, bitstrings, and %Status strings in a human-readable format. It does not execute control characters. Both commands provide an extensive display of object reference (OREF) values, consisting of the OREF value followed by the same “general information”, “attribute values”, and (where appropriate) “swizzled references” and “calculated references” returned by the %SYSTEM.OBJ.Dump()Opens in a new tab method.

ZZWRITE displays the same data values as ZWRITE with an argument, with the following differences:

  • Variable Names: ZZWRITE displays the value of every expression or variable as %val=value. ZWRITE displays local, process-private, and global variables as varname=value, and literals, expressions, and special variables as value.

  • Undefined Variables: ZZWRITE issues an <UNDEFINED> error for an undefined variable. ZWRITE ignores undefined variables.

  • Subscripts: ZZWRITE displays the value of the specified subscript node. ZWRITE displays the subscript node and all defined subnodes in subscript tree order.

  • Extended Global Reference: ZZWRITE displays the value of an extended global reference as %val=value (like any other expression), giving no indication that the value is defined in another namespace. ZWRITE displays an extended global reference variable name showing the namespace that contains the global.

For further details on how various data values are displayed, refer to ZWRITE.

For tables comparing ZZWRITE with the WRITE, ZWRITE, and ZZDUMP commands, refer to Display (Write) Commands.



An optional postconditional expression. InterSystems IRIS executes the command if the postconditional expression is true (evaluates to a nonzero numeric value). InterSystems IRIS does not execute the command if the postconditional expression is false (evaluates to zero). For further details, refer to Command Postconditional Expressions.


An expression to evaluate, or a comma-separated list of expressions. An expression can consist of, or contain local variables, process-private globals, global variables, or special variables. It cannot be a private variable. Variables can be subscripted. Expressions are evaluated in strict left-to-right order.

You can use extended global reference to specify a global variable not mapped to the current namespace. If you specify a nonexistent namespace, InterSystems IRIS issues a <NAMESPACE> error. If you specify a namespace for which you do not have privileges, InterSystems IRIS issues a <PROTECT> error, followed by the global name and database path, such as the following: <PROTECT> ^myglobal,c:\intersystems\iris\mgr\. For further information on subscripted variables and extended global reference, refer to Formal Rules about Globals and Extended Global References.

See Also

FeedbackOpens in a new tab