Trace (GenericNamedArraylist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
mNo edit summary
Line 2: Line 2:
<var>Trace</var> displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> in a readable form, useful for debugging, for example.  Trace is identical to [[Print (NamedArraylist subroutine)|Print]], except the result is
<var>Trace</var> displays the contents of a <var>[[FloatNamedArraylist class|FloatNamedArraylist]]</var>, <var>[[NamedArraylist class|NamedArraylist]]</var>, or <var>[[UnicodeNamedArraylist class|UnicodeNamedArraylist]]</var> in a readable form, useful for debugging, for example.  Trace is identical to [[Print (NamedArraylist subroutine)|Print]], except the result is
sent to the selected Trace stream (like the <var class="product">User Language</var> <var>Trace</var> statement).
sent to the selected Trace stream (like the <var class="product">User Language</var> <var>Trace</var> statement).
 
==Syntax==
==Syntax==
{{Template:GenericNamedArraylist:Trace syntax}}
{{Template:GenericNamedArraylist:Trace syntax}}
 
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>%anyNal</th>
<tr><th>anyNal</th>
<td>A <var>FloatNamedArraylist</var>, <var>NamedArraylist</var>, or <var>UnicodeNamedArraylist</var> object. </td></tr>
<td>A <var>FloatNamedArraylist</var>, <var>NamedArraylist</var>, or <var>UnicodeNamedArraylist</var> object. </td></tr>
 
<tr><th>itemFunction</th>
<tr><th>itemFunction</th>
<td>The method that is applied to <var class="term">anyNal</var> items to produce the printed output. The method must take no parameters and produce an intrinsic (Float, String, Fixed, Unicode) value. It may be a system or user-written method, a class Variable or Property, a [[Local_and_Common_entities#Defining_and_invoking_a_local_method|local method]], or a [[Method variables|method variable]]. The default value of <var class="term">itemFunction</var> is <var>ToString</var>. </td></tr>
<td>The method that is applied to <var class="term">anyNal</var> items to produce the displayed output. The method must take no parameters and produce an intrinsic (<var>Float</var>, <var>String</var>, <var>Unicode</var>) value. It may be a system or user-written method, a class <var>Variable</var> or <var>Property</var>, a [[Local_and_Common_entities#Defining_and_invoking_a_local_method|local method]], or a [[Method variables|method variable]]. The default value of <var class="term">itemFunction</var> is <var>ToString</var>. </td></tr>
 
<tr><th><var>NumWidth</var></th>
<tr><th><var>NumWidth</var></th>
<td>The number of bytes in the display of each item to use for the item number. This is an optional, [[Methods#Named parameters|name required]], parameter; if you specify a value, the parameter name <var>NumWidth</var> is required.
<td>The number of bytes in the display of each item to use for the item number. This is an optional, [[Methods#Named parameters|name required]], parameter; if you specify a value, the parameter name <var>NumWidth</var> is required.
<p>Item numbers are right-justified within the indicated number of bytes, and they are truncated on the left if the length of the item number exceeds the space allocated for it. The width must be a number between -1 and 10 inclusive. If you specify a value of 0, the item number is not displayed.</p>
<p>Item numbers are right-justified within the indicated number of bytes, and they are truncated on the left if the length of the item number exceeds the space allocated for it. The <var class="Term">NumWidth</var> must be a number between <code>-1</code> and <code>10</code> inclusive. If you specify a value of <code>0</code>, the item number is not displayed.</p><p>If <var class="term">NumWidth</var> is <code>-1</code>, the default, the method uses the minimum number of bytes required to show the item number. For example, one byte is required for item number 5, while five bytes are required for item number 98764.</p></td></tr>
<p>If <var>NumWidth</var> is -1, the default, the method uses the minimum number of bytes required to show the item number. For example, one byte is required for item number 5, while five bytes are required for item number 98764.</p></td></tr>
 
<tr><th><var>Separator</var></th>
<tr><th><var>Separator</var></th>
<td>A <var>String</var>, 15 characters or less, to be used to separate both the item number and the item name from what follows. That is, the <var class="term">string</var> you specify appears twice: once after the item number and once after the item name.
<td>A <var>String</var>, 15 characters or less, to be used to separate both the item number and the item name from what follows. That is, the <var class="term">string</var> you specify appears twice: once after the item number and once after the item name.
<p>This is an optional, name required, argument whose default is a colon (<code>:</code>). A blank always follows the <i>separator</i> string. If you specify a value, the parameter name <var>Separator</var> is required.</p> </td></tr>
<p>This is an optional, name required, argument whose default is a colon followed by a space (<code>: </code>).</p> </td></tr>
 
<tr><th><var>Start</var></th>
<tr><th><var>Start</var></th>
<td>The item number of the initial item in the output display. This is an optional, name required, argument which defaults to 1. If you specify a value, the parameter name <var>Start</var> is required. </td></tr>
<td>The item number of the initial item in the output display. This is an optional, name required, argument which defaults to <code>1</code>.</td></tr>
 
<tr><th><var>MaxItems</var></th>
<tr><th><var>MaxItems</var></th>
<td>The maximum number of items to display. A zero or negative value means to display all the items.
<td>The maximum number of items to display. A zero or negative value means to display all the items from <var class="term">Start</var> to the end of the <var class="term">anyNal</var>.
<p>This is an optional, name required, argument which defaults to zero. If you specify a value, the parameter name <var>MaxItems</var> is required. </p></td></tr>
<p>This is an optional, name required, argument which defaults to zero.</p></td></tr>
 
<tr><th><var>Label</var></th>
<tr><th><var>Label</var></th>
<td>A literal string that gets output before each line. This is useful for "tagging" lines to make them more identifiable.
<td>A string that gets output before each line. This is useful for "tagging" lines to make them more identifiable.
<p>This is an optional, name required, argument whose default is a null string. If you specify a value, the parameter name <var>Label</var> is required.</p></td></tr>
<p>This is an optional, name required, argument whose default is a null string. </p></td></tr>
 
<tr><th><var>NameWidth</var></th>
<tr><th><var>NameWidth</var></th>
<td>The number of bytes in the display of the item name. This must be a number from -1 through 255. This is an optional, [[Methods#Named parameters|name required]], if you specify a value, the parameter name <var>NameWidth</var> is required.
<td>The number of bytes in the display of the item name. This must be a number from -1 through 255. This is an optional, [[Methods#Named parameters|name required]] argument.
<p>Item names are left-justified within the indicated number of bytes, and they are truncated on the right if the length of the item name exceeds the space allocated for it. If you specify a value of 0, the item name is not displayed.</p>
<p>Item names are left-justified within the indicated number of bytes, and they are truncated on the right if the length of the item name exceeds the space allocated for it. For a <var>UnicodeNamedArraylist</var>, the items names are converted to EBCDIC (using character encoding for untranslatable characters). This can result in names being truncated in the middle of a character encoding, as shown in "[[Collections#Examples of subscript display format for named collections|Examples of subscript display format for named collections]]"</p>
<p>This is an optional argument; it defaults to -1, which directs the method to use whatever number of bytes are necessary to show the entire item name. For example, three bytes are required for item name <code>Foo</code>, while eight bytes are required for item name <code>Malmberg</code>.</p></td></tr>
<p>The default is <code>-1</code>, which directs the method to use as many bytes as necessary to show the entire item name. For example, three bytes are required for item name <code>Foo</code>, while eight bytes are required for item name <code>Malmberg</code>. If you specify a value of <code>0</code>, the item name is not displayed.</p></td></tr>
</table>
</table>
 
==Usage Notes==
<div id="Usage Notes"></div><!--In case there are old links to this-->
<ul><li>All errors in <var>Trace</var> result in request cancellation.</ul>
==Usage notes==
 
<ul>
<li>All errors in <var>Print</var> result in request cancellation.
</ul>
==Examples==
==Examples==
For examples of <var>Print</var> method calls, see [[Collections#Printing_a_collection|"Printing a collection"]].
For examples of <var>Print</var> method calls, see [[Collections#Printing_a_collection|"Printing a collection"]].
 
==See also==
==See also==
<ul><li><var>[[Audit_(GenericNamedArraylist_subroutine)|Audit]]</var> and <var>[[Print_(GenericNamedArraylist_subroutine)|Print]]</var> are the same as <var>Trace</var> except they send their output to the <var class="product">Model 204</var> audit trail or to the user's standard output destination, respectively.</ul>
<ul><li><var>[[Audit_(GenericNamedArraylist_subroutine)|Audit]]</var> and <var>[[Print_(GenericNamedArraylist_subroutine)|Print]]</var> are the same as <var>Trace</var> except they send their output to the <var class="product">Model 204</var> audit trail or to the user's standard output destination, respectively.</ul>
{{Template:GenericNamedArraylist:Trace footer}}
{{Template:GenericNamedArraylist:Trace footer}}

Revision as of 18:30, 7 August 2012

Trace items (FloatNamedArraylist, NamedArraylist, and UnicodeNamedArraylist classes)

Trace displays the contents of a FloatNamedArraylist, NamedArraylist, or UnicodeNamedArraylist in a readable form, useful for debugging, for example. Trace is identical to Print, except the result is sent to the selected Trace stream (like the User Language Trace statement).

Syntax

anyNal:Trace[( [itemFunction], [NumWidth= number], [Separator= string], - [Start= number], [MaxItems= number], [Label= string], - [NameWidth= number])]

Syntax terms

anyNal A FloatNamedArraylist, NamedArraylist, or UnicodeNamedArraylist object.
itemFunction The method that is applied to anyNal items to produce the displayed output. The method must take no parameters and produce an intrinsic (Float, String, Unicode) value. It may be a system or user-written method, a class Variable or Property, a local method, or a method variable. The default value of itemFunction is ToString.
NumWidth The number of bytes in the display of each item to use for the item number. This is an optional, name required, parameter; if you specify a value, the parameter name NumWidth is required.

Item numbers are right-justified within the indicated number of bytes, and they are truncated on the left if the length of the item number exceeds the space allocated for it. The NumWidth must be a number between -1 and 10 inclusive. If you specify a value of 0, the item number is not displayed.

If NumWidth is -1, the default, the method uses the minimum number of bytes required to show the item number. For example, one byte is required for item number 5, while five bytes are required for item number 98764.

Separator A String, 15 characters or less, to be used to separate both the item number and the item name from what follows. That is, the string you specify appears twice: once after the item number and once after the item name.

This is an optional, name required, argument whose default is a colon followed by a space (: ).

Start The item number of the initial item in the output display. This is an optional, name required, argument which defaults to 1.
MaxItems The maximum number of items to display. A zero or negative value means to display all the items from Start to the end of the anyNal.

This is an optional, name required, argument which defaults to zero.

Label A string that gets output before each line. This is useful for "tagging" lines to make them more identifiable.

This is an optional, name required, argument whose default is a null string.

NameWidth The number of bytes in the display of the item name. This must be a number from -1 through 255. This is an optional, name required argument.

Item names are left-justified within the indicated number of bytes, and they are truncated on the right if the length of the item name exceeds the space allocated for it. For a UnicodeNamedArraylist, the items names are converted to EBCDIC (using character encoding for untranslatable characters). This can result in names being truncated in the middle of a character encoding, as shown in "Examples of subscript display format for named collections"

The default is -1, which directs the method to use as many bytes as necessary to show the entire item name. For example, three bytes are required for item name Foo, while eight bytes are required for item name Malmberg. If you specify a value of 0, the item name is not displayed.

Usage notes

  • All errors in Print result in request cancellation.

Examples

For examples of Print method calls, see "Printing a collection".

See also

  • Audit and Print are the same as Trace except they send their output to the Model 204 audit trail or to the user's standard output destination, respectively.