<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DCameron</id>
	<title>m204wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=DCameron"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Special:Contributions/DCameron"/>
	<updated>2026-04-04T13:45:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118180</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118180"/>
		<updated>2020-09-23T15:22:34Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
%i = 38&lt;br /&gt;
print  %y:number(%y:nameByNumber(%i)) and %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2 38 thirty-eight&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118179</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118179"/>
		<updated>2020-09-23T15:21:50Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
%i = 38&lt;br /&gt;
   print  %y:number(%y:nameByNumber(%i)) and %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1 7 seven&lt;br /&gt;
2 38 thirty-eight&lt;br /&gt;
3 110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118178</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118178"/>
		<updated>2020-09-23T15:17:32Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following request demonstrates the numerically ordered&lt;br /&gt;
result produced by a &amp;lt;var&amp;gt;[[Number (FloatNamedArraylist function)|Number]]&amp;lt;/var&amp;gt; loop over a &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; :&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %y:count&lt;br /&gt;
   print  %y:number(%y:nameByNumber(%i)) and %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1 7 seven&lt;br /&gt;
2 38 thirty-eight&lt;br /&gt;
3 110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118177</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118177"/>
		<updated>2020-09-23T15:16:56Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following request demonstrates the numerically ordered&lt;br /&gt;
result produced by a &amp;lt;var&amp;gt;[[Number (FloatNamedArraylist function)|Number]]&amp;lt;/var&amp;gt; loop over a &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; :&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %y:count&lt;br /&gt;
   print  %y:number(%y:nameByNumber(%i)) and %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
7 seven&lt;br /&gt;
&amp;amp;#45;----&lt;br /&gt;
7 seven&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118176</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118176"/>
		<updated>2020-09-23T15:16:01Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following request demonstrates the numerically ordered&lt;br /&gt;
result produced by a &amp;lt;var&amp;gt;[[Number (FloatNamedArraylist function)|Number]]&amp;lt;/var&amp;gt; loop over a &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; :&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %x:count&lt;br /&gt;
   print %x:nameByNumber(%i) and %x:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %y:count&lt;br /&gt;
   print %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
7 seven&lt;br /&gt;
&amp;amp;#45;----&lt;br /&gt;
7 seven&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118175</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118175"/>
		<updated>2020-09-23T15:15:27Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following request demonstrates the numerically ordered&lt;br /&gt;
result produced by a &amp;lt;var&amp;gt;[[Number (FloatNamedArraylist function)|Number]]&amp;lt;/var&amp;gt; loop over a &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; versus the alphabetically ordered result using a &amp;lt;var&amp;gt;NamedArraylist&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%x  is collection namedArraylist of string len 32&lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%x = new&lt;br /&gt;
%x(7) = &#039;seven&#039;&lt;br /&gt;
%x(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%x(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %x:count&lt;br /&gt;
   print %x:nameByNumber(%i) and %x:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %y:count&lt;br /&gt;
   print %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
7 seven&lt;br /&gt;
&amp;amp;#45;----&lt;br /&gt;
7 seven&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118174</id>
		<title>Number (FloatNamedArraylist function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Number_(FloatNamedArraylist_function)&amp;diff=118174"/>
		<updated>2020-09-23T15:14:56Z</updated>

		<summary type="html">&lt;p&gt;DCameron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:FloatNamedArraylist:Number subtitle}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; returns the item number (ordinal) of the item that has the specified subscript in the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:FloatNamedArraylist:Number syntax}}&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%number&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric variable to contain the item number of the &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item selected by &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;fltNal&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; object. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;subscript&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A numeric value that serves as a subscript to identify a &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;fltNal&amp;lt;/var&amp;gt; item.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If &amp;lt;var&amp;gt;Number&amp;lt;/var&amp;gt; is called and there is no item on the &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; that has the indicated &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;subscript&amp;lt;/var&amp;gt;, a &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; is returned, regardless of the setting of &amp;lt;var&amp;gt;[[UseDefault (FloatNamedArraylist property)|UseDefault]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
The following request demonstrates the numerically ordered&lt;br /&gt;
result produced by a &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; loop over a &amp;lt;var&amp;gt;FloatNamedArraylist&amp;lt;/var&amp;gt; versus the alphabetically ordered result using a &amp;lt;var&amp;gt;NamedArraylist&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;b&lt;br /&gt;
 &lt;br /&gt;
%x  is collection namedArraylist of string len 32&lt;br /&gt;
%y  is collection floatNamedArraylist of string len 32&lt;br /&gt;
%i  is float&lt;br /&gt;
 &lt;br /&gt;
%x = new&lt;br /&gt;
%x(7) = &#039;seven&#039;&lt;br /&gt;
%x(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%x(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
%y = new&lt;br /&gt;
%y(7) = &#039;seven&#039;&lt;br /&gt;
%y(38) = &#039;thirty-eight&#039;&lt;br /&gt;
%y(110) = &#039;one-hundred-ten&#039;&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %x:count&lt;br /&gt;
   print %x:nameByNumber(%i) and %x:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
for %i from 1 to %y:count&lt;br /&gt;
   print %y:nameByNumber(%i) and %y:itemByNumber(%i)&lt;br /&gt;
end for&lt;br /&gt;
 &lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
The request prints:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
7 seven&lt;br /&gt;
&amp;amp;#45;----&lt;br /&gt;
7 seven&lt;br /&gt;
38 thirty-eight&lt;br /&gt;
110 one-hundred-ten&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[ItemByNumber_(GenericNamedArraylist_property)|ItemByNumber]]&amp;lt;/var&amp;gt; property lets you retrieve or set an item using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[NameByNumber (FloatNamedArraylist function)|NameByNumber]]&amp;lt;/var&amp;gt; function lets you retrieve an item&#039;s name using the item&#039;s ordinal number.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:FloatNamedArraylist:Number footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Run_(Daemon_function)&amp;diff=118173</id>
		<title>Run (Daemon function)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Run_(Daemon_function)&amp;diff=118173"/>
		<updated>2020-09-16T10:08:52Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Daemon:Run subtitle}}&lt;br /&gt;
&amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; runs on the daemon thread the command, or set of commands, specified by its first argument, and it returns the terminal output from the command(s).&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
{{Template:Daemon:Run syntax}}&lt;br /&gt;
&lt;br /&gt;
===Syntax terms===&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;%sl&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If specified, a &amp;lt;var&amp;gt;[[Stringlist class|Stringlist]]&amp;lt;/var&amp;gt; object to contain the terminal output from the command, or commands, run on the daemon thread. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;daemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A &amp;lt;var&amp;gt;Daemon&amp;lt;/var&amp;gt; object expression. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;commands&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;A string or &amp;lt;var&amp;gt;Stringlist&amp;lt;/var&amp;gt; that is the command, or the set of commands, to be executed by the daemon. &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;Input&amp;lt;/var&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;The input object passed to the daemon method object. This optional, [[Methods#Named parameters|name allowed]], argument is passed by deep copy and not by reference, so &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;object&amp;lt;/var&amp;gt; must be deep copyable, as described in: [[Copying objects]]. The passed object can be retrieved by the daemon thread using &amp;lt;var&amp;gt;[[GetInputObject (Daemon subroutine)|GetInputObject]]&amp;lt;/var&amp;gt;.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;The output object returned from the daemon method object. This optional, name allowed, argument is passed by deep copy and not by reference, so &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;object&amp;lt;/var&amp;gt; must be deep copyable. The object set to &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;object&amp;lt;/var&amp;gt; is the object passed by the daemon thread using &amp;lt;var&amp;gt;[[ReturnObject (Daemon subroutine)|ReturnObject]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;p&amp;gt;Because &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;object&amp;lt;/var&amp;gt; is an output variable, it cannot itself be contained inside an object: that is, it must be a local or a common %variable. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;An optional, [[Methods#Named parameters|name required]], parameter that indicates a second output object returned from the daemon method object. This optional argument is passed by deep copy and not by reference, so &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; must be deep copyable. The object set to &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; is the object passed by the daemon thread using &amp;lt;var&amp;gt;[[ReturnInfoObject (Daemon subroutine)|ReturnInfoObject]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;p&amp;gt;Because &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; is an output variable, it cannot itself be contained inside an object: that is, it must be a local or a common %variable. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;For an example of how to use this parameter, see the bottom of [[Run (Daemon function)#Usage notes|Usage Notes]], below.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Exceptions==&lt;br /&gt;
This function can throw the following exception:&lt;br /&gt;
&amp;lt;table class=&amp;quot;syntaxTable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;var&amp;gt;[[DaemonLost class|DaemonLost]]&amp;lt;/var&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;If the daemon object is lost (probably restarted), a &amp;lt;var&amp;gt;DaemonLost&amp;lt;/var&amp;gt; exception is thrown.  &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Usage notes==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; sets the output object to Null if the daemon command contains no &amp;lt;var&amp;gt;[[ReturnObject (Daemon subroutine)|ReturnObject]]&amp;lt;/var&amp;gt; invocation. Any subsequent master thread references to that object, for example to print it, will cancel the request.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;As any Run method input-object argument, an input &amp;quot;parameter object&amp;quot; is passed by deep copy: the parameter object, all objects contained in that object, all objects contained in those objects, and so on are copied and passed to the sdaemon thread.&lt;br /&gt;
&amp;lt;p&amp;gt;An example of a category of object that may &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt; be passed to a daemon is a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Janus Sockets]]&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;[[Socket class|Socket]]&amp;lt;/var&amp;gt; object.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If a file you want to open on the daemon is already open on the master thread, the &amp;lt;var&amp;gt;[[Open (Daemon subroutine)|Open]]&amp;lt;/var&amp;gt; method lets you open the file with the same privileges it had on the master thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;As described in [[Daemon class#Working with Daemonobjects|Working with Daemon objects]], &amp;lt;var&amp;gt;Run&#039;s&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;commands&amp;lt;/var&amp;gt; argument can pass multiple commands to the daemon.&lt;br /&gt;
&amp;lt;p&amp;gt;For example, to pass objects of three different classes, as well as float and longstring values to a daemon request, you can create a user class that contains such objects and the appropriate float and longstring values, then pass a &amp;quot;parameter object&amp;quot; of that class, as follows:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;class Multivar&lt;br /&gt;
   public&lt;br /&gt;
      variable a is object a&lt;br /&gt;
      variable b is object b&lt;br /&gt;
      variable c is object c&lt;br /&gt;
      variable y is float&lt;br /&gt;
      variable z is longstring&lt;br /&gt;
   end public&lt;br /&gt;
end class&lt;br /&gt;
...&lt;br /&gt;
%multi is object Multivar&lt;br /&gt;
%daem is object daemon&lt;br /&gt;
...&lt;br /&gt;
%multi = new&lt;br /&gt;
%multi:a = %objectA&lt;br /&gt;
%multi:b = %objectB&lt;br /&gt;
%multi:c = %objectC&lt;br /&gt;
%multi:y = 3.1415929&lt;br /&gt;
%multi:z = %lstrZ&lt;br /&gt;
...&lt;br /&gt;
%daem:run(&#039;I MYPROC&#039;, %Multi)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;To make use of the variables passed in the &amp;lt;code&amp;gt;%multi&amp;lt;/code&amp;gt; input parameter above:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The file containing &amp;lt;code&amp;gt;MYPROC&amp;lt;/code&amp;gt; must be open on the daemon from an invocation of &amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; with a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; command argument or from an invocation of &amp;lt;var&amp;gt;[[Open (Daemon subroutine)|Open]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;MYPROC&amp;lt;/code&amp;gt; procedure must contain an invocation of &amp;lt;var&amp;gt;[[GetInputObject_(Daemon_subroutine)|GetInputObject]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;To return updated values to the master thread above, &amp;lt;code&amp;gt;MYPROC&amp;lt;/code&amp;gt; must contain an invocation of &amp;lt;var&amp;gt;[[ReturnObject (Daemon subroutine)|ReturnObject]]&amp;lt;/var&amp;gt;, and the &amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; invocation requires an additional argument (represented in the &amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; method syntax by the &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; argument), compatible with the &amp;lt;var&amp;gt;ReturnObject&amp;lt;/var&amp;gt; argument. [[Daemon_class#A_Daemon_example|A Daemon example]] shows the passing of input and output objects between a master and daemon.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;These are simple examples of &amp;lt;var&amp;gt;Run&amp;lt;/var&amp;gt; calls:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%strlist = %daem:run(&#039;V UTABLE&#039;)&lt;br /&gt;
&lt;br /&gt;
%strlist = %daem:run(%list2, %x, %x)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;In the following example, a daemon sorts found records, then returns in an object the sorted set of records:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;begin&lt;br /&gt;
   %findCriteria is string len 255&lt;br /&gt;
   %pazuzu is object daemon&lt;br /&gt;
   %sSorted is object sortedRecordset in file MYFILE&lt;br /&gt;
   %subList is object stringList&lt;br /&gt;
   %findCriteria = &#039;NICKNAME IS LIKE &amp;amp;#39;&#039;SI*&amp;amp;#39;&#039; &#039;&lt;br /&gt;
 &lt;br /&gt;
   %subList = new&lt;br /&gt;
   text to %subList&lt;br /&gt;
      begin&lt;br /&gt;
         %basicSet is object recordSet in file MYFILE&lt;br /&gt;
         %sorted is object sortedRecordSet in file MYFILE&lt;br /&gt;
         %basicSet = New&lt;br /&gt;
         find records to %basicSet&lt;br /&gt;
            {%FindCriteria}&lt;br /&gt;
         end find&lt;br /&gt;
         sort records in %basicSet to %sorted by NICKNAME&lt;br /&gt;
         %(daemon):returnObject(%Sorted)&lt;br /&gt;
      end&lt;br /&gt;
   end text&lt;br /&gt;
 &lt;br /&gt;
   %pazuzu = New&lt;br /&gt;
   %pazuzu:run(&#039;*LOWER&#039;)&lt;br /&gt;
   %pazuzu:open(&#039;MYFILE&#039;)&lt;br /&gt;
   %pazuzu:run(%subList,,%sSorted)&lt;br /&gt;
 &lt;br /&gt;
   for each record in %sSorted&lt;br /&gt;
      print &#039;*&#039;&lt;br /&gt;
      pai&lt;br /&gt;
   end for&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;While the optional &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; object can be used for any kind of output object, its intent is to separate the &amp;quot;true&amp;quot; output of a daemon request from informational output (return codes, error messages, diagnostics, etc.).  In the following example, a &amp;lt;var&amp;gt;Stringlist&amp;lt;/var&amp;gt; object (presumably containing error messages) is used as the &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; output:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%errors is object stringList&lt;br /&gt;
%result is object myClass&lt;br /&gt;
%daem is object daemon&lt;br /&gt;
...&lt;br /&gt;
%daem:run(&#039;MYSUBSYS&#039;, , %result, info=%errors)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The daemon thread running the request returns the &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; object using &amp;lt;var&amp;gt;[[ReturnInfoObject (Daemon subroutine)|ReturnInfoObject]]&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%errors is object stringList&lt;br /&gt;
...&lt;br /&gt;
%(daemon):returnInfoObject(%errors)&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Template:Daemon:Run footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=USERPDL_command&amp;diff=118172</id>
		<title>USERPDL command</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=USERPDL_command&amp;diff=118172"/>
		<updated>2020-09-01T14:35:16Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Syntax */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The &amp;lt;var&amp;gt;USERPDL&amp;lt;/var&amp;gt; command displays a requested user&#039;s call stack. This information isn&#039;t really useful without access to Model 204 source code so is only likely to be used when communicating with Model 204 support.&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Privileges&lt;br /&gt;
&amp;lt;dd&amp;gt;System administrator&lt;br /&gt;
&amp;lt;dt&amp;gt;Function&lt;br /&gt;
&amp;lt;dd&amp;gt;Displays a user&#039;s push-down-list (call stack)&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;USERPDL &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;usernumber&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt; &lt;br /&gt;
Where:&lt;br /&gt;
&amp;lt;table&amp;gt; &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;usernumber&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;The number associated with a particular user. The user must be swapped in for &amp;lt;var&amp;gt;USERPDL&amp;lt;/var&amp;gt; to be able to display the user&#039;s push-down-list. Swapped out users details can also be accessed from V7.7 with zap 77z509 applied, and from V7.8 with zap 78z073 applied.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System administrator commands]]&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=NUMBUFG_parameter&amp;diff=118168</id>
		<title>NUMBUFG parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=NUMBUFG_parameter&amp;diff=118168"/>
		<updated>2020-08-26T14:49:25Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Setting NUMBUFG */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:NUMBUFG parameter subtitle}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;0&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameter type&lt;br /&gt;
&amp;lt;dd&amp;gt;System&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;Not resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204 V7.1&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Allocate this number of buffer pool buffers above the bar (ATB).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Prior to version 7.7 of Model&amp;amp;nbsp;204: &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; specifies the number of buffer pool buffers built ATB, while the number of buffer pool buffers built BTB is based on the setting of &amp;lt;var&amp;gt;[[MINBUF parameter|MINBUF]]&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;[[MAXBUF parameter|MAXBUF]]&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;[[SPCORE parameter|SPCORE]]&amp;lt;/var&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;As of version 7.7: &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; is specified, no buffer pool buffers are built BTB; all buffers are ATB. Model&amp;amp;nbsp;204 obtains exactly the &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; number of buffers. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this case, &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; essentially replaces the BTB parameters: &amp;lt;var&amp;gt;NUMBUF&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;MINBUF&amp;lt;/var&amp;gt; are automatically reset to 0, and &amp;lt;var&amp;gt;MAXBUF&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SPCORE&amp;lt;/var&amp;gt; are ignored. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Setting NUMBUFG===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The maximum number of buffers is &amp;lt;code&amp;gt;2**31/3&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;715,827,882&amp;lt;/code&amp;gt;, which limits buffer pools to 4.2 terabytes or less.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The minimum number of ATB buffers is: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;[[NLRUQG parameter|NLRUQG]] * (([[NSERVS parameter|NSERVS]] + [[NSUBTKS parameter|NSUBTKS]]) * [[MAXOBUF parameter|MAXOBUF]] + 15)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If you set &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; to a value lower than the minimum, the value is reset to the calculated value and you receive messages like the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;amp;#42;** M204.2756: NUMBUFG reset to NLRUQG * ((NSERVS + NSUBTKS) * MAXOBUF + 15) &lt;br /&gt;
               = 1 * ((2+9) * 4 + 15) = 59                           &lt;br /&gt;
&amp;amp;#42;** M204.0075: Initialization completed.  Buffers = 0+59 &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If you set &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; greater than 0: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The X&#039;02&#039; bit of the &amp;lt;var&amp;gt;[[XMEMOPT parameter|XMEMOPT]]&amp;lt;/var&amp;gt; parameter (the default), must also be set. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The [[File Load utility: FLOD and FILELOAD commands|FLOD and FILELOAD commands]] and [[Fast/Reload]] are not available due to 64-bit addressing conflicts. This particular restriction is removed in V7.7 and later releases.&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
For more information about setting &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt;, see [[Defining the runtime environment (CCAIN)#Using 64-bit addressing and Above the Bar (ATB) storage|Using 64-bit addressing and Above the Bar (ATB) storage]]. &lt;br /&gt;
&lt;br /&gt;
[[Category:System parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=BUMPSNAP_command&amp;diff=118166</id>
		<title>BUMPSNAP command</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=BUMPSNAP_command&amp;diff=118166"/>
		<updated>2020-07-29T08:49:40Z</updated>

		<summary type="html">&lt;p&gt;DCameron: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; This is a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Sirius Mods]]&amp;lt;/var&amp;gt;-only command prior to Version 7.5 of &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Model 204]]&amp;lt;/var&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command is identical to the &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;[[BUMP command]]&amp;lt;/var&amp;gt;&lt;br /&gt;
with the exception that a [[Storing_diagnostic_information_(CCASNAP)|CCASNAP]] is taken for the user or users being BUMPed, if the user is in a BUMPable wait.&lt;br /&gt;
When the &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command is issued, the following message is written to [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)|CCAAUDIT/CCAJLOG]] and is printed at the top of each page of CCASNAP:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0661: Snap taken, user bumped by BUMPSNAP command&amp;lt;/p&amp;gt;&lt;br /&gt;
This can be useful in diagnosing a hung user situation where the&lt;br /&gt;
error is believed to be a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204&amp;lt;/var&amp;gt; internals problem.&lt;br /&gt;
Whether or not a CCASNAP or SYSMDUMP/VMDUMP is actually taken&lt;br /&gt;
depends on many factors, including the settings of the &amp;lt;var&amp;gt;[[SNAPCTL_parameter|SNAPCTL]]&amp;lt;/var&amp;gt;&lt;br /&gt;
system parameter, the presence of DD cards or FILEDEFs for&lt;br /&gt;
CCASNAP or dump datasets, and the setting of &amp;lt;var&amp;gt;[[SNAPLIM_parameter|SNAPLIM]]&amp;lt;/var&amp;gt; and the current&lt;br /&gt;
number of CCASNAPs already taken.&lt;br /&gt;
&lt;br /&gt;
The syntax of the &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command is identical to that of the BUMP&lt;br /&gt;
command.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command, like the &amp;lt;var&amp;gt;BUMP&amp;lt;/var&amp;gt; command, allows BUMPing and SNAPping&lt;br /&gt;
of more than one user with a single command.&lt;br /&gt;
Generally, this is not what is desired with a &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command, so use caution&lt;br /&gt;
when issuing a &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command that doesn&#039;t specify a user number&lt;br /&gt;
(but instead specifies something more generic like a userid or a subsystem name&lt;br /&gt;
or file), since this could result in a large number of snap dumps being taken.&lt;br /&gt;
For most purposes, the &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command should simply be followed by the&lt;br /&gt;
user number of the user for which a snap is desired.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;BUMPSNAP&amp;lt;/var&amp;gt; command can be issued as either of these:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An operator command,&lt;br /&gt;
that is, as a reply to the &amp;lt;var&amp;gt;[[HALT_command|HALT]]&amp;lt;/var&amp;gt; message under z/OS&lt;br /&gt;
&amp;lt;li&amp;gt;A command typed on the Online virtual console under CMS&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;!-- CREATEPQ COMMAND - OWNED BY CCA --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System administrator commands]]&lt;br /&gt;
[[Category:Operator commands]]&lt;br /&gt;
[[Category:Commands]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118165</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118165"/>
		<updated>2020-07-28T14:34:07Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* WEBOPT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
This change is also enabled in V7.7 with the application of 77z487.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is also available with V7.7 with the application of zap 77z478.&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MODENAME in a Transfer Control PROCESSGROUP===&lt;br /&gt;
Previously the MODENAME parameter has been ignored in VTAM TRANSFER PROCESSGROUP processing.   &lt;br /&gt;
&lt;br /&gt;
As of V78 with 78Z029 applied, Users will be able to control the characteristics of a session (for example, Display Model, Ru size, EDS support et al.) bound at the VTAM Transfer Control Target&lt;br /&gt;
by means of the VTAM Transfer PROCESSGROUP&#039;s MODENAME. &lt;br /&gt;
  &lt;br /&gt;
A null or unspecified MODENAME in a VTAM Transfer PROCESSGROUP definition will result in the Target LU&#039;s  &lt;br /&gt;
Default LOGMODE being used to Bind the Target Session (This is how all VTAM Transfers worked previously).  &lt;br /&gt;
     &lt;br /&gt;
Specifying MODENAME=LOGON or MODENAME=LOGIN in a VTAM TRANSFER PROCESSGROUP definition results in the LOGMODE used     &lt;br /&gt;
to Logon to the Source Online also being used to Bind the Session at the Transfer Target.                &lt;br /&gt;
   &lt;br /&gt;
Otherwise, anything specified in a VTAM TRANSFER PROCESSGROUP MODENAME parameter will be assumed to be a &lt;br /&gt;
valid VTAM LOGMODE and will be used to Bind the Transferred session at the Target. There is a potential&lt;br /&gt;
for upward incompatibility in the case where a VTAM TRANSFER PROCESSGROUP definition specifies an invalid value for MODENAME: &lt;br /&gt;
  &lt;br /&gt;
Since the MODENAME is no longer ignored, an invalid value will now fail the Transfer.&lt;br /&gt;
     &lt;br /&gt;
A failed Transfer consequent to an invalid LOGMODE or a LOGMODE unknown at the Target is flagged with:&lt;br /&gt;
M204.2483 &#039;unknown-modename  is not a valid LOGMODE name&#039;.&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
===WEBOPT===&lt;br /&gt;
The new x&#039;10&#039; setting of &amp;lt;var&amp;gt;[[WEBOPT_parameter|WEBOPT]]&amp;lt;/var&amp;gt; allows transaction daemon threads to access web data owned by the ancestor ( usually the parent ) thread.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118164</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118164"/>
		<updated>2020-07-28T14:33:14Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* New and changed parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
This change is also enabled in V7.7 with the application of 77z487.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is also available with V7.7 with the application of zap 77z478.&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MODENAME in a Transfer Control PROCESSGROUP===&lt;br /&gt;
Previously the MODENAME parameter has been ignored in VTAM TRANSFER PROCESSGROUP processing.   &lt;br /&gt;
&lt;br /&gt;
As of V78 with 78Z029 applied, Users will be able to control the characteristics of a session (for example, Display Model, Ru size, EDS support et al.) bound at the VTAM Transfer Control Target&lt;br /&gt;
by means of the VTAM Transfer PROCESSGROUP&#039;s MODENAME. &lt;br /&gt;
  &lt;br /&gt;
A null or unspecified MODENAME in a VTAM Transfer PROCESSGROUP definition will result in the Target LU&#039;s  &lt;br /&gt;
Default LOGMODE being used to Bind the Target Session (This is how all VTAM Transfers worked previously).  &lt;br /&gt;
     &lt;br /&gt;
Specifying MODENAME=LOGON or MODENAME=LOGIN in a VTAM TRANSFER PROCESSGROUP definition results in the LOGMODE used     &lt;br /&gt;
to Logon to the Source Online also being used to Bind the Session at the Transfer Target.                &lt;br /&gt;
   &lt;br /&gt;
Otherwise, anything specified in a VTAM TRANSFER PROCESSGROUP MODENAME parameter will be assumed to be a &lt;br /&gt;
valid VTAM LOGMODE and will be used to Bind the Transferred session at the Target. There is a potential&lt;br /&gt;
for upward incompatibility in the case where a VTAM TRANSFER PROCESSGROUP definition specifies an invalid value for MODENAME: &lt;br /&gt;
  &lt;br /&gt;
Since the MODENAME is no longer ignored, an invalid value will now fail the Transfer.&lt;br /&gt;
     &lt;br /&gt;
A failed Transfer consequent to an invalid LOGMODE or a LOGMODE unknown at the Target is flagged with:&lt;br /&gt;
M204.2483 &#039;unknown-modename  is not a valid LOGMODE name&#039;.&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
===WEBOPT===&lt;br /&gt;
The new x&#039;10&#039; setting of WEBOPT allows transaction daemon threads to access web data owned by the ancestor ( usually the parent ) thread.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=CPTYPE_parameter&amp;diff=118159</id>
		<title>CPTYPE parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=CPTYPE_parameter&amp;diff=118159"/>
		<updated>2020-07-07T13:47:17Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:CPTYPE parameter subtitle}}&lt;br /&gt;
&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;0&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameter type&lt;br /&gt;
&amp;lt;dd&amp;gt;System&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;Resettable by system manager&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204 V6.1&amp;lt;/var&amp;gt; &lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;CPTYPE = {&amp;lt;u&amp;gt;0&amp;lt;/u&amp;gt; | 1}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;0&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Enables transaction checkpoints only.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;1&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Enables the use of transaction and sub-transaction checkpoints.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In a &amp;lt;code&amp;gt;CPTYPE=1&amp;lt;/code&amp;gt; run, two other significant checkpoint parameters are &amp;lt;var&amp;gt;[[CPTIME parameter|CPTIME]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[CPTS parameter|CPTS]]&amp;lt;/var&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As long as all data sets and parameters are appropriately defined and requirements met within your job, you can reset back and forth between &amp;lt;code&amp;gt;CPTYPE=0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;CPTYPE=1&amp;lt;/code&amp;gt;. In recovery-only job steps, only set &amp;lt;code&amp;gt;CPTYPE=0&amp;lt;/code&amp;gt;, or allow &amp;lt;var&amp;gt;CPTYPE&amp;lt;/var&amp;gt; to default. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;CPTYPE&amp;lt;/var&amp;gt; parameter applies to timed checkpoints, meaning those initialized by &amp;lt;var&amp;gt;CPTIME&amp;lt;/var&amp;gt;. This parameter is not referenced during &amp;lt;var&amp;gt;[[CHECKPOINT command|CHECKPOINT]]&amp;lt;/var&amp;gt; command processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If CPTYPE is set to 1, then &amp;lt;var&amp;gt;[[DKUPDTWT_parameter|DKUPDTWT]]&amp;lt;/var&amp;gt; must be set to 0.&lt;br /&gt;
&lt;br /&gt;
[[Category:System parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=DKUPDTWT_parameter&amp;diff=118158</id>
		<title>DKUPDTWT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=DKUPDTWT_parameter&amp;diff=118158"/>
		<updated>2020-07-07T13:45:13Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:DKUPDTWT parameter subtitle}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;0&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameter type&lt;br /&gt;
&amp;lt;dd&amp;gt;System&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;On User 0&#039;s parameter line or reset by system manager&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204 V3.2&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;p&amp;gt;How long disk buffers, containing a file&#039;s modified pages, must have aged (in seconds) before they can be written to disk.  Even after the write, the pages remain in the buffer pool for future reference until the file is closed by the last user. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is zero, &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; writes all of a file&#039;s modified pages to disk at the end of the last in-flight update of the file. The user who completed the last in-flight update waits for this disk update process to complete and for the message stating that the disk update is complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is nonzero, &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; delays the start of the disk update process for at least DKUPDTWT seconds, after which it can be the checkpoint pseudo subtask (CHKPST) that performs the disk update. The user who completed the last in-flight update does not have to wait for the disk update process to complete. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is nonzero, the CHKPST and CHKPTIMR pseudo subtasks are started automatically at &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; initialization. An error message informs you if the &amp;lt;var&amp;gt;[[NSUBTKS_parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is set too low to start these pseudo subtasks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;DKUPDTWT has a maximum of 60, and it also depends on the &amp;lt;var&amp;gt;[[CPTIME_parameter|CPTIME]]&amp;lt;/var&amp;gt; parameter setting. If CPTIME is nonzero, DKUPDTWT must be less than or equal to CPTIME*30. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The system manager can reset DKUPDTWT to zero while the online is running, and to a nonzero value as long as the CHKPST and CHKPTIMR pseudo subtasks were started during &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; initialization.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;If [[Checkpoints:_Storing_before-images_of_changed_pages#Overview_of_sub-transaction_checkpoints|sub-transaction checkpointing]] is activated by setting &amp;lt;var&amp;gt;[[CPTYPE_parameter|CPTYPE]]&amp;lt;/var&amp;gt; to 1, then DKUPDTWT must be set to 0&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Category:System parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=DKUPDTWT_parameter&amp;diff=118157</id>
		<title>DKUPDTWT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=DKUPDTWT_parameter&amp;diff=118157"/>
		<updated>2020-07-07T13:43:10Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:DKUPDTWT parameter subtitle}}&lt;br /&gt;
==Summary==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;0&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameter type&lt;br /&gt;
&amp;lt;dd&amp;gt;System&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;On User 0&#039;s parameter line or reset by system manager&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model 204 V3.2&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&amp;lt;p&amp;gt;How long disk buffers, containing a file&#039;s modified pages, must have aged (in seconds) before they can be written to disk.  Even after the write, the pages remain in the buffer pool for future reference until the file is closed by the last user. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is zero, &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; writes all of a file&#039;s modified pages to disk at the end of the last in-flight update of the file. The user who completed the last in-flight update waits for this disk update process to complete and for the message stating that the disk update is complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is nonzero, &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; delays the start of the disk update process for at least DKUPDTWT seconds, after which it can be the checkpoint pseudo subtask (CHKPST) that performs the disk update. The user who completed the last in-flight update does not have to wait for the disk update process to complete. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If DKUPDTWT is nonzero, the CHKPST and CHKPTIMR pseudo subtasks are started automatically at &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; initialization. An error message informs you if the &amp;lt;var&amp;gt;[[NSUBTKS_parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is set too low to start these pseudo subtasks.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;DKUPDTWT has a maximum of 60, and it also depends on the &amp;lt;var&amp;gt;[[CPTIME_parameter|CPTIME]]&amp;lt;/var&amp;gt; parameter setting. If CPTIME is nonzero, DKUPDTWT must be less than or equal to CPTIME*30. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The system manager can reset DKUPDTWT to zero while the online is running, and to a nonzero value as long as the CHKPST and CHKPTIMR pseudo subtasks were started during &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; initialization.&lt;br /&gt;
&lt;br /&gt;
If sub-transaction checkpointing is activated by setting &amp;lt;var&amp;gt;[[CPTYPE_parameter|CPTYPE]]&amp;lt;/var&amp;gt; to 1, then DKUPDTWT must be set to 0&amp;lt;/p&amp;gt;&lt;br /&gt;
[[Category:System parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118156</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118156"/>
		<updated>2020-07-07T13:23:26Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* MERGEJ now supports up to 99 input journals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
This change is also enabled in V7.7 with the application of 77z487.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is also available with V7.7 with the application of zap 77z478.&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MODENAME in a Transfer Control PROCESSGROUP===&lt;br /&gt;
Previously the MODENAME parameter has been ignored in VTAM TRANSFER PROCESSGROUP processing.   &lt;br /&gt;
&lt;br /&gt;
As of V78 with 78Z029 applied, Users will be able to control the characteristics of a session (for example, Display Model, Ru size, EDS support et al.) bound at the VTAM Transfer Control Target&lt;br /&gt;
by means of the VTAM Transfer PROCESSGROUP&#039;s MODENAME. &lt;br /&gt;
  &lt;br /&gt;
A null or unspecified MODENAME in a VTAM Transfer PROCESSGROUP definition will result in the Target LU&#039;s  &lt;br /&gt;
Default LOGMODE being used to Bind the Target Session (This is how all VTAM Transfers worked previously).  &lt;br /&gt;
     &lt;br /&gt;
Specifying MODENAME=LOGON or MODENAME=LOGIN in a VTAM TRANSFER PROCESSGROUP definition results in the LOGMODE used     &lt;br /&gt;
to Logon to the Source Online also being used to Bind the Session at the Transfer Target.                &lt;br /&gt;
   &lt;br /&gt;
Otherwise, anything specified in a VTAM TRANSFER PROCESSGROUP MODENAME parameter will be assumed to be a &lt;br /&gt;
valid VTAM LOGMODE and will be used to Bind the Transferred session at the Target. There is a potential&lt;br /&gt;
for upward incompatibility in the case where a VTAM TRANSFER PROCESSGROUP definition specifies an invalid value for MODENAME: &lt;br /&gt;
  &lt;br /&gt;
Since the MODENAME is no longer ignored, an invalid value will now fail the Transfer.&lt;br /&gt;
     &lt;br /&gt;
A failed Transfer consequent to an invalid LOGMODE or a LOGMODE unknown at the Target is flagged with:&lt;br /&gt;
M204.2483 &#039;unknown-modename  is not a valid LOGMODE name&#039;.&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118135</id>
		<title>ONLINE monitoring</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118135"/>
		<updated>2020-05-20T15:53:21Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* V7.8 layout change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
You can monitor the status and performance of an ONLINE system, including SNA Communications Server interfaces, with the MONITOR command. See [[MONITOR command]] for complete command syntax.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MONITOR provides a series of formatted or unformatted displays of system and user statistics about all or a selected set of active users. You can update the displays on a periodic basis, but do not update them more frequently than every five seconds. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Unformatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unformatted displays show all the nonzero cumulative system or user statistics in a format similar to that provided in the journal:   &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Series of terms appears in name=value format.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Journal header is not displayed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Each user is identified by user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Account name appears at the beginning of the user&#039;s display. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Formatted displays show basic system information, followed by specified user information in labelled columns. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Basic system information includes the number of:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Active users (USR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Active servers (SVR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open buffers (BUF)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files (FLS) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A file open as part of one or more permanent groups is followed by an asterisk (*).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Two pound signs (##) indicate that the user has more files open than can fit into the internal buffer used to hold open file names.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  System percentage of CPU time (PCPU).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Statistics from the last system performance line written to the journal. If performance monitoring is active and performance lines are being written to the journal, all statistics are shown. Otherwise, only open buffers, open files, and system PCPU are shown. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Specified user information is described in the next section.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==User information in formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User information is viewable in the following types of formatted displays:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Basic display (default)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User since-last statistics&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User performance data&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following sections describe these types of formatted displays.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Basic display===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;USER SVR  USERID P CUR SLICE AGE FUNC CNCT    CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
 0        SAM    S  48 0.075             0  0.041  3     BLKO 04 40&lt;br /&gt;
 1     1  MARY   S  49 0.075     EVAL  266  0.152  36    REDY &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USER is the user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SVR is the server number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USERID is the user ID.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P is user priority (P).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CUR is current priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLICE is current CPU time slice.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;AGE is user pre-aged priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FUNC is the last function to set the since-last parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CNCT is connect time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CPU is CPU time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SEQIO is the sequential I/O operations performed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;QUE is the [[#QUE values|current scheduler queue]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WT is the [[#Wait state values|user wait state]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FLGS is the sum of the [[#Status flag values|status flag values]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====QUE values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
QUE value &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Means user is...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
RUNG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTSV &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Waiting for a server.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
REDY &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Ready or running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SWPG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Being swapped in or out.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTUS &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Server waiting for user.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MOVE&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Moving between queues.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tip:&amp;lt;/b&amp;gt; As of version 7.7, by summing RUNG, BLKI, BLKO, WTSV, REDY, and SWPG, you can approximate USRS (average active users).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Prior to version 7.7, OFFQ was used instead of OFFI and OFFO.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Wait type values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Wait&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
00&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unspecified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
01&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Disk I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;02&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;03&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;04&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Operator&#039;s console input (WTOR).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;05&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restore reads (BSAM).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
06&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Dump writes (BSAM). &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;07&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Enqueue waits (record or noncritical resource).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;08&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Buffer waits.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;09&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait almost forever (deactivated user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a pseudo subtask, or waits for reactivation (hung terminal).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;11&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for an IFAM2 or IFAM4 call.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a wakeup.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;13&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Server I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;15&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Writes to the journal data set, CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;16&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint writes to CHKPOINT data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;17&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for check on previous write.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;18&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint DECB to free up or waiting for multiuser output arbitration.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;19&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint request.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint completion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;21&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait forever (dead user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;22&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;VSAM or sequential file input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;23&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting due to excessive login failures.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;24&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for exclusive control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;25&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for share control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;26&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for SNA Communications Server buffer, input or output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;27&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;28&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;29&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for the security interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;30&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;SWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined ECB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;31&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;NOSWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined EDB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;32&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for DB2 subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;33-36&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;37&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for recovery to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;38&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
39&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for an MQSeries subtask to become available.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
41&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a MQ subtask to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
42&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;MQSeries MQGET operations with wait time specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
43&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF to load or delete a module. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;44&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to become free. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;45&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF subtask to become free.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;46&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;47&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt;, for the extended quiesce ECB to be posted by the successful completion of a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, system-wide checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;48&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt;, for the end of extended quiesce.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;49&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, at end of extended quiesce, for count of &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt; users to go to zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;50&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for HSM to recall an archived data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;51&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a share lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;52&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User is waiting for an exclusive lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;53&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a subtransaction checkpoint to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;54&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on a blocking file update to complete to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;55&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST doing a timed wait to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;56&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on users to complete subtransactions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;80-89&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Customer (site-specific) wait types.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;97&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a Fast/Unload request running in a real subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;98&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In a &amp;lt;var&amp;gt;[[MAXAUSER parameter|MAXAUSER]]&amp;lt;/var&amp;gt; wait.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;99&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a &amp;lt;var&amp;gt;[[SIRFACT command|SIRFACT QUIESCE]]&amp;lt;/var&amp;gt; to be completed (with a &amp;lt;var&amp;gt;SIRFACT RESUME&amp;lt;/var&amp;gt;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Status flag values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Flag&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description of wait...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User&#039;s wait is swappable. If another user needs this user&#039;s server area, the waiter may be written out.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User is waiting for an internal ECB (that is, the ECB is posted only by &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, not by the operating system). This can happen, for example, if the waiting user is waiting to access a record to which someone else is preventing access. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ECB to be posted is of the short form (1 byte in length) and is an internal ECB (posted by M204). &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;8&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;More than one user is allowed to wait for the ECB that this user is waiting for. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;4&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be bumped.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;2&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be interrupted with an urgent message.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;1&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;A time limit was specified for the user&#039;s wait. For example, if a waiting user is in a record locking conflict situation, it is a timed wait until the request ends and a record locking conflict message is issued, or an &amp;lt;var&amp;gt;ON&amp;lt;/var&amp;gt; unit in the code takes control.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====V7.8 layout change====&lt;br /&gt;
From V.8 onwards the AGE column in the basic display output has been replaced with a column, headed log, which shows the logon status of each user, as in the following example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;Value&amp;lt;/p&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;Meaning&amp;lt;/p&amp;gt;&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;CCA&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;CCASTAT userid&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ESM&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;userid validated by an External Security Manager - ACF2, RACF, or TopSecret&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;SUB&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Subsystem controlled logon&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;GST&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;PDG&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Logon pending due to errors (e.g. invalid password)&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User since-last statistics===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User since-last statistics (SL option) show current activity.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the user is between activities or performing an activity that does not initialize since-last statistics, the display is cumulative.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Statistics displayed are CPU, DKRD, DKWR, UDD, OUT, SLIC, FINDS, RECDS, PCPU, RQTM, SUBSYSTEM, PROC-FILE, PROC, and the pseudo subtask&#039;s user ID, account name, and user number. (Refer to the [[#Description of statistics|Statistics with descriptions]] table for statistic definitions, and to [[#Pseudo subtasks|Pseudo subtasks]].) &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===User performance data===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The PERFORMANCE option shows data last written to the journal. The following information is included:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of samples used to compute percentages&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; percentage of time the user is in each of the scheduler queues&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[#Priority scheduling|Priority scheduling]].&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Open files===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This display is a list of files a user has open.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR examples==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
These examples show several variations of the MONITOR command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single nonrepeating formatted display of basic information for the system and all active users:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command, MONITOR ACTIVE, specifies a single nonrepeating formatted display of basic information for the system and active users, excepting OFFO and OFFI users. (OFFO and OFFI are state-of-queue statuses meaning that the Scheduler does not have to evaluate those users not in the queue. Prior to version 7.7, OFFQ was used instead of OFFO and OFFI.)&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;The MONITOR ACTIVE command is used to reduce the amount of terminal output.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ACTIVE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of the cumulative system statistics, which is updated every minute:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR STATISTICS          60&lt;br /&gt;
MONITOR STAT                EVERY 60&lt;br /&gt;
MONITOR SYSTEM STATISTICS   60&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single display of the cumulative user statistics for users 1, 3, and 5, if they are active:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,3,5) STATISTICS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a single formatted display of basic system information and basic, since-last, performance, and file information for each active user. Pseudo subtask&#039;s user ID, account name, and user number are displayed for SL (since-last) statistics:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR                   ALL&lt;br /&gt;
MONITOR                   USERS ALL&lt;br /&gt;
MONITOR                   BASIC SL PERFORMANCE FILE&lt;br /&gt;
MONITOR                   SL FILE PERF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of basic formatted information for the system and users 1, 2, 5, and 7, if they are active. The display is repeated continually 75 seconds after it completes. The user must press Enter to display the refreshed version, or enter *CANCEL to terminate the display:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,2,5,7)         75&lt;br /&gt;
MONITOR (1,2,5,7)         BASIC EVERY 75&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies an unformatted display of the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of active users&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Number of compactions of the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Required LRETBL setting (high-water mark) for the current system load&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ENQ&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a formatted display of the number of pages from tables of each file that are currently located in the disk buffers: &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR DISKBUFF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about SNA Communications Server&#039;s use of output buffers and waits for threads:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR VTAM&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR LINK example==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a network entity:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR LINK HEADQTRS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about the MONITOR command for network monitoring, see &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; Horizon: Intersystem Processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, HEADQTRS is the specified network entity for which the Online system operation is being monitored. The following statistics are provided:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; LOCAL ID MAXSES BNDSES IBWTS OBWTS CONVS FLGS TRAN/PROTO&lt;br /&gt;
 -------- ------ ------ ----- ----- ----- ---- ----------&lt;br /&gt;
 BOSTACB       4      2     0     0     2 A    VTAM/LU62&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS PROCESSGRP&lt;br /&gt;
 -----  -------- ----- ----- ---- ----------&lt;br /&gt;
     3  PROCESS1     5     4 BI   DENVER    OBSOLETE&lt;br /&gt;
     4  PROCESS1     5     4 BI   DENVER&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; LOCAL ID is the SNA Communications Server ACB name (BOSTACB).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; MAXSES is the maximum number of sessions allowed on this link (4). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The limit is established by the SESSIONS parameter of the DEFINE LINK command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; BNDSES indicates the number of currently bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; IBWTS indicates the number of input buffer waits (0) by inbound conversations. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The input buffer availability is controlled by the actual number of input buffers established by the INBUFNO parameter of the DEFINE LINK command. An input buffer is used on the inbound side when a conversation is being established. If IBWTS is high, and you observe delays while opening inbound processes, then increase INBUFNO.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; OBWTS indicates the number of output buffer waits (0). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; OBWTS is always zero when the communication protocol is&lt;br /&gt;
 LU 6.2 (output buffers are not used).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; CONVS indicates the number of active conversations (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the link status (A). Possible values for FLGS are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;A&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Active&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;S&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Stopped&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;C&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Closed&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; TRAN indicates the transport mechanism: SNA Communications Server or terminal (TERM). In this case TRAN is SNA Communications Server. &amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROTO indicates the communication protocol (LU 6.2). Possible values for PROTO are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;MSTR&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Master (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;XFER&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Transfer (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;IMS61&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;IMS LU 6.1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LU 6.2&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;LU 6.2 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each bound session.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; USER provides the external user number (3, 4). A blank occurs if a conversation is not active.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROCESS indicates the process name (PROCESS1). If a conversation is not active, a blank appears.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; SENDS indicates the number of physical sends for each conversation&lt;br /&gt;
 (5, 5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; RECVS indicates the number of physical receives for each conversation&lt;br /&gt;
 (4, 4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the session (BI, BI). The session status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;first speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;outbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;L&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;local bid in progress&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;R&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;remote bid accepted &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; PROCESSGRP provides the process group name (DENVER). In this example, user 3 is running with an OBSOLETE process group: the process group was stopped and a DEFINE PROCESSGROUP command was issued to change the process group definition for subsequent usage. User 4 is running with the most recent version of the process group definition. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESSGROUP example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies reports concerning a specific process group:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESSGROUP &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two PROCESSGROUP reports are produced. The first report is for an active conversation. The second report reflects the stopping and redefinition of the active conversation, which is allocated to another conversation (OBSOLETE with the same process name). Until the conversation with the obsolete process group ends, separate reports are produced for each process group to reflect the more current set of attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 A&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     4  PROCESS1     5     4 BI&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 AX&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     3  PROCESS1     5     4 BI&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LINKNAME&amp;lt;/var&amp;gt; names the associated link (&amp;lt;code&amp;gt;HEADQTRS&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;REMOTEID&amp;lt;/var&amp;gt; provides the Remote LU name (&amp;lt;code&amp;gt;DENVACB&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;BNDSES&amp;lt;/var&amp;gt; indicates the number of bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;INCONVS&amp;lt;/var&amp;gt; indicates the number of active inbound conversations (1).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;OTCONVS&amp;lt;/var&amp;gt; indicates the number of active outbound conversations (0).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the processgroup (&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;). The processgroup status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;A&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Active&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;S&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Stopped&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;X&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Obsolete &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each active conversation.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESS&amp;lt;/var&amp;gt; provides the name of the program as it is known to network users (&amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session status (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESS example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a particular process:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two inbound conversations invoked from PROCESSGROUP DENVER (users 3 and 4) are in progress with the process named &amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;. The conversation ID (CID) that was assigned in the SOUL &amp;lt;var&amp;gt;OPEN PROCESS&amp;lt;/var&amp;gt; statement is &amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
 &lt;br /&gt;
USER   CID      PROCESSGRP STARTED     SENDS RECVS FLGS STATE&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;-----  -------- ---------- ----------- ----- ----- ---- ------&lt;br /&gt;
    3  PROGRAM1 DENVER     88349135723     5     4 BI   RECV&lt;br /&gt;
    4  PROGRAM1 DENVER     88349135803     5     4 BI   RECV&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;CID&amp;lt;/var&amp;gt; provides the conversation ID (&amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESSGRP&amp;lt;/var&amp;gt; indicates the name of the processgroup (&amp;lt;code&amp;gt;DENVER&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STARTED&amp;lt;/var&amp;gt; provides the Julian date and time the conversation began (&amp;lt;code&amp;gt;88349&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;13:57:23&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are:&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STATE&amp;lt;/var&amp;gt; indicates the state of the conversation (&amp;lt;code&amp;gt;RECV&amp;lt;/code&amp;gt;). Conversation states can be:&lt;br /&gt;
 &lt;br /&gt;
:ACCEPT&lt;br /&gt;
:CLOSE&lt;br /&gt;
:CONFCLS&lt;br /&gt;
:CONFIRM&lt;br /&gt;
:CONFSND&lt;br /&gt;
:INITIAL&lt;br /&gt;
:RECV&lt;br /&gt;
:SEND&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR DISKBUFF example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can use the &amp;lt;var&amp;gt;[[MONITOR command: Disk buffers|MONITOR DISKBUFF]]&amp;lt;/var&amp;gt; commands to analyze the buffer pool utilizations:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; output shows buffer usage combining above and below the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFG&amp;lt;/var&amp;gt; output shows buffer pool usage for only above the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFL&amp;lt;/var&amp;gt; output shows buffer pool usage for only below the bar buffer usage.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use these commands throughout the day across varied types of daily and event processing to evaluate your buffer allocations.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Using MONITOR DISKBUFF commands===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can see the types of pages that are in your buffer pools at any point in time using the &amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; command. The output of this command displays the types of pages that are in buffers and how many of each type.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MONITOR DISKBUFF&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
FILENAME  FCT    TBLA    TBLB    TBLC    TBLD    TBLE    TBLX   *TOTAL*&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;--------  ---  ------  ------  ------  ------  ------  ------   -------&lt;br /&gt;
CCATEMP     0      40       0       0       0       0       0        40&lt;br /&gt;
PROC1       1       0       0       0      11       0       0        12&lt;br /&gt;
FILETBLX    1       1      10       0       2       0       2        16&lt;br /&gt;
TESTZ       1       1      11       0       3     185       0       201&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;*TOTAL*     3      42      21       0      16     185       2       269&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System management]]&lt;br /&gt;
[[Category:Model 204 operational issues]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118134</id>
		<title>ONLINE monitoring</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118134"/>
		<updated>2020-05-20T15:32:12Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* V7.8 layout change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
You can monitor the status and performance of an ONLINE system, including SNA Communications Server interfaces, with the MONITOR command. See [[MONITOR command]] for complete command syntax.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MONITOR provides a series of formatted or unformatted displays of system and user statistics about all or a selected set of active users. You can update the displays on a periodic basis, but do not update them more frequently than every five seconds. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Unformatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unformatted displays show all the nonzero cumulative system or user statistics in a format similar to that provided in the journal:   &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Series of terms appears in name=value format.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Journal header is not displayed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Each user is identified by user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Account name appears at the beginning of the user&#039;s display. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Formatted displays show basic system information, followed by specified user information in labelled columns. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Basic system information includes the number of:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Active users (USR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Active servers (SVR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open buffers (BUF)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files (FLS) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A file open as part of one or more permanent groups is followed by an asterisk (*).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Two pound signs (##) indicate that the user has more files open than can fit into the internal buffer used to hold open file names.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  System percentage of CPU time (PCPU).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Statistics from the last system performance line written to the journal. If performance monitoring is active and performance lines are being written to the journal, all statistics are shown. Otherwise, only open buffers, open files, and system PCPU are shown. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Specified user information is described in the next section.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==User information in formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User information is viewable in the following types of formatted displays:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Basic display (default)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User since-last statistics&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User performance data&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following sections describe these types of formatted displays.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Basic display===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;USER SVR  USERID P CUR SLICE AGE FUNC CNCT    CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
 0        SAM    S  48 0.075             0  0.041  3     BLKO 04 40&lt;br /&gt;
 1     1  MARY   S  49 0.075     EVAL  266  0.152  36    REDY &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USER is the user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SVR is the server number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USERID is the user ID.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P is user priority (P).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CUR is current priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLICE is current CPU time slice.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;AGE is user pre-aged priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FUNC is the last function to set the since-last parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CNCT is connect time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CPU is CPU time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SEQIO is the sequential I/O operations performed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;QUE is the [[#QUE values|current scheduler queue]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WT is the [[#Wait state values|user wait state]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FLGS is the sum of the [[#Status flag values|status flag values]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====QUE values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
QUE value &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Means user is...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
RUNG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTSV &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Waiting for a server.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
REDY &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Ready or running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SWPG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Being swapped in or out.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTUS &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Server waiting for user.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MOVE&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Moving between queues.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tip:&amp;lt;/b&amp;gt; As of version 7.7, by summing RUNG, BLKI, BLKO, WTSV, REDY, and SWPG, you can approximate USRS (average active users).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Prior to version 7.7, OFFQ was used instead of OFFI and OFFO.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Wait type values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Wait&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
00&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unspecified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
01&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Disk I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;02&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;03&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;04&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Operator&#039;s console input (WTOR).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;05&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restore reads (BSAM).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
06&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Dump writes (BSAM). &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;07&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Enqueue waits (record or noncritical resource).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;08&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Buffer waits.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;09&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait almost forever (deactivated user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a pseudo subtask, or waits for reactivation (hung terminal).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;11&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for an IFAM2 or IFAM4 call.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a wakeup.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;13&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Server I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;15&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Writes to the journal data set, CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;16&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint writes to CHKPOINT data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;17&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for check on previous write.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;18&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint DECB to free up or waiting for multiuser output arbitration.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;19&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint request.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint completion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;21&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait forever (dead user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;22&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;VSAM or sequential file input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;23&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting due to excessive login failures.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;24&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for exclusive control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;25&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for share control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;26&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for SNA Communications Server buffer, input or output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;27&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;28&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;29&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for the security interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;30&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;SWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined ECB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;31&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;NOSWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined EDB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;32&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for DB2 subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;33-36&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;37&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for recovery to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;38&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
39&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for an MQSeries subtask to become available.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
41&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a MQ subtask to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
42&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;MQSeries MQGET operations with wait time specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
43&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF to load or delete a module. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;44&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to become free. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;45&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF subtask to become free.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;46&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;47&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt;, for the extended quiesce ECB to be posted by the successful completion of a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, system-wide checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;48&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt;, for the end of extended quiesce.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;49&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, at end of extended quiesce, for count of &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt; users to go to zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;50&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for HSM to recall an archived data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;51&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a share lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;52&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User is waiting for an exclusive lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;53&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a subtransaction checkpoint to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;54&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on a blocking file update to complete to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;55&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST doing a timed wait to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;56&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on users to complete subtransactions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;80-89&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Customer (site-specific) wait types.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;97&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a Fast/Unload request running in a real subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;98&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In a &amp;lt;var&amp;gt;[[MAXAUSER parameter|MAXAUSER]]&amp;lt;/var&amp;gt; wait.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;99&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a &amp;lt;var&amp;gt;[[SIRFACT command|SIRFACT QUIESCE]]&amp;lt;/var&amp;gt; to be completed (with a &amp;lt;var&amp;gt;SIRFACT RESUME&amp;lt;/var&amp;gt;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Status flag values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Flag&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description of wait...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User&#039;s wait is swappable. If another user needs this user&#039;s server area, the waiter may be written out.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User is waiting for an internal ECB (that is, the ECB is posted only by &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, not by the operating system). This can happen, for example, if the waiting user is waiting to access a record to which someone else is preventing access. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ECB to be posted is of the short form (1 byte in length) and is an internal ECB (posted by M204). &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;8&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;More than one user is allowed to wait for the ECB that this user is waiting for. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;4&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be bumped.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;2&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be interrupted with an urgent message.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;1&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;A time limit was specified for the user&#039;s wait. For example, if a waiting user is in a record locking conflict situation, it is a timed wait until the request ends and a record locking conflict message is issued, or an &amp;lt;var&amp;gt;ON&amp;lt;/var&amp;gt; unit in the code takes control.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====V7.8 layout change====&lt;br /&gt;
From V.8 onwards the AGE column in the basic display output has been replaced with a column, headed log, which shows the logon status of each user, as in the following example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User since-last statistics===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User since-last statistics (SL option) show current activity.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the user is between activities or performing an activity that does not initialize since-last statistics, the display is cumulative.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Statistics displayed are CPU, DKRD, DKWR, UDD, OUT, SLIC, FINDS, RECDS, PCPU, RQTM, SUBSYSTEM, PROC-FILE, PROC, and the pseudo subtask&#039;s user ID, account name, and user number. (Refer to the [[#Description of statistics|Statistics with descriptions]] table for statistic definitions, and to [[#Pseudo subtasks|Pseudo subtasks]].) &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===User performance data===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The PERFORMANCE option shows data last written to the journal. The following information is included:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of samples used to compute percentages&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; percentage of time the user is in each of the scheduler queues&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[#Priority scheduling|Priority scheduling]].&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Open files===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This display is a list of files a user has open.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR examples==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
These examples show several variations of the MONITOR command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single nonrepeating formatted display of basic information for the system and all active users:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command, MONITOR ACTIVE, specifies a single nonrepeating formatted display of basic information for the system and active users, excepting OFFO and OFFI users. (OFFO and OFFI are state-of-queue statuses meaning that the Scheduler does not have to evaluate those users not in the queue. Prior to version 7.7, OFFQ was used instead of OFFO and OFFI.)&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;The MONITOR ACTIVE command is used to reduce the amount of terminal output.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ACTIVE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of the cumulative system statistics, which is updated every minute:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR STATISTICS          60&lt;br /&gt;
MONITOR STAT                EVERY 60&lt;br /&gt;
MONITOR SYSTEM STATISTICS   60&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single display of the cumulative user statistics for users 1, 3, and 5, if they are active:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,3,5) STATISTICS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a single formatted display of basic system information and basic, since-last, performance, and file information for each active user. Pseudo subtask&#039;s user ID, account name, and user number are displayed for SL (since-last) statistics:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR                   ALL&lt;br /&gt;
MONITOR                   USERS ALL&lt;br /&gt;
MONITOR                   BASIC SL PERFORMANCE FILE&lt;br /&gt;
MONITOR                   SL FILE PERF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of basic formatted information for the system and users 1, 2, 5, and 7, if they are active. The display is repeated continually 75 seconds after it completes. The user must press Enter to display the refreshed version, or enter *CANCEL to terminate the display:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,2,5,7)         75&lt;br /&gt;
MONITOR (1,2,5,7)         BASIC EVERY 75&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies an unformatted display of the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of active users&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Number of compactions of the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Required LRETBL setting (high-water mark) for the current system load&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ENQ&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a formatted display of the number of pages from tables of each file that are currently located in the disk buffers: &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR DISKBUFF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about SNA Communications Server&#039;s use of output buffers and waits for threads:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR VTAM&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR LINK example==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a network entity:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR LINK HEADQTRS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about the MONITOR command for network monitoring, see &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; Horizon: Intersystem Processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, HEADQTRS is the specified network entity for which the Online system operation is being monitored. The following statistics are provided:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; LOCAL ID MAXSES BNDSES IBWTS OBWTS CONVS FLGS TRAN/PROTO&lt;br /&gt;
 -------- ------ ------ ----- ----- ----- ---- ----------&lt;br /&gt;
 BOSTACB       4      2     0     0     2 A    VTAM/LU62&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS PROCESSGRP&lt;br /&gt;
 -----  -------- ----- ----- ---- ----------&lt;br /&gt;
     3  PROCESS1     5     4 BI   DENVER    OBSOLETE&lt;br /&gt;
     4  PROCESS1     5     4 BI   DENVER&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; LOCAL ID is the SNA Communications Server ACB name (BOSTACB).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; MAXSES is the maximum number of sessions allowed on this link (4). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The limit is established by the SESSIONS parameter of the DEFINE LINK command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; BNDSES indicates the number of currently bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; IBWTS indicates the number of input buffer waits (0) by inbound conversations. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The input buffer availability is controlled by the actual number of input buffers established by the INBUFNO parameter of the DEFINE LINK command. An input buffer is used on the inbound side when a conversation is being established. If IBWTS is high, and you observe delays while opening inbound processes, then increase INBUFNO.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; OBWTS indicates the number of output buffer waits (0). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; OBWTS is always zero when the communication protocol is&lt;br /&gt;
 LU 6.2 (output buffers are not used).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; CONVS indicates the number of active conversations (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the link status (A). Possible values for FLGS are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;A&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Active&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;S&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Stopped&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;C&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Closed&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; TRAN indicates the transport mechanism: SNA Communications Server or terminal (TERM). In this case TRAN is SNA Communications Server. &amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROTO indicates the communication protocol (LU 6.2). Possible values for PROTO are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;MSTR&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Master (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;XFER&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Transfer (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;IMS61&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;IMS LU 6.1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LU 6.2&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;LU 6.2 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each bound session.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; USER provides the external user number (3, 4). A blank occurs if a conversation is not active.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROCESS indicates the process name (PROCESS1). If a conversation is not active, a blank appears.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; SENDS indicates the number of physical sends for each conversation&lt;br /&gt;
 (5, 5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; RECVS indicates the number of physical receives for each conversation&lt;br /&gt;
 (4, 4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the session (BI, BI). The session status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;first speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;outbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;L&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;local bid in progress&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;R&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;remote bid accepted &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; PROCESSGRP provides the process group name (DENVER). In this example, user 3 is running with an OBSOLETE process group: the process group was stopped and a DEFINE PROCESSGROUP command was issued to change the process group definition for subsequent usage. User 4 is running with the most recent version of the process group definition. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESSGROUP example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies reports concerning a specific process group:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESSGROUP &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two PROCESSGROUP reports are produced. The first report is for an active conversation. The second report reflects the stopping and redefinition of the active conversation, which is allocated to another conversation (OBSOLETE with the same process name). Until the conversation with the obsolete process group ends, separate reports are produced for each process group to reflect the more current set of attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 A&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     4  PROCESS1     5     4 BI&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 AX&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     3  PROCESS1     5     4 BI&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LINKNAME&amp;lt;/var&amp;gt; names the associated link (&amp;lt;code&amp;gt;HEADQTRS&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;REMOTEID&amp;lt;/var&amp;gt; provides the Remote LU name (&amp;lt;code&amp;gt;DENVACB&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;BNDSES&amp;lt;/var&amp;gt; indicates the number of bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;INCONVS&amp;lt;/var&amp;gt; indicates the number of active inbound conversations (1).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;OTCONVS&amp;lt;/var&amp;gt; indicates the number of active outbound conversations (0).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the processgroup (&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;). The processgroup status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;A&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Active&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;S&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Stopped&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;X&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Obsolete &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each active conversation.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESS&amp;lt;/var&amp;gt; provides the name of the program as it is known to network users (&amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session status (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESS example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a particular process:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two inbound conversations invoked from PROCESSGROUP DENVER (users 3 and 4) are in progress with the process named &amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;. The conversation ID (CID) that was assigned in the SOUL &amp;lt;var&amp;gt;OPEN PROCESS&amp;lt;/var&amp;gt; statement is &amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
 &lt;br /&gt;
USER   CID      PROCESSGRP STARTED     SENDS RECVS FLGS STATE&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;-----  -------- ---------- ----------- ----- ----- ---- ------&lt;br /&gt;
    3  PROGRAM1 DENVER     88349135723     5     4 BI   RECV&lt;br /&gt;
    4  PROGRAM1 DENVER     88349135803     5     4 BI   RECV&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;CID&amp;lt;/var&amp;gt; provides the conversation ID (&amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESSGRP&amp;lt;/var&amp;gt; indicates the name of the processgroup (&amp;lt;code&amp;gt;DENVER&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STARTED&amp;lt;/var&amp;gt; provides the Julian date and time the conversation began (&amp;lt;code&amp;gt;88349&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;13:57:23&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are:&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STATE&amp;lt;/var&amp;gt; indicates the state of the conversation (&amp;lt;code&amp;gt;RECV&amp;lt;/code&amp;gt;). Conversation states can be:&lt;br /&gt;
 &lt;br /&gt;
:ACCEPT&lt;br /&gt;
:CLOSE&lt;br /&gt;
:CONFCLS&lt;br /&gt;
:CONFIRM&lt;br /&gt;
:CONFSND&lt;br /&gt;
:INITIAL&lt;br /&gt;
:RECV&lt;br /&gt;
:SEND&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR DISKBUFF example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can use the &amp;lt;var&amp;gt;[[MONITOR command: Disk buffers|MONITOR DISKBUFF]]&amp;lt;/var&amp;gt; commands to analyze the buffer pool utilizations:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; output shows buffer usage combining above and below the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFG&amp;lt;/var&amp;gt; output shows buffer pool usage for only above the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFL&amp;lt;/var&amp;gt; output shows buffer pool usage for only below the bar buffer usage.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use these commands throughout the day across varied types of daily and event processing to evaluate your buffer allocations.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Using MONITOR DISKBUFF commands===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can see the types of pages that are in your buffer pools at any point in time using the &amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; command. The output of this command displays the types of pages that are in buffers and how many of each type.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MONITOR DISKBUFF&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
FILENAME  FCT    TBLA    TBLB    TBLC    TBLD    TBLE    TBLX   *TOTAL*&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;--------  ---  ------  ------  ------  ------  ------  ------   -------&lt;br /&gt;
CCATEMP     0      40       0       0       0       0       0        40&lt;br /&gt;
PROC1       1       0       0       0      11       0       0        12&lt;br /&gt;
FILETBLX    1       1      10       0       2       0       2        16&lt;br /&gt;
TESTZ       1       1      11       0       3     185       0       201&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;*TOTAL*     3      42      21       0      16     185       2       269&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System management]]&lt;br /&gt;
[[Category:Model 204 operational issues]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118133</id>
		<title>ONLINE monitoring</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118133"/>
		<updated>2020-05-20T15:31:34Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* V7.8 layout change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
You can monitor the status and performance of an ONLINE system, including SNA Communications Server interfaces, with the MONITOR command. See [[MONITOR command]] for complete command syntax.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MONITOR provides a series of formatted or unformatted displays of system and user statistics about all or a selected set of active users. You can update the displays on a periodic basis, but do not update them more frequently than every five seconds. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Unformatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unformatted displays show all the nonzero cumulative system or user statistics in a format similar to that provided in the journal:   &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Series of terms appears in name=value format.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Journal header is not displayed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Each user is identified by user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Account name appears at the beginning of the user&#039;s display. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Formatted displays show basic system information, followed by specified user information in labelled columns. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Basic system information includes the number of:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Active users (USR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Active servers (SVR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open buffers (BUF)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files (FLS) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A file open as part of one or more permanent groups is followed by an asterisk (*).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Two pound signs (##) indicate that the user has more files open than can fit into the internal buffer used to hold open file names.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  System percentage of CPU time (PCPU).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Statistics from the last system performance line written to the journal. If performance monitoring is active and performance lines are being written to the journal, all statistics are shown. Otherwise, only open buffers, open files, and system PCPU are shown. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Specified user information is described in the next section.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==User information in formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User information is viewable in the following types of formatted displays:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Basic display (default)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User since-last statistics&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User performance data&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following sections describe these types of formatted displays.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Basic display===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;USER SVR  USERID P CUR SLICE AGE FUNC CNCT    CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
 0        SAM    S  48 0.075             0  0.041  3     BLKO 04 40&lt;br /&gt;
 1     1  MARY   S  49 0.075     EVAL  266  0.152  36    REDY &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USER is the user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SVR is the server number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USERID is the user ID.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P is user priority (P).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CUR is current priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLICE is current CPU time slice.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;AGE is user pre-aged priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FUNC is the last function to set the since-last parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CNCT is connect time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CPU is CPU time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SEQIO is the sequential I/O operations performed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;QUE is the [[#QUE values|current scheduler queue]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WT is the [[#Wait state values|user wait state]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FLGS is the sum of the [[#Status flag values|status flag values]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====QUE values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
QUE value &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Means user is...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
RUNG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTSV &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Waiting for a server.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
REDY &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Ready or running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SWPG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Being swapped in or out.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTUS &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Server waiting for user.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MOVE&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Moving between queues.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tip:&amp;lt;/b&amp;gt; As of version 7.7, by summing RUNG, BLKI, BLKO, WTSV, REDY, and SWPG, you can approximate USRS (average active users).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Prior to version 7.7, OFFQ was used instead of OFFI and OFFO.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Wait type values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Wait&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
00&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unspecified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
01&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Disk I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;02&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;03&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;04&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Operator&#039;s console input (WTOR).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;05&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restore reads (BSAM).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
06&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Dump writes (BSAM). &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;07&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Enqueue waits (record or noncritical resource).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;08&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Buffer waits.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;09&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait almost forever (deactivated user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a pseudo subtask, or waits for reactivation (hung terminal).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;11&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for an IFAM2 or IFAM4 call.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a wakeup.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;13&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Server I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;15&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Writes to the journal data set, CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;16&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint writes to CHKPOINT data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;17&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for check on previous write.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;18&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint DECB to free up or waiting for multiuser output arbitration.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;19&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint request.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint completion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;21&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait forever (dead user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;22&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;VSAM or sequential file input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;23&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting due to excessive login failures.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;24&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for exclusive control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;25&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for share control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;26&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for SNA Communications Server buffer, input or output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;27&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;28&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;29&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for the security interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;30&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;SWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined ECB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;31&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;NOSWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined EDB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;32&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for DB2 subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;33-36&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;37&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for recovery to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;38&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
39&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for an MQSeries subtask to become available.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
41&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a MQ subtask to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
42&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;MQSeries MQGET operations with wait time specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
43&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF to load or delete a module. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;44&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to become free. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;45&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF subtask to become free.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;46&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;47&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt;, for the extended quiesce ECB to be posted by the successful completion of a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, system-wide checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;48&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt;, for the end of extended quiesce.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;49&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, at end of extended quiesce, for count of &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt; users to go to zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;50&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for HSM to recall an archived data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;51&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a share lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;52&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User is waiting for an exclusive lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;53&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a subtransaction checkpoint to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;54&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on a blocking file update to complete to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;55&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST doing a timed wait to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;56&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on users to complete subtransactions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;80-89&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Customer (site-specific) wait types.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;97&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a Fast/Unload request running in a real subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;98&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In a &amp;lt;var&amp;gt;[[MAXAUSER parameter|MAXAUSER]]&amp;lt;/var&amp;gt; wait.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;99&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a &amp;lt;var&amp;gt;[[SIRFACT command|SIRFACT QUIESCE]]&amp;lt;/var&amp;gt; to be completed (with a &amp;lt;var&amp;gt;SIRFACT RESUME&amp;lt;/var&amp;gt;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Status flag values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Flag&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description of wait...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User&#039;s wait is swappable. If another user needs this user&#039;s server area, the waiter may be written out.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User is waiting for an internal ECB (that is, the ECB is posted only by &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, not by the operating system). This can happen, for example, if the waiting user is waiting to access a record to which someone else is preventing access. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ECB to be posted is of the short form (1 byte in length) and is an internal ECB (posted by M204). &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;8&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;More than one user is allowed to wait for the ECB that this user is waiting for. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;4&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be bumped.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;2&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be interrupted with an urgent message.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;1&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;A time limit was specified for the user&#039;s wait. For example, if a waiting user is in a record locking conflict situation, it is a timed wait until the request ends and a record locking conflict message is issued, or an &amp;lt;var&amp;gt;ON&amp;lt;/var&amp;gt; unit in the code takes control.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====V7.8 layout change====&lt;br /&gt;
From V.8 onwards the AGE column in the basic display output has been replaced with a column, headed log, which shows the logon status of each user, as in the following example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===User since-last statistics===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User since-last statistics (SL option) show current activity.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the user is between activities or performing an activity that does not initialize since-last statistics, the display is cumulative.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Statistics displayed are CPU, DKRD, DKWR, UDD, OUT, SLIC, FINDS, RECDS, PCPU, RQTM, SUBSYSTEM, PROC-FILE, PROC, and the pseudo subtask&#039;s user ID, account name, and user number. (Refer to the [[#Description of statistics|Statistics with descriptions]] table for statistic definitions, and to [[#Pseudo subtasks|Pseudo subtasks]].) &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===User performance data===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The PERFORMANCE option shows data last written to the journal. The following information is included:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of samples used to compute percentages&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; percentage of time the user is in each of the scheduler queues&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[#Priority scheduling|Priority scheduling]].&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Open files===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This display is a list of files a user has open.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR examples==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
These examples show several variations of the MONITOR command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single nonrepeating formatted display of basic information for the system and all active users:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command, MONITOR ACTIVE, specifies a single nonrepeating formatted display of basic information for the system and active users, excepting OFFO and OFFI users. (OFFO and OFFI are state-of-queue statuses meaning that the Scheduler does not have to evaluate those users not in the queue. Prior to version 7.7, OFFQ was used instead of OFFO and OFFI.)&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;The MONITOR ACTIVE command is used to reduce the amount of terminal output.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ACTIVE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of the cumulative system statistics, which is updated every minute:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR STATISTICS          60&lt;br /&gt;
MONITOR STAT                EVERY 60&lt;br /&gt;
MONITOR SYSTEM STATISTICS   60&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single display of the cumulative user statistics for users 1, 3, and 5, if they are active:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,3,5) STATISTICS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a single formatted display of basic system information and basic, since-last, performance, and file information for each active user. Pseudo subtask&#039;s user ID, account name, and user number are displayed for SL (since-last) statistics:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR                   ALL&lt;br /&gt;
MONITOR                   USERS ALL&lt;br /&gt;
MONITOR                   BASIC SL PERFORMANCE FILE&lt;br /&gt;
MONITOR                   SL FILE PERF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of basic formatted information for the system and users 1, 2, 5, and 7, if they are active. The display is repeated continually 75 seconds after it completes. The user must press Enter to display the refreshed version, or enter *CANCEL to terminate the display:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,2,5,7)         75&lt;br /&gt;
MONITOR (1,2,5,7)         BASIC EVERY 75&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies an unformatted display of the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of active users&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Number of compactions of the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Required LRETBL setting (high-water mark) for the current system load&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ENQ&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a formatted display of the number of pages from tables of each file that are currently located in the disk buffers: &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR DISKBUFF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about SNA Communications Server&#039;s use of output buffers and waits for threads:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR VTAM&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR LINK example==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a network entity:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR LINK HEADQTRS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about the MONITOR command for network monitoring, see &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; Horizon: Intersystem Processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, HEADQTRS is the specified network entity for which the Online system operation is being monitored. The following statistics are provided:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; LOCAL ID MAXSES BNDSES IBWTS OBWTS CONVS FLGS TRAN/PROTO&lt;br /&gt;
 -------- ------ ------ ----- ----- ----- ---- ----------&lt;br /&gt;
 BOSTACB       4      2     0     0     2 A    VTAM/LU62&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS PROCESSGRP&lt;br /&gt;
 -----  -------- ----- ----- ---- ----------&lt;br /&gt;
     3  PROCESS1     5     4 BI   DENVER    OBSOLETE&lt;br /&gt;
     4  PROCESS1     5     4 BI   DENVER&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; LOCAL ID is the SNA Communications Server ACB name (BOSTACB).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; MAXSES is the maximum number of sessions allowed on this link (4). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The limit is established by the SESSIONS parameter of the DEFINE LINK command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; BNDSES indicates the number of currently bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; IBWTS indicates the number of input buffer waits (0) by inbound conversations. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The input buffer availability is controlled by the actual number of input buffers established by the INBUFNO parameter of the DEFINE LINK command. An input buffer is used on the inbound side when a conversation is being established. If IBWTS is high, and you observe delays while opening inbound processes, then increase INBUFNO.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; OBWTS indicates the number of output buffer waits (0). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; OBWTS is always zero when the communication protocol is&lt;br /&gt;
 LU 6.2 (output buffers are not used).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; CONVS indicates the number of active conversations (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the link status (A). Possible values for FLGS are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;A&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Active&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;S&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Stopped&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;C&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Closed&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; TRAN indicates the transport mechanism: SNA Communications Server or terminal (TERM). In this case TRAN is SNA Communications Server. &amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROTO indicates the communication protocol (LU 6.2). Possible values for PROTO are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;MSTR&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Master (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;XFER&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Transfer (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;IMS61&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;IMS LU 6.1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LU 6.2&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;LU 6.2 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each bound session.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; USER provides the external user number (3, 4). A blank occurs if a conversation is not active.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROCESS indicates the process name (PROCESS1). If a conversation is not active, a blank appears.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; SENDS indicates the number of physical sends for each conversation&lt;br /&gt;
 (5, 5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; RECVS indicates the number of physical receives for each conversation&lt;br /&gt;
 (4, 4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the session (BI, BI). The session status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;first speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;outbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;L&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;local bid in progress&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;R&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;remote bid accepted &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; PROCESSGRP provides the process group name (DENVER). In this example, user 3 is running with an OBSOLETE process group: the process group was stopped and a DEFINE PROCESSGROUP command was issued to change the process group definition for subsequent usage. User 4 is running with the most recent version of the process group definition. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESSGROUP example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies reports concerning a specific process group:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESSGROUP &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two PROCESSGROUP reports are produced. The first report is for an active conversation. The second report reflects the stopping and redefinition of the active conversation, which is allocated to another conversation (OBSOLETE with the same process name). Until the conversation with the obsolete process group ends, separate reports are produced for each process group to reflect the more current set of attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 A&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     4  PROCESS1     5     4 BI&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 AX&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     3  PROCESS1     5     4 BI&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LINKNAME&amp;lt;/var&amp;gt; names the associated link (&amp;lt;code&amp;gt;HEADQTRS&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;REMOTEID&amp;lt;/var&amp;gt; provides the Remote LU name (&amp;lt;code&amp;gt;DENVACB&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;BNDSES&amp;lt;/var&amp;gt; indicates the number of bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;INCONVS&amp;lt;/var&amp;gt; indicates the number of active inbound conversations (1).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;OTCONVS&amp;lt;/var&amp;gt; indicates the number of active outbound conversations (0).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the processgroup (&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;). The processgroup status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;A&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Active&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;S&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Stopped&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;X&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Obsolete &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each active conversation.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESS&amp;lt;/var&amp;gt; provides the name of the program as it is known to network users (&amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session status (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESS example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a particular process:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two inbound conversations invoked from PROCESSGROUP DENVER (users 3 and 4) are in progress with the process named &amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;. The conversation ID (CID) that was assigned in the SOUL &amp;lt;var&amp;gt;OPEN PROCESS&amp;lt;/var&amp;gt; statement is &amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
 &lt;br /&gt;
USER   CID      PROCESSGRP STARTED     SENDS RECVS FLGS STATE&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;-----  -------- ---------- ----------- ----- ----- ---- ------&lt;br /&gt;
    3  PROGRAM1 DENVER     88349135723     5     4 BI   RECV&lt;br /&gt;
    4  PROGRAM1 DENVER     88349135803     5     4 BI   RECV&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;CID&amp;lt;/var&amp;gt; provides the conversation ID (&amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESSGRP&amp;lt;/var&amp;gt; indicates the name of the processgroup (&amp;lt;code&amp;gt;DENVER&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STARTED&amp;lt;/var&amp;gt; provides the Julian date and time the conversation began (&amp;lt;code&amp;gt;88349&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;13:57:23&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are:&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STATE&amp;lt;/var&amp;gt; indicates the state of the conversation (&amp;lt;code&amp;gt;RECV&amp;lt;/code&amp;gt;). Conversation states can be:&lt;br /&gt;
 &lt;br /&gt;
:ACCEPT&lt;br /&gt;
:CLOSE&lt;br /&gt;
:CONFCLS&lt;br /&gt;
:CONFIRM&lt;br /&gt;
:CONFSND&lt;br /&gt;
:INITIAL&lt;br /&gt;
:RECV&lt;br /&gt;
:SEND&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR DISKBUFF example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can use the &amp;lt;var&amp;gt;[[MONITOR command: Disk buffers|MONITOR DISKBUFF]]&amp;lt;/var&amp;gt; commands to analyze the buffer pool utilizations:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; output shows buffer usage combining above and below the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFG&amp;lt;/var&amp;gt; output shows buffer pool usage for only above the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFL&amp;lt;/var&amp;gt; output shows buffer pool usage for only below the bar buffer usage.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use these commands throughout the day across varied types of daily and event processing to evaluate your buffer allocations.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Using MONITOR DISKBUFF commands===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can see the types of pages that are in your buffer pools at any point in time using the &amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; command. The output of this command displays the types of pages that are in buffers and how many of each type.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MONITOR DISKBUFF&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
FILENAME  FCT    TBLA    TBLB    TBLC    TBLD    TBLE    TBLX   *TOTAL*&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;--------  ---  ------  ------  ------  ------  ------  ------   -------&lt;br /&gt;
CCATEMP     0      40       0       0       0       0       0        40&lt;br /&gt;
PROC1       1       0       0       0      11       0       0        12&lt;br /&gt;
FILETBLX    1       1      10       0       2       0       2        16&lt;br /&gt;
TESTZ       1       1      11       0       3     185       0       201&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;*TOTAL*     3      42      21       0      16     185       2       269&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System management]]&lt;br /&gt;
[[Category:Model 204 operational issues]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118132</id>
		<title>ONLINE monitoring</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118132"/>
		<updated>2020-05-20T15:28:32Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* V7.8 layout change */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
You can monitor the status and performance of an ONLINE system, including SNA Communications Server interfaces, with the MONITOR command. See [[MONITOR command]] for complete command syntax.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MONITOR provides a series of formatted or unformatted displays of system and user statistics about all or a selected set of active users. You can update the displays on a periodic basis, but do not update them more frequently than every five seconds. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Unformatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unformatted displays show all the nonzero cumulative system or user statistics in a format similar to that provided in the journal:   &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Series of terms appears in name=value format.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Journal header is not displayed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Each user is identified by user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Account name appears at the beginning of the user&#039;s display. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Formatted displays show basic system information, followed by specified user information in labelled columns. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Basic system information includes the number of:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Active users (USR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Active servers (SVR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open buffers (BUF)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files (FLS) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A file open as part of one or more permanent groups is followed by an asterisk (*).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Two pound signs (##) indicate that the user has more files open than can fit into the internal buffer used to hold open file names.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  System percentage of CPU time (PCPU).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Statistics from the last system performance line written to the journal. If performance monitoring is active and performance lines are being written to the journal, all statistics are shown. Otherwise, only open buffers, open files, and system PCPU are shown. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Specified user information is described in the next section.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==User information in formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User information is viewable in the following types of formatted displays:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Basic display (default)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User since-last statistics&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User performance data&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following sections describe these types of formatted displays.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Basic display===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;USER SVR  USERID P CUR SLICE AGE FUNC CNCT    CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
 0        SAM    S  48 0.075             0  0.041  3     BLKO 04 40&lt;br /&gt;
 1     1  MARY   S  49 0.075     EVAL  266  0.152  36    REDY &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USER is the user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SVR is the server number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USERID is the user ID.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P is user priority (P).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CUR is current priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLICE is current CPU time slice.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;AGE is user pre-aged priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FUNC is the last function to set the since-last parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CNCT is connect time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CPU is CPU time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SEQIO is the sequential I/O operations performed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;QUE is the [[#QUE values|current scheduler queue]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WT is the [[#Wait state values|user wait state]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FLGS is the sum of the [[#Status flag values|status flag values]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====QUE values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
QUE value &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Means user is...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
RUNG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTSV &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Waiting for a server.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
REDY &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Ready or running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SWPG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Being swapped in or out.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTUS &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Server waiting for user.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MOVE&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Moving between queues.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tip:&amp;lt;/b&amp;gt; As of version 7.7, by summing RUNG, BLKI, BLKO, WTSV, REDY, and SWPG, you can approximate USRS (average active users).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Prior to version 7.7, OFFQ was used instead of OFFI and OFFO.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Wait type values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Wait&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
00&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unspecified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
01&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Disk I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;02&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;03&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;04&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Operator&#039;s console input (WTOR).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;05&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restore reads (BSAM).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
06&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Dump writes (BSAM). &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;07&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Enqueue waits (record or noncritical resource).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;08&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Buffer waits.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;09&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait almost forever (deactivated user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a pseudo subtask, or waits for reactivation (hung terminal).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;11&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for an IFAM2 or IFAM4 call.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a wakeup.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;13&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Server I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;15&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Writes to the journal data set, CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;16&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint writes to CHKPOINT data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;17&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for check on previous write.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;18&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint DECB to free up or waiting for multiuser output arbitration.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;19&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint request.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint completion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;21&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait forever (dead user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;22&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;VSAM or sequential file input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;23&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting due to excessive login failures.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;24&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for exclusive control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;25&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for share control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;26&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for SNA Communications Server buffer, input or output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;27&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;28&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;29&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for the security interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;30&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;SWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined ECB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;31&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;NOSWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined EDB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;32&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for DB2 subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;33-36&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;37&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for recovery to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;38&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
39&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for an MQSeries subtask to become available.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
41&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a MQ subtask to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
42&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;MQSeries MQGET operations with wait time specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
43&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF to load or delete a module. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;44&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to become free. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;45&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF subtask to become free.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;46&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;47&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt;, for the extended quiesce ECB to be posted by the successful completion of a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, system-wide checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;48&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt;, for the end of extended quiesce.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;49&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, at end of extended quiesce, for count of &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt; users to go to zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;50&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for HSM to recall an archived data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;51&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a share lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;52&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User is waiting for an exclusive lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;53&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a subtransaction checkpoint to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;54&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on a blocking file update to complete to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;55&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST doing a timed wait to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;56&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on users to complete subtransactions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;80-89&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Customer (site-specific) wait types.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;97&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a Fast/Unload request running in a real subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;98&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In a &amp;lt;var&amp;gt;[[MAXAUSER parameter|MAXAUSER]]&amp;lt;/var&amp;gt; wait.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;99&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a &amp;lt;var&amp;gt;[[SIRFACT command|SIRFACT QUIESCE]]&amp;lt;/var&amp;gt; to be completed (with a &amp;lt;var&amp;gt;SIRFACT RESUME&amp;lt;/var&amp;gt;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Status flag values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Flag&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description of wait...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User&#039;s wait is swappable. If another user needs this user&#039;s server area, the waiter may be written out.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User is waiting for an internal ECB (that is, the ECB is posted only by &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, not by the operating system). This can happen, for example, if the waiting user is waiting to access a record to which someone else is preventing access. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ECB to be posted is of the short form (1 byte in length) and is an internal ECB (posted by M204). &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;8&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;More than one user is allowed to wait for the ECB that this user is waiting for. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;4&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be bumped.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;2&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be interrupted with an urgent message.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;1&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;A time limit was specified for the user&#039;s wait. For example, if a waiting user is in a record locking conflict situation, it is a timed wait until the request ends and a record locking conflict message is issued, or an &amp;lt;var&amp;gt;ON&amp;lt;/var&amp;gt; unit in the code takes control.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====V7.8 layout change====&lt;br /&gt;
From V&lt;br /&gt;
&lt;br /&gt;
===User since-last statistics===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User since-last statistics (SL option) show current activity.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the user is between activities or performing an activity that does not initialize since-last statistics, the display is cumulative.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Statistics displayed are CPU, DKRD, DKWR, UDD, OUT, SLIC, FINDS, RECDS, PCPU, RQTM, SUBSYSTEM, PROC-FILE, PROC, and the pseudo subtask&#039;s user ID, account name, and user number. (Refer to the [[#Description of statistics|Statistics with descriptions]] table for statistic definitions, and to [[#Pseudo subtasks|Pseudo subtasks]].) &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===User performance data===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The PERFORMANCE option shows data last written to the journal. The following information is included:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of samples used to compute percentages&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; percentage of time the user is in each of the scheduler queues&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[#Priority scheduling|Priority scheduling]].&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Open files===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This display is a list of files a user has open.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR examples==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
These examples show several variations of the MONITOR command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single nonrepeating formatted display of basic information for the system and all active users:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command, MONITOR ACTIVE, specifies a single nonrepeating formatted display of basic information for the system and active users, excepting OFFO and OFFI users. (OFFO and OFFI are state-of-queue statuses meaning that the Scheduler does not have to evaluate those users not in the queue. Prior to version 7.7, OFFQ was used instead of OFFO and OFFI.)&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;The MONITOR ACTIVE command is used to reduce the amount of terminal output.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ACTIVE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of the cumulative system statistics, which is updated every minute:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR STATISTICS          60&lt;br /&gt;
MONITOR STAT                EVERY 60&lt;br /&gt;
MONITOR SYSTEM STATISTICS   60&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single display of the cumulative user statistics for users 1, 3, and 5, if they are active:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,3,5) STATISTICS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a single formatted display of basic system information and basic, since-last, performance, and file information for each active user. Pseudo subtask&#039;s user ID, account name, and user number are displayed for SL (since-last) statistics:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR                   ALL&lt;br /&gt;
MONITOR                   USERS ALL&lt;br /&gt;
MONITOR                   BASIC SL PERFORMANCE FILE&lt;br /&gt;
MONITOR                   SL FILE PERF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of basic formatted information for the system and users 1, 2, 5, and 7, if they are active. The display is repeated continually 75 seconds after it completes. The user must press Enter to display the refreshed version, or enter *CANCEL to terminate the display:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,2,5,7)         75&lt;br /&gt;
MONITOR (1,2,5,7)         BASIC EVERY 75&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies an unformatted display of the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of active users&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Number of compactions of the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Required LRETBL setting (high-water mark) for the current system load&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ENQ&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a formatted display of the number of pages from tables of each file that are currently located in the disk buffers: &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR DISKBUFF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about SNA Communications Server&#039;s use of output buffers and waits for threads:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR VTAM&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR LINK example==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a network entity:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR LINK HEADQTRS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about the MONITOR command for network monitoring, see &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; Horizon: Intersystem Processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, HEADQTRS is the specified network entity for which the Online system operation is being monitored. The following statistics are provided:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; LOCAL ID MAXSES BNDSES IBWTS OBWTS CONVS FLGS TRAN/PROTO&lt;br /&gt;
 -------- ------ ------ ----- ----- ----- ---- ----------&lt;br /&gt;
 BOSTACB       4      2     0     0     2 A    VTAM/LU62&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS PROCESSGRP&lt;br /&gt;
 -----  -------- ----- ----- ---- ----------&lt;br /&gt;
     3  PROCESS1     5     4 BI   DENVER    OBSOLETE&lt;br /&gt;
     4  PROCESS1     5     4 BI   DENVER&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; LOCAL ID is the SNA Communications Server ACB name (BOSTACB).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; MAXSES is the maximum number of sessions allowed on this link (4). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The limit is established by the SESSIONS parameter of the DEFINE LINK command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; BNDSES indicates the number of currently bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; IBWTS indicates the number of input buffer waits (0) by inbound conversations. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The input buffer availability is controlled by the actual number of input buffers established by the INBUFNO parameter of the DEFINE LINK command. An input buffer is used on the inbound side when a conversation is being established. If IBWTS is high, and you observe delays while opening inbound processes, then increase INBUFNO.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; OBWTS indicates the number of output buffer waits (0). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; OBWTS is always zero when the communication protocol is&lt;br /&gt;
 LU 6.2 (output buffers are not used).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; CONVS indicates the number of active conversations (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the link status (A). Possible values for FLGS are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;A&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Active&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;S&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Stopped&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;C&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Closed&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; TRAN indicates the transport mechanism: SNA Communications Server or terminal (TERM). In this case TRAN is SNA Communications Server. &amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROTO indicates the communication protocol (LU 6.2). Possible values for PROTO are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;MSTR&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Master (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;XFER&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Transfer (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;IMS61&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;IMS LU 6.1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LU 6.2&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;LU 6.2 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each bound session.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; USER provides the external user number (3, 4). A blank occurs if a conversation is not active.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROCESS indicates the process name (PROCESS1). If a conversation is not active, a blank appears.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; SENDS indicates the number of physical sends for each conversation&lt;br /&gt;
 (5, 5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; RECVS indicates the number of physical receives for each conversation&lt;br /&gt;
 (4, 4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the session (BI, BI). The session status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;first speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;outbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;L&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;local bid in progress&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;R&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;remote bid accepted &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; PROCESSGRP provides the process group name (DENVER). In this example, user 3 is running with an OBSOLETE process group: the process group was stopped and a DEFINE PROCESSGROUP command was issued to change the process group definition for subsequent usage. User 4 is running with the most recent version of the process group definition. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESSGROUP example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies reports concerning a specific process group:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESSGROUP &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two PROCESSGROUP reports are produced. The first report is for an active conversation. The second report reflects the stopping and redefinition of the active conversation, which is allocated to another conversation (OBSOLETE with the same process name). Until the conversation with the obsolete process group ends, separate reports are produced for each process group to reflect the more current set of attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 A&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     4  PROCESS1     5     4 BI&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 AX&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     3  PROCESS1     5     4 BI&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LINKNAME&amp;lt;/var&amp;gt; names the associated link (&amp;lt;code&amp;gt;HEADQTRS&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;REMOTEID&amp;lt;/var&amp;gt; provides the Remote LU name (&amp;lt;code&amp;gt;DENVACB&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;BNDSES&amp;lt;/var&amp;gt; indicates the number of bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;INCONVS&amp;lt;/var&amp;gt; indicates the number of active inbound conversations (1).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;OTCONVS&amp;lt;/var&amp;gt; indicates the number of active outbound conversations (0).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the processgroup (&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;). The processgroup status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;A&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Active&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;S&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Stopped&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;X&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Obsolete &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each active conversation.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESS&amp;lt;/var&amp;gt; provides the name of the program as it is known to network users (&amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session status (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESS example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a particular process:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two inbound conversations invoked from PROCESSGROUP DENVER (users 3 and 4) are in progress with the process named &amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;. The conversation ID (CID) that was assigned in the SOUL &amp;lt;var&amp;gt;OPEN PROCESS&amp;lt;/var&amp;gt; statement is &amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
 &lt;br /&gt;
USER   CID      PROCESSGRP STARTED     SENDS RECVS FLGS STATE&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;-----  -------- ---------- ----------- ----- ----- ---- ------&lt;br /&gt;
    3  PROGRAM1 DENVER     88349135723     5     4 BI   RECV&lt;br /&gt;
    4  PROGRAM1 DENVER     88349135803     5     4 BI   RECV&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;CID&amp;lt;/var&amp;gt; provides the conversation ID (&amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESSGRP&amp;lt;/var&amp;gt; indicates the name of the processgroup (&amp;lt;code&amp;gt;DENVER&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STARTED&amp;lt;/var&amp;gt; provides the Julian date and time the conversation began (&amp;lt;code&amp;gt;88349&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;13:57:23&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are:&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STATE&amp;lt;/var&amp;gt; indicates the state of the conversation (&amp;lt;code&amp;gt;RECV&amp;lt;/code&amp;gt;). Conversation states can be:&lt;br /&gt;
 &lt;br /&gt;
:ACCEPT&lt;br /&gt;
:CLOSE&lt;br /&gt;
:CONFCLS&lt;br /&gt;
:CONFIRM&lt;br /&gt;
:CONFSND&lt;br /&gt;
:INITIAL&lt;br /&gt;
:RECV&lt;br /&gt;
:SEND&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR DISKBUFF example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can use the &amp;lt;var&amp;gt;[[MONITOR command: Disk buffers|MONITOR DISKBUFF]]&amp;lt;/var&amp;gt; commands to analyze the buffer pool utilizations:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; output shows buffer usage combining above and below the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFG&amp;lt;/var&amp;gt; output shows buffer pool usage for only above the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFL&amp;lt;/var&amp;gt; output shows buffer pool usage for only below the bar buffer usage.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use these commands throughout the day across varied types of daily and event processing to evaluate your buffer allocations.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Using MONITOR DISKBUFF commands===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can see the types of pages that are in your buffer pools at any point in time using the &amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; command. The output of this command displays the types of pages that are in buffers and how many of each type.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MONITOR DISKBUFF&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
FILENAME  FCT    TBLA    TBLB    TBLC    TBLD    TBLE    TBLX   *TOTAL*&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;--------  ---  ------  ------  ------  ------  ------  ------   -------&lt;br /&gt;
CCATEMP     0      40       0       0       0       0       0        40&lt;br /&gt;
PROC1       1       0       0       0      11       0       0        12&lt;br /&gt;
FILETBLX    1       1      10       0       2       0       2        16&lt;br /&gt;
TESTZ       1       1      11       0       3     185       0       201&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;*TOTAL*     3      42      21       0      16     185       2       269&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System management]]&lt;br /&gt;
[[Category:Model 204 operational issues]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118131</id>
		<title>ONLINE monitoring</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=ONLINE_monitoring&amp;diff=118131"/>
		<updated>2020-05-20T15:27:41Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Basic display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;&lt;br /&gt;
You can monitor the status and performance of an ONLINE system, including SNA Communications Server interfaces, with the MONITOR command. See [[MONITOR command]] for complete command syntax.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MONITOR provides a series of formatted or unformatted displays of system and user statistics about all or a selected set of active users. You can update the displays on a periodic basis, but do not update them more frequently than every five seconds. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Unformatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unformatted displays show all the nonzero cumulative system or user statistics in a format similar to that provided in the journal:   &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Series of terms appears in name=value format.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Journal header is not displayed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Each user is identified by user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Account name appears at the beginning of the user&#039;s display. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==Formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Formatted displays show basic system information, followed by specified user information in labelled columns. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Basic system information includes the number of:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Active users (USR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Active servers (SVR)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open buffers (BUF)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files (FLS) &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; A file open as part of one or more permanent groups is followed by an asterisk (*).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Two pound signs (##) indicate that the user has more files open than can fit into the internal buffer used to hold open file names.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  System percentage of CPU time (PCPU).&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Statistics from the last system performance line written to the journal. If performance monitoring is active and performance lines are being written to the journal, all statistics are shown. Otherwise, only open buffers, open files, and system PCPU are shown. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Specified user information is described in the next section.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==User information in formatted displays==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User information is viewable in the following types of formatted displays:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Basic display (default)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User since-last statistics&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; User performance data&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; Open files&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following sections describe these types of formatted displays.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Basic display===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;USER SVR  USERID P CUR SLICE AGE FUNC CNCT    CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
 0        SAM    S  48 0.075             0  0.041  3     BLKO 04 40&lt;br /&gt;
 1     1  MARY   S  49 0.075     EVAL  266  0.152  36    REDY &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Where:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USER is the user number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SVR is the server number.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;USERID is the user ID.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;P is user priority (P).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CUR is current priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SLICE is current CPU time slice.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;AGE is user pre-aged priority.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FUNC is the last function to set the since-last parameter.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CNCT is connect time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CPU is CPU time.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;SEQIO is the sequential I/O operations performed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;QUE is the [[#QUE values|current scheduler queue]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WT is the [[#Wait state values|user wait state]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;FLGS is the sum of the [[#Status flag values|status flag values]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====QUE values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
QUE value &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Means user is...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
RUNG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFI &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked in server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
BLKO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, visible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
OFFO &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Blocked out of server, invisible to the scheduler.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTSV &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Waiting for a server.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
REDY &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Ready or running.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SWPG &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Being swapped in or out.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WTUS &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Server waiting for user.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
MOVE&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Moving between queues.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Tip:&amp;lt;/b&amp;gt; As of version 7.7, by summing RUNG, BLKI, BLKO, WTSV, REDY, and SWPG, you can approximate USRS (average active users).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Prior to version 7.7, OFFQ was used instead of OFFI and OFFO.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Wait type values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Wait&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
00&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Unspecified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
01&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Disk I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;02&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;03&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Sequential user I/O &amp;amp;mdash; input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;04&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Operator&#039;s console input (WTOR).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;05&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Restore reads (BSAM).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
06&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Dump writes (BSAM). &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;07&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Enqueue waits (record or noncritical resource).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;08&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Buffer waits.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;09&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait almost forever (deactivated user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a pseudo subtask, or waits for reactivation (hung terminal).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;11&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for an IFAM2 or IFAM4 call.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;12&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a wakeup.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;13&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Server I/O.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;15&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Writes to the journal data set, CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;16&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint writes to CHKPOINT data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;17&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for check on previous write.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;18&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint DECB to free up or waiting for multiuser output arbitration.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;19&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint request.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for a checkpoint completion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;21&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Wait forever (dead user).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;22&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;VSAM or sequential file input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;23&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting due to excessive login failures.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;24&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for exclusive control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;25&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for share control of critical file resource.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;26&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for SNA Communications Server buffer, input or output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;27&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess input.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;28&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waits for interprocess output.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;29&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for the security interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;30&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;SWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined ECB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;31&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&amp;lt;i&amp;gt;nn&amp;lt;/i&amp;gt;,&#039;NOSWAP&#039;)&amp;lt;/code&amp;gt;, for a user-defined EDB to be posted by a &amp;lt;var&amp;gt;$Post&amp;lt;/var&amp;gt; function from a different user.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;32&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for DB2 subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;33-36&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;37&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User waiting for recovery to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;38&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
39&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Reserved for future development.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for an MQSeries subtask to become available.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
41&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a MQ subtask to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
42&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;MQSeries MQGET operations with wait time specified.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
43&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF to load or delete a module. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;44&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to become free. &amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;45&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;ECF subtask to become free.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;46&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;External module to run.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;47&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt;, for the extended quiesce ECB to be posted by the successful completion of a &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, system-wide checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;48&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, with &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt;, for the end of extended quiesce.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;49&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User(s) waiting, at end of extended quiesce, for count of &amp;lt;code&amp;gt;$Wait(&#039;CPQZ&#039;)&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$Wait(&#039;QZSIG&#039;)&amp;lt;/code&amp;gt; users to go to zero.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;50&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for HSM to recall an archived data set.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;51&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a share lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;52&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User is waiting for an exclusive lock on the internal constraints database. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The constraints database is used to ensure that there is sufficient space on table B pages and in table D to be able to back out active transactions as needed.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;53&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;User is waiting for a subtransaction checkpoint to complete.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;54&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on a blocking file update to complete to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;55&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST doing a timed wait to try to do a transaction checkpoint.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;56&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Checkpoint PST waiting on users to complete subtransactions.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;80-89&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Customer (site-specific) wait types.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;97&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a Fast/Unload request running in a real subtask.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;98&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In a &amp;lt;var&amp;gt;[[MAXAUSER parameter|MAXAUSER]]&amp;lt;/var&amp;gt; wait.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;99&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Waiting for a &amp;lt;var&amp;gt;[[SIRFACT command|SIRFACT QUIESCE]]&amp;lt;/var&amp;gt; to be completed (with a &amp;lt;var&amp;gt;SIRFACT RESUME&amp;lt;/var&amp;gt;).&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Status flag values====&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Flag&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Description of wait...&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
40&amp;lt;/p&amp;gt;&lt;br /&gt;
 &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User&#039;s wait is swappable. If another user needs this user&#039;s server area, the waiter may be written out.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;20&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User is waiting for an internal ECB (that is, the ECB is posted only by &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt;, not by the operating system). This can happen, for example, if the waiting user is waiting to access a record to which someone else is preventing access. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;10&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;ECB to be posted is of the short form (1 byte in length) and is an internal ECB (posted by M204). &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;8&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;More than one user is allowed to wait for the ECB that this user is waiting for. &amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;4&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be bumped.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;2&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;User can be interrupted with an urgent message.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;1&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;A time limit was specified for the user&#039;s wait. For example, if a waiting user is in a record locking conflict situation, it is a timed wait until the request ends and a record locking conflict message is issued, or an &amp;lt;var&amp;gt;ON&amp;lt;/var&amp;gt; unit in the code takes control.&amp;lt;/p&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====V7.8 layout change====&lt;br /&gt;
&lt;br /&gt;
===User since-last statistics===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
User since-last statistics (SL option) show current activity.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If the user is between activities or performing an activity that does not initialize since-last statistics, the display is cumulative.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Statistics displayed are CPU, DKRD, DKWR, UDD, OUT, SLIC, FINDS, RECDS, PCPU, RQTM, SUBSYSTEM, PROC-FILE, PROC, and the pseudo subtask&#039;s user ID, account name, and user number. (Refer to the [[#Description of statistics|Statistics with descriptions]] table for statistic definitions, and to [[#Pseudo subtasks|Pseudo subtasks]].) &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===User performance data===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The PERFORMANCE option shows data last written to the journal. The following information is included:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of samples used to compute percentages&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; percentage of time the user is in each of the scheduler queues&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[#Priority scheduling|Priority scheduling]].&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Open files===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This display is a list of files a user has open.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR examples==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
These examples show several variations of the MONITOR command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single nonrepeating formatted display of basic information for the system and all active users:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command, MONITOR ACTIVE, specifies a single nonrepeating formatted display of basic information for the system and active users, excepting OFFO and OFFI users. (OFFO and OFFI are state-of-queue statuses meaning that the Scheduler does not have to evaluate those users not in the queue. Prior to version 7.7, OFFQ was used instead of OFFO and OFFI.)&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;The MONITOR ACTIVE command is used to reduce the amount of terminal output.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ACTIVE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of the cumulative system statistics, which is updated every minute:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR STATISTICS          60&lt;br /&gt;
MONITOR STAT                EVERY 60&lt;br /&gt;
MONITOR SYSTEM STATISTICS   60&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a single display of the cumulative user statistics for users 1, 3, and 5, if they are active:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,3,5) STATISTICS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a single formatted display of basic system information and basic, since-last, performance, and file information for each active user. Pseudo subtask&#039;s user ID, account name, and user number are displayed for SL (since-last) statistics:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR                   ALL&lt;br /&gt;
MONITOR                   USERS ALL&lt;br /&gt;
MONITOR                   BASIC SL PERFORMANCE FILE&lt;br /&gt;
MONITOR                   SL FILE PERF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following commands specify a display of basic formatted information for the system and users 1, 2, 5, and 7, if they are active. The display is repeated continually 75 seconds after it completes. The user must press Enter to display the refreshed version, or enter *CANCEL to terminate the display:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR (1,2,5,7)         75&lt;br /&gt;
MONITOR (1,2,5,7)         BASIC EVERY 75&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies an unformatted display of the following information:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Number of active users&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Number of compactions of the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of bytes used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Current high-water mark for the number of headers used in the record locking table&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; Required LRETBL setting (high-water mark) for the current system load&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR ENQ&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies a formatted display of the number of pages from tables of each file that are currently located in the disk buffers: &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR DISKBUFF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about SNA Communications Server&#039;s use of output buffers and waits for threads:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR VTAM&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR LINK example==&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a network entity:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR LINK HEADQTRS&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For more information about the MONITOR command for network monitoring, see &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; Horizon: Intersystem Processing.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, HEADQTRS is the specified network entity for which the Online system operation is being monitored. The following statistics are provided:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; LOCAL ID MAXSES BNDSES IBWTS OBWTS CONVS FLGS TRAN/PROTO&lt;br /&gt;
 -------- ------ ------ ----- ----- ----- ---- ----------&lt;br /&gt;
 BOSTACB       4      2     0     0     2 A    VTAM/LU62&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS PROCESSGRP&lt;br /&gt;
 -----  -------- ----- ----- ---- ----------&lt;br /&gt;
     3  PROCESS1     5     4 BI   DENVER    OBSOLETE&lt;br /&gt;
     4  PROCESS1     5     4 BI   DENVER&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; LOCAL ID is the SNA Communications Server ACB name (BOSTACB).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; MAXSES is the maximum number of sessions allowed on this link (4). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The limit is established by the SESSIONS parameter of the DEFINE LINK command.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; BNDSES indicates the number of currently bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; IBWTS indicates the number of input buffer waits (0) by inbound conversations. &lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The input buffer availability is controlled by the actual number of input buffers established by the INBUFNO parameter of the DEFINE LINK command. An input buffer is used on the inbound side when a conversation is being established. If IBWTS is high, and you observe delays while opening inbound processes, then increase INBUFNO.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; OBWTS indicates the number of output buffer waits (0). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; OBWTS is always zero when the communication protocol is&lt;br /&gt;
 LU 6.2 (output buffers are not used).&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; CONVS indicates the number of active conversations (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the link status (A). Possible values for FLGS are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;A&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Active&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;S&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Stopped&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;C&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Closed&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt; &lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; TRAN indicates the transport mechanism: SNA Communications Server or terminal (TERM). In this case TRAN is SNA Communications Server. &amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROTO indicates the communication protocol (LU 6.2). Possible values for PROTO are: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;MSTR&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Master (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;XFER&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;Transfer (for TPROCESS)&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;IMS61&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;IMS LU 6.1&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;LU 6.2&amp;lt;/th&amp;gt; &amp;lt;td&amp;gt;LU 6.2 &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each bound session.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; USER provides the external user number (3, 4). A blank occurs if a conversation is not active.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; PROCESS indicates the process name (PROCESS1). If a conversation is not active, a blank appears.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; SENDS indicates the number of physical sends for each conversation&lt;br /&gt;
 (5, 5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; RECVS indicates the number of physical receives for each conversation&lt;br /&gt;
 (4, 4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt; FLGS indicates the status of the session (BI, BI). The session status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;first speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;outbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;L&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;local bid in progress&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;R&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;remote bid accepted &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt; PROCESSGRP provides the process group name (DENVER). In this example, user 3 is running with an OBSOLETE process group: the process group was stopped and a DEFINE PROCESSGROUP command was issued to change the process group definition for subsequent usage. User 4 is running with the most recent version of the process group definition. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESSGROUP example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies reports concerning a specific process group:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESSGROUP &amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two PROCESSGROUP reports are produced. The first report is for an active conversation. The second report reflects the stopping and redefinition of the active conversation, which is allocated to another conversation (OBSOLETE with the same process name). Until the conversation with the obsolete process group ends, separate reports are produced for each process group to reflect the more current set of attributes.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt; MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 A&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     4  PROCESS1     5     4 BI&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 MONITOR PROCESSGROUP DENVER&lt;br /&gt;
 &lt;br /&gt;
 LINKNAME REMOTEID BNDSES INCONVS OTCONVS FLGS&lt;br /&gt;
 -------- -------- ------ ------- ------- ----&lt;br /&gt;
 HEADQTRS DENVACB       2       1       0 AX&lt;br /&gt;
 &lt;br /&gt;
 USER   PROCESS  SENDS RECVS FLGS&lt;br /&gt;
 -----  -------- ----- ----- ----&lt;br /&gt;
     3  PROCESS1     5     4 BI&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Where:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LINKNAME&amp;lt;/var&amp;gt; names the associated link (&amp;lt;code&amp;gt;HEADQTRS&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;REMOTEID&amp;lt;/var&amp;gt; provides the Remote LU name (&amp;lt;code&amp;gt;DENVACB&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;BNDSES&amp;lt;/var&amp;gt; indicates the number of bound sessions (2).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;INCONVS&amp;lt;/var&amp;gt; indicates the number of active inbound conversations (1).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;OTCONVS&amp;lt;/var&amp;gt; indicates the number of active outbound conversations (0).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the processgroup (&amp;lt;code&amp;gt;A&amp;lt;/code&amp;gt;). The processgroup status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;A&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Active&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;S&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Stopped&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;X&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Obsolete &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The second line of statistics is a detail line for each active conversation.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESS&amp;lt;/var&amp;gt; provides the name of the program as it is known to network users (&amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (5).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (4).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session status (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are: &lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR PROCESS example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following command specifies information about a particular process:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In this example, two inbound conversations invoked from PROCESSGROUP DENVER (users 3 and 4) are in progress with the process named &amp;lt;code&amp;gt;PROCESS1&amp;lt;/code&amp;gt;. The conversation ID (CID) that was assigned in the SOUL &amp;lt;var&amp;gt;OPEN PROCESS&amp;lt;/var&amp;gt; statement is &amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MONITOR PROCESS PROCESS1&lt;br /&gt;
 &lt;br /&gt;
USER   CID      PROCESSGRP STARTED     SENDS RECVS FLGS STATE&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;-----  -------- ---------- ----------- ----- ----- ---- ------&lt;br /&gt;
    3  PROGRAM1 DENVER     88349135723     5     4 BI   RECV&lt;br /&gt;
    4  PROGRAM1 DENVER     88349135803     5     4 BI   RECV&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;USER&amp;lt;/var&amp;gt; indicates the external user number (&amp;lt;code&amp;gt;3&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;CID&amp;lt;/var&amp;gt; provides the conversation ID (&amp;lt;code&amp;gt;PROGRAM1&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;PROCESSGRP&amp;lt;/var&amp;gt; indicates the name of the processgroup (&amp;lt;code&amp;gt;DENVER&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STARTED&amp;lt;/var&amp;gt; provides the Julian date and time the conversation began (&amp;lt;code&amp;gt;88349&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;13:57:23&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;SENDS&amp;lt;/var&amp;gt; indicates the number of physical sends (&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;RECVS&amp;lt;/var&amp;gt; indicates the number of physical receives (&amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt;).&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;FLGS&amp;lt;/var&amp;gt; indicates the status of the session (&amp;lt;code&amp;gt;BI&amp;lt;/code&amp;gt;). Status flags are:&lt;br /&gt;
&amp;lt;table class=&amp;quot;thJustBold&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;B&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Bound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;F&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;First speaker&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;I&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Inbound&amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;&amp;lt;p&amp;gt;O&amp;lt;/p&amp;gt; &amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;p&amp;gt;Outbound &amp;lt;/p&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;STATE&amp;lt;/var&amp;gt; indicates the state of the conversation (&amp;lt;code&amp;gt;RECV&amp;lt;/code&amp;gt;). Conversation states can be:&lt;br /&gt;
 &lt;br /&gt;
:ACCEPT&lt;br /&gt;
:CLOSE&lt;br /&gt;
:CONFCLS&lt;br /&gt;
:CONFIRM&lt;br /&gt;
:CONFSND&lt;br /&gt;
:INITIAL&lt;br /&gt;
:RECV&lt;br /&gt;
:SEND&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MONITOR DISKBUFF example==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can use the &amp;lt;var&amp;gt;[[MONITOR command: Disk buffers|MONITOR DISKBUFF]]&amp;lt;/var&amp;gt; commands to analyze the buffer pool utilizations:&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; output shows buffer usage combining above and below the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFG&amp;lt;/var&amp;gt; output shows buffer pool usage for only above the bar buffers.&amp;lt;/li&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MONITOR DISKBUFFL&amp;lt;/var&amp;gt; output shows buffer pool usage for only below the bar buffer usage.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Use these commands throughout the day across varied types of daily and event processing to evaluate your buffer allocations.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
===Using MONITOR DISKBUFF commands===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can see the types of pages that are in your buffer pools at any point in time using the &amp;lt;var&amp;gt;MONITOR DISKBUFF&amp;lt;/var&amp;gt; command. The output of this command displays the types of pages that are in buffers and how many of each type.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;MONITOR DISKBUFF&amp;lt;/b&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
FILENAME  FCT    TBLA    TBLB    TBLC    TBLD    TBLE    TBLX   *TOTAL*&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;--------  ---  ------  ------  ------  ------  ------  ------   -------&lt;br /&gt;
CCATEMP     0      40       0       0       0       0       0        40&lt;br /&gt;
PROC1       1       0       0       0      11       0       0        12&lt;br /&gt;
FILETBLX    1       1      10       0       2       0       2        16&lt;br /&gt;
TESTZ       1       1      11       0       3     185       0       201&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;/b&amp;gt;*TOTAL*     3      42      21       0      16     185       2       269&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:System management]]&lt;br /&gt;
[[Category:Model 204 operational issues]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Under_construction&amp;diff=118130</id>
		<title>Under construction</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Under_construction&amp;diff=118130"/>
		<updated>2020-05-20T13:31:34Z</updated>

		<summary type="html">&lt;p&gt;DCameron: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Under_construction&amp;diff=118129</id>
		<title>Under construction</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Under_construction&amp;diff=118129"/>
		<updated>2020-05-20T13:31:11Z</updated>

		<summary type="html">&lt;p&gt;DCameron: Created page with &amp;quot;fred&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;fred&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118026</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118026"/>
		<updated>2020-05-13T12:53:46Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* MONITOR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is also available with V7.7 with the application of zap 77z478.&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118025</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118025"/>
		<updated>2020-05-13T12:51:39Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* MONITOR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; ESM - userid validated by an External Security Manager - ACF2, RACF, or TopSecret/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; SUB - Subsystem controlled logon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; GST - Guest - neither logged on via CCASTAT nor by an ESM&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; PDG - Logon pending due to errors (e.g. invalid password)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118024</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118024"/>
		<updated>2020-05-13T12:44:35Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* MONITOR */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
The MONITOR command output now contains a new column, headed LOG, that shows the logon status of each user in the system, for example&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The LOG column replaces the AGE column in the MONITOR output, as this information was considered more relevant for this command output. Possible values that are shown in the LOG column are as follows&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; CCA - CCASTAT userid&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118023</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118023"/>
		<updated>2020-05-13T12:38:30Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* New and changed commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGUL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&lt;br /&gt;
USER SVR         FLS  PCPU SMPLS   RUNG    REDY    BLKI    WTSV    BLKO   SWPG &lt;br /&gt;
                   7 0.330                                                     &lt;br /&gt;
                                                                               &lt;br /&gt;
USER SVR USERID     P CUR   SLICE LOG FUNC  CNCT        CPU  SEQIO QUE  WT FLGS&lt;br /&gt;
   0   1 SUPERKLUGE S  56   0.031 CCA EVAL     5      0.012    221 OFFI 12  65 &lt;br /&gt;
   4   2 ADMIN      S  51   0.031 CCA          1      0.000     22 RUNG        &lt;br /&gt;
  20     VT75DIED           0.000              0      0.000      0       2  20 &lt;br /&gt;
  21     VT75READ           0.000             37      0.000      0       3  00 &lt;br /&gt;
  22     VT75ERRS           0.000              0      0.000      0       2  20 &lt;br /&gt;
  23     CHKPTIMO           0.000              0      0.000      0      12  20 &lt;br /&gt;
  24     CHKPTIMR           0.000              0      0.000      0      12  20 &lt;br /&gt;
  25     CHKPPST            0.000              0      0.000      0      12  20 &lt;br /&gt;
  26     CHKPAWW            0.000              0      0.000      0      12  20 &lt;br /&gt;
  27     TC62RAPS           0.000              0      0.000      0      27  04 &lt;br /&gt;
  28     TC62SRVC           0.000              0      0.000      0      27  20 &lt;br /&gt;
&amp;gt;                                                                              &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118019</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118019"/>
		<updated>2020-05-06T16:20:06Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Internal performance improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Improved handling of timer queues, particularly in an MP/204 environment&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;More aggressive prioritisation of journal and checkpoint I/O, in order to reduce user waits for such I/), and to reduce related waits on critical file resources &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118018</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118018"/>
		<updated>2020-05-06T16:16:28Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Internal performance improvements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;optimising group and file closure, in particular providing relief on exit from APSYs where a lerga number of groups may be in use, and where the groups may comprise a large number of file members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118017</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118017"/>
		<updated>2020-05-06T16:13:47Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Performance enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
===Internal performance improvements===&lt;br /&gt;
A number of internal performance and optimisation improvements have been made in this release. these include&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;sampling buffer pool pages rather than carrying out a full scan of large buffer pools ( NUMBUFG &amp;gt; 200000 ) when calculating BUFFnnn stats for SirMon&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118016</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118016"/>
		<updated>2020-05-06T15:14:46Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Limiting the production of MSIR.0019 and MSIR.0020 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between &amp;lt;var&amp;gt;[[MAXAUSER_parameter|MAXAUSER]]&amp;lt;/var&amp;gt; warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ). &lt;br /&gt;
&lt;br /&gt;
This change is available in V7.8 with the application of zap 78z011, and within V7.7 with the application of 77z466&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118015</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118015"/>
		<updated>2020-05-06T15:13:00Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Limiting the production of MSIR.0019 and MSIR.0020 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the &amp;lt;var&amp;gt;[[MAXAUSEW_parameter|MAXAUSEW]]&amp;lt;/var&amp;gt; parameter ( minimum seconds between MAXAUSER warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ).&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118014</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118014"/>
		<updated>2020-05-06T15:11:40Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Limiting the production of MSIR.0019 and MSIR.0020 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
The production of the following messages&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0020 Connection request rejected for port (port), no SDAEMONS available&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is now limited to a maximum of one each per time interval set by the MAXAUSEW parameter ( minimum seconds between MAXAUSER warnings, which defaults to 10 seconds ). This avoids flooding the journal / jlog with these messages in situations where the number of connections on a port has been exceeded ( MSIR.0019 ), or the the number of available daemon threads has been exceeded ( MSIR.0020 ).&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118013</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118013"/>
		<updated>2020-05-06T15:02:12Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Janus product enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
===Limiting the production of MSIR.0019 and MSIR.0020 messages===&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118012</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118012"/>
		<updated>2020-05-06T08:57:17Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Recovery enhancements */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
===MERGEJ now supports up to 99 input journals===&lt;br /&gt;
The MERGEJ utility, used to merge journals with overlapping timestamps prior to running Media Recovery, now supports up to 99 input SORTINnn journals to be merged. For this release it is still the case that any previously merged journal must be defined as SORTIN01 to the MERGEJ run, and thus that the MERGEJ run can not accept more than one previously merged journal as input.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118005</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=118005"/>
		<updated>2020-04-14T15:41:05Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Compatibility issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===EndsWith function===&lt;br /&gt;
The [[EndsWith (String function)|EndsWith String function]] determines if one string ends with the characters in another. This is analogous to the [[StartsWith and IsStartOf (String functions)|StartsWith function]] except, of course, it checks the end of a string rather than the start.&lt;br /&gt;
&lt;br /&gt;
The following code snippet:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)}&lt;br /&gt;
printText {~=&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)}&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
displays:&lt;br /&gt;
&amp;lt;p class=&amp;quot;output&amp;quot;&amp;gt;&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;Peace&amp;quot;)=True&lt;br /&gt;
&amp;quot;War and Peace&amp;quot;:endsWith(&amp;quot;War&amp;quot;)=False &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it will be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===$Web_Form_Parm_Binary===&lt;br /&gt;
Janus Web now defers ASCII to EBCDIC translation of form parameter values until a value is requested. This makes it possible to retrieve the exact values sent by the client rather than a translated version. This is important if a form parameter value is UTF-8 encoded and contains non-7-bit ASCII characters (for example if a form parameter contains XML). The [[$Web_Form_Parm_Binary]] function returns the exact value sent by a client for a form parameter with no character translation.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
===BUF and FBMX stats removed===&lt;br /&gt;
Unnecessary scans of the buffer pool have been eliminated from most forms of the MONITOR command ( other than MONITOR DISKBUFF itself ), and this provides performance gain when running these commands. However, as a result of this the BUF stat on the MONITOR command output, and the FBMX stat reported in the system final stats block have been removed. These stats were of extremely limited value, and their elimination should not cause any problems for system management. This change is implemented in V7.8 via zap 78z077, and in V7.7 by zap 77z463.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117982</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117982"/>
		<updated>2020-02-26T15:35:56Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204.2974 Action disabled by commit exit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2971&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2971 No 2PC ports named &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; with coordinators named &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt; defined===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2971 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2972&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2972 Warning SIRTERM X&#039;02&#039; bit not set - WSF Query not supported===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2972 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2973&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2973 Unable to reset Model to &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;: &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2973 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2974&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2974 Action disabled by commit exit===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An attempt to invoke the Commit Exit features failed. For example this might occur because the commit Exit apsy defined by the COMMITX parameter is not defined to CCASYS, or becasuse apsy processing ( SYSOPT 1 ) is not available to the current run even though COMMITX is set in CCAIN. The user session invoking the Commit Exit feature is restarted, and the updates causing Commit Exit to be invoked are backed out.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2974 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2975&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2975 &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; connection to host &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token3&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token4&amp;lt;/i&amp;gt; port number &amp;lt;i&amp;gt;token5&amp;lt;/i&amp;gt; using Janus 2PC port &amp;lt;i&amp;gt;token6&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2975 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2976&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2976 Attempt to update non-TBO file in a global transaction===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2976 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2977&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2977 Global transaction error: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2977 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2978&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2978 Implicit commit of global transaction failed===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2978 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2979&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2979 There were errors before RESTART===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2979 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2988&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2988 VTAM transfer failed​,​ Session Parametes(LOGMODE​,​ Cryptography​,​ or VPACING) not valid===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2988 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117981</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117981"/>
		<updated>2020-02-26T15:06:39Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2971&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2971 No 2PC ports named &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; with coordinators named &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt; defined===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2971 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2972&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2972 Warning SIRTERM X&#039;02&#039; bit not set - WSF Query not supported===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2972 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2973&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2973 Unable to reset Model to &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;: &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2973 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2974&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2974 Action disabled by commit exit===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2974 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2975&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2975 &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; connection to host &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token3&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token4&amp;lt;/i&amp;gt; port number &amp;lt;i&amp;gt;token5&amp;lt;/i&amp;gt; using Janus 2PC port &amp;lt;i&amp;gt;token6&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2975 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2976&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2976 Attempt to update non-TBO file in a global transaction===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2976 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2977&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2977 Global transaction error: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2977 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2978&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2978 Implicit commit of global transaction failed===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2978 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2979&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2979 There were errors before RESTART===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2979 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2988&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2988 VTAM transfer failed​,​ Session Parametes(LOGMODE​,​ Cryptography​,​ or VPACING) not valid===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2988 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117980</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117980"/>
		<updated>2020-02-26T14:56:24Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2971&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2971 No 2PC ports named &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; with coordinators named &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt; defined===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2971 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2972&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2972 Warning SIRTERM X&#039;02&#039; bit not set - WSF Query not supported===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2972 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2973&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2973 Unable to reset Model to &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;: &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2973 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2974&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2974 Action disabled by commit exit===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2974 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2975&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2975 &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; connection to host &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token3&amp;lt;/i&amp;gt;&amp;lt;i&amp;gt;token4&amp;lt;/i&amp;gt; port number &amp;lt;i&amp;gt;token5&amp;lt;/i&amp;gt; using Janus 2PC port &amp;lt;i&amp;gt;token6&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2975 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117979</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117979"/>
		<updated>2020-02-26T14:44:35Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2971&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2971 No 2PC ports named &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; with coordinators named &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt; defined===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2971 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2972&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2972 Warning SIRTERM X&#039;02&#039; bit not set - WSF Query not supported===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2972 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2973&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2973 Unable to reset Model to &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt;: &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2973 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117978</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117978"/>
		<updated>2020-02-26T14:33:54Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2971&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2971 No 2PC ports named &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; with coordinators named &amp;lt;i&amp;gt;token2&amp;lt;/i&amp;gt; defined===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2971 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=117953</id>
		<title>Release notes for Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.8&amp;diff=117953"/>
		<updated>2020-02-19T14:49:46Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* Increase URL length returned with $web_form_action */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These release notes list the enhancements and other changes contained in Model 204 version 7.8, &amp;lt;b&amp;gt;&amp;lt;i&amp;gt;which is still in development&amp;lt;/i&amp;gt;&amp;lt;/b&amp;gt;. Until the commercial release of the software, Rocket reserves the right to add to, remove, or change anything described herein. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
These release notes contain installation and features information for the Rocket Model 204 version 7.8 release.&lt;br /&gt;
Before beginning your installation, please read through this information about product installation and changes.&lt;br /&gt;
&lt;br /&gt;
==New in this release==&lt;br /&gt;
The table below cites some highlights of Model&amp;amp;nbsp;204 version 7.8. For a full list of features, refer to the Table of Contents. &lt;br /&gt;
&amp;lt;p&amp;gt;See also the [[#Compatibility issues|Compatibility]] section for possible issues.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr class=&amp;quot;head&amp;quot;&amp;gt;&amp;lt;th&amp;gt;Category&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Feature&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;SOUL&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new [[#AmIndependent method|AmIndependent]] method returns TRUE for daemons spawned by [[RunIndependently (Daemon subroutine)|RunIndependently]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The Object class now supports the [[#Support for copying Object class objects|copy and deepCopy methods]].&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Janus Web&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#Web Sockets|Janus Web Sockets]] are now supported.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Networking&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; The two-phase commit and commit exits features are licensed and purchased separately from Model 204.&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Two-phase commit. A Model 204 online can now be configured to use two-phase commit (2PC). The Janus internal socket API is used for the calls to the coordinator. JANUS commands are used for all 2PC configuration. A new JANUS port type has been added: 2PC.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Application_Subsystem_development#Commit_exits|Commit exits]] are now supported. The commit exit runs within the APSY, which is defined by the &amp;lt;var&amp;gt;[[Application_Subsystem_development#COMMITX parameter|COMMITX]]&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;ECF tables&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command and &amp;lt;var&amp;gt;[[#Managing ECF tables more efficiently|EXTERNAL REMOVE]]&amp;lt;/var&amp;gt; statement enable more efficient management of [[#Managing ECF tables more efficiently|ECF tables]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Performance&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#MP/204 offload improvements|MP/204 offload improvements]] -- application code for these SOUL statements is now fully offloadable: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Security&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CA-Top Secret can [[#CA-Top Secret can disallow CCASTAT logins|disallow CCASTAT logins]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DEFUSER can specify a jobname not authorized to access M204|DEFUSER]] can specify a jobname not authorized to access M204.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;System enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[MONITOR command|MONITOR &amp;lt;var&amp;gt;USERS&amp;lt;/var&amp;gt;]]&amp;lt;/var&amp;gt; command output displays [[#New wait types for daemon/master waits|two new wait types]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;AUDIT204 enhancements&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new TIMEHH parameter on the &amp;lt;var&amp;gt;[[#FORMAT command|FORMAT]]&amp;lt;/var&amp;gt; command of the AUDIT204 utility provides greater time stamp precision.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New commands&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; displays details from ECF tables, or the current status of users accessing ECF modules.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;New parameters&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#ENQTIME|ENQTIME]]&amp;lt;/var&amp;gt; specifies the number of milliseconds waited for each record locking retry wait.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#EVALOPT|EVALOPT]]&amp;lt;/var&amp;gt; controls the cancellation of a request on truncation of string data.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt; allows the number of LDAP buffers allocated during startup to be set in CCAIN.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#SERV4G|SERV4G]]&amp;lt;/var&amp;gt; allows testing of server tables that span a 4-gigabyte boundary.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#WEBDFLT|WEBDFLT]]&amp;lt;/var&amp;gt; changes the default JANUS WEB ALLOW rule back to ALLOW.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;Janus and TN3270 debuggers&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The debuggers can now view or watch the values of [[#Access to exposed variables|variables exposed to local routines/methods]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;When execution pauses, the debuggers now [[#Subroutine or method display|display the subroutine or method]] being executed.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;User/system statistics&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[#MPR, MBO, MCP, and RCV|MPR, MBO, MCP, and RCV]]&amp;lt;/var&amp;gt; provide high water mark transaction information in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/var&amp;gt; parameters. &lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[#DKWTS and DKWTMICS|New system statistics]] DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&lt;br /&gt;
&lt;br /&gt;
===Operating system requirements===&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/OS versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/OS 2.3. &amp;lt;br /&amp;gt;(For z/OS 2.2, see [[IBM z/OS 2.2 PTF requirement]].)&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;p&amp;gt;Version 1.07 is sufficient for all functionality except for the following features:&amp;lt;/p&amp;gt;&lt;br /&gt;
    &amp;lt;ul&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;zHPF support requires version [[IBM z/OS 2.1 compatibility issue|2.1]].&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Large (1 MB) page support requires version 1.9.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;li&amp;gt;Extended address volumes (EAV) requires version 1.12.&amp;lt;/li&amp;gt;&lt;br /&gt;
    &amp;lt;/ul&amp;gt;&lt;br /&gt;
  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
On z/OS, Model 204 release 7.8 operates as an APF authorized load module, as required by many 7.8 features. &amp;lt;br /&amp;gt;&lt;br /&gt;
To run Model 204 unauthorized, [[Contacting Rocket Software Technical Support|contact Technical Support]].&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VM versions supported:&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VM 6.4.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;b&amp;gt;IBM z/VSE versions supported:&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;All IBM supported releases up to and including z/VSE 6.1.&amp;lt;/li&amp;gt;&lt;br /&gt;
  &amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Hardware requirements===&lt;br /&gt;
 &lt;br /&gt;
In general, Model 204 version 7.8 requires the IBM z/890 or above processor.&lt;br /&gt;
&amp;lt;p&amp;gt;However, the IBM z10 or above processor is required for the following features:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;large (1 MB) page support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;IBM&#039;s High Performance FICON (zHPF) support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Connect&amp;lt;sup&amp;gt;&amp;amp;#9733;&amp;lt;/sup&amp;gt; compatibility with Model 204===&lt;br /&gt;
&lt;br /&gt;
Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; version 7.5 or 7.7 is compatible with Model 204 version 7.8.&lt;br /&gt;
&lt;br /&gt;
For more information on Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; installation, see the [[:Category:Connect*|Connect&amp;lt;span class=&amp;quot;superstar&amp;quot;&amp;gt;&amp;amp;#9733;&amp;lt;/span&amp;gt; wiki pages]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
===AmIndependent method===&lt;br /&gt;
The &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; method returns TRUE for daemons spawned by &amp;lt;var&amp;gt;[[RunIndependently_(Daemon_subroutine)|RunIndependently]]&amp;lt;/var&amp;gt;. (The action of &amp;lt;var&amp;gt;[[AmDaemon_(Daemon_property)|AmDaemon]]&amp;lt;/var&amp;gt; remains unchanged.)&lt;br /&gt;
&lt;br /&gt;
The following table shows the values returned by &amp;lt;var&amp;gt;AmIndependent&amp;lt;/var&amp;gt; versus &amp;lt;var&amp;gt;AmDaemon&amp;lt;/var&amp;gt; for different daemon types:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;Type&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmDaemon&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;th&amp;gt;AmIndependent&amp;lt;/th&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;$COMBG&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Independent daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Other daemon&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;True&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;Web, etc.&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;False&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$ProcOpn===&lt;br /&gt;
&amp;lt;var&amp;gt;[[$ProcOpn|$ProcOpn]]&amp;lt;/var&amp;gt; now supports the opening of a procedure with an all-numeric name, and including a leading zero, such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%result = $procOpn(&#039;0123&#039;, &#039;MYFILE&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Support for such procedure names was initially introduced at V7.7, and this feature of &amp;lt;var&amp;gt;$ProcOpn&amp;lt;/var&amp;gt; is enabled in V7.7 with the application of zap 77z054.&lt;br /&gt;
&lt;br /&gt;
===Allow parentheses to surround a boolean enumeration object===&lt;br /&gt;
The following sample code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                       &lt;br /&gt;
   variables are undefined                  &lt;br /&gt;
   %isValid is boolean initial (True)       &lt;br /&gt;
   if (%isValid) then                  &lt;br /&gt;
      print &#039;in IF&#039;                            &lt;br /&gt;
   end if                                   &lt;br /&gt;
   end   &amp;lt;/p&amp;gt;      &lt;br /&gt;
&lt;br /&gt;
will now compile and run successfully, since this syntax: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if (%isValid) then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is logically equivalent to this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;if %isValid then &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prior to V7.8 the presence of parentheses surrounding the boolean enumeration object would have caused a compilation error. This change is enabled in V7.7 with the application of zap 77z370.&lt;br /&gt;
&lt;br /&gt;
===Support for copying Object class objects===&lt;br /&gt;
The Object class now supports the copy and deepCopy methods. For example, an Object object can be copied as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin               &lt;br /&gt;
   %x is object object &lt;br /&gt;
   %y is object object &lt;br /&gt;
   %y = new            &lt;br /&gt;
   %x = %y:copy        &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z076, and within V7.6 with the application of zap 76z412.&lt;br /&gt;
&lt;br /&gt;
===Assignment of enumeration values to method variables===&lt;br /&gt;
Enumeration values can now be assigned to method variables whose result is an enumeration. So, for example, the following code:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;   begin                                               &lt;br /&gt;
   enumeration colour                                  &lt;br /&gt;
      public                                           &lt;br /&gt;
         value red                                     &lt;br /&gt;
         value white                                   &lt;br /&gt;
         value blue                                    &lt;br /&gt;
      end public                                       &lt;br /&gt;
   end enumeration                                     &lt;br /&gt;
   %func    is function getColour is enumeration colour&lt;br /&gt;
   local function getColour is enumeration colour      &lt;br /&gt;
      return blue                                      &lt;br /&gt;
   end function                                        &lt;br /&gt;
   %func    = getColour                                &lt;br /&gt;
   %func    = (colour):red                             &lt;br /&gt;
   printText {~=%(Local):(%func)}                      &lt;br /&gt;
   end  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce this result:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %(Local):(%func)=red &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas previously this line:   &lt;br /&gt;
&lt;br /&gt;
  &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt; %func    = (colour):red &amp;lt;/p&amp;gt;   &lt;br /&gt;
&lt;br /&gt;
would have been rejected with this message:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;MSIR.0993: Assignment invalid: mismatch between method and method variable &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z128.&lt;br /&gt;
&lt;br /&gt;
===Optional output method parameters===&lt;br /&gt;
Prior to this release output parameters could not be optional or have default values. In this release output parameters can be specified as &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt;, and a default value can be specified with &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt;. One related change is that if a &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; value is specified with &amp;lt;var&amp;gt;Optional&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;Default&amp;lt;/var&amp;gt; &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt;, it indicates the length of the hidden target for the output parameter if none was passed. For all other &amp;lt;var&amp;gt;Output&amp;lt;/var&amp;gt; parameters, &amp;lt;var&amp;gt;Len&amp;lt;/var&amp;gt; is meaningless, just as it was before Model 204 V7.8. The following is an example of the use of an optional output parameter:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;function getRemote( -&lt;br /&gt;
   %target is string len 32, %errorReason is string len 80 optional output -&lt;br /&gt;
) is float&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
In this example, if &amp;lt;code&amp;gt;%errorReason&amp;lt;/code&amp;gt; is not specified in a call and then set to a value longer than 80 bytes it wil be truncated to 80 bytes. However, if a string of a different length is passed, the length of that string will determine truncation behavior.&lt;br /&gt;
&lt;br /&gt;
==External Call Facility enhancements==&lt;br /&gt;
===Managing ECF tables more efficiently===&lt;br /&gt;
There are two new features to help manage ECF tables more efficiently, avoid conditions where the table can fill, and prevent the definition of further entities.&lt;br /&gt;
&lt;br /&gt;
The first feature is the new &amp;lt;var&amp;gt;DISPLAY ECF&amp;lt;/var&amp;gt; command, which displays the contents of ECF tables and also the current status of users accessing ECF modules. See more details of the &amp;lt;var&amp;gt;[[#DISPLAY ECF|DISPLAY ECF]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
The second feature is a new &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement with the following syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;EXTERNAL REMOVE &amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;modulename&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This statement causes the entry for the named module to be removed from the module table. The table entry is then placed on a free chain of entries and can be reused by issuing the &amp;lt;var&amp;gt;[[External_Call_Facility#External_Module_statement|EXTERNAL MODULE]]&amp;lt;/var&amp;gt; statement. This allows the module table to be managed with redundant entries removed, without having to recycle the ONLINE.&lt;br /&gt;
&lt;br /&gt;
An &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement will return &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; values of &amp;lt;code&amp;gt;0/0&amp;lt;/code&amp;gt;, and most other status values that can be returned by the &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; statement are already documented in the ECF return codes table. If an &amp;lt;var&amp;gt;EXTERNAL REMOVE&amp;lt;/var&amp;gt; is attempted against a module that is currently being called (in use), then &amp;lt;code&amp;gt;$status/$statusd&amp;lt;/code&amp;gt; will return the values &amp;lt;code&amp;gt;20/1&amp;lt;/code&amp;gt; (module unavailable).&lt;br /&gt;
&lt;br /&gt;
==System enhancements==&lt;br /&gt;
&lt;br /&gt;
===New wait types for daemon/master waits===&lt;br /&gt;
&lt;br /&gt;
Two new wait types, viewable on the &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] USERS&amp;lt;/var&amp;gt; command output, have been implemented as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;57&amp;lt;/code&amp;gt; - Means a daemon thread waiting for its master thread  &amp;lt;br /&amp;gt;     &lt;br /&gt;
&amp;lt;code&amp;gt;58&amp;lt;/code&amp;gt; - Means a master thread waiting for one of its daemon threads&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z410.&lt;br /&gt;
&lt;br /&gt;
===Snap formatting changes===&lt;br /&gt;
Date/time stamps in the page headers of snaps will now be shown in normal format, rather than in Julian format as in previous versions. So in the following example, a particular snap header under v7.7 or previous versions would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1   19226.060155  M204.0022: Bug .. nnnnn               PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
whereas the same snap header under v7.8 would show as: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;SNAPID    1  2019/08/14 06:01:06   M204.0022: Bug .. nnnnn        PAGE     1 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, due to improvements in handling trailing blanks in snap output, a snap generated under v7.8 should be marginally smaller than the same snap generated under previous versions, assuming the same &amp;lt;var&amp;gt;[[SNAPCTL parameter|SNAPCTL]]&amp;lt;/var&amp;gt; settings.&lt;br /&gt;
&lt;br /&gt;
===Call stack trace for problem diagnosis===&lt;br /&gt;
A  call stack trace is now provided to help diagnose and resolve common errors. To enable the stack trace, do either of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[SIRFACT parameter|SIRFACT]] X&#039;01&#039;&amp;lt;/var&amp;gt; bit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the &amp;lt;var&amp;gt;[[DEBUGUL parameter|DEBUGL]]&amp;lt;/var&amp;gt; parameter. Note that the &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; approach will introduce extra QTBL overhead. &amp;lt;p&amp;gt;(&amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; provides a similar facility with an include trace of procedures leading to the error, but this might not be potentially as useful as the call trace.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
The call stack trace can assist in diagnosing run-time errors that might occur, as illustrated by the following &amp;quot;Variable too small for result&amp;quot; and &amp;quot;MBSCAN exceeded&amp;quot; examples.&lt;br /&gt;
&lt;br /&gt;
====Variable too small for result====&lt;br /&gt;
When the stack trace is enabled, a &amp;quot;variable too small&amp;quot; error results in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.2966: Error at line n, procedure &#039;&#039;procname&#039;&#039; in file &#039;&#039;procfile&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
which identifies the line within a procedure where the error is occurring, in addition to the usual message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Any subsequent M204.2966 messages indicate the point in the code from where the code in error was called. For example, a stack of three subroutine calls leading to a &amp;quot;variable too small&amp;quot; error might result in the following messaging:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0552: Variable too small for result                             M204.2966: Error at line 978, procedure DOCOOLSTUFF in file COOLFILE&lt;br /&gt;
M204.2966: Called from line 1215, procedure FOOBAR.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 378, procedure SILLY.CLASS in file CLASSES&lt;br /&gt;
M204.2966: Called from line 187, procedure P.ROCKANDROLL in file APSYFILE&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information should help in diagnosing the problem. &lt;br /&gt;
&lt;br /&gt;
If the error occurs within a command level program rather than a procedure, then the M204.2966 message is replaced by an M204.2967 message, and a similar error condition to the above with a preceding call stack might be audited as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result              &lt;br /&gt;
   M204.2967: Error at line 14 of command level program  &lt;br /&gt;
   M204.2967: Called from line 5 of command level program&lt;br /&gt;
   M204.2967: Called from line 3 of command level program &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If neither &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; nor &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; is set, then the &amp;quot;variable too small&amp;quot; error produces the following messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0552: Variable too small for result &lt;br /&gt;
   M204.2968: Error: no debug info &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====MBSCAN exceeded====&lt;br /&gt;
Similarly to the handling of the &amp;quot;variable too small for result&amp;quot; error, the call stack can also be used to diagnose errors where the value of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt; is exceeded as a result of a direct search of Table B records. &lt;br /&gt;
&amp;lt;p&amp;gt;Again, under V7.8, with either the &amp;lt;var&amp;gt;SIRFACT X&#039;01&#039;&amp;lt;/var&amp;gt; bit set or &amp;lt;var&amp;gt;DEBUGUL&amp;lt;/var&amp;gt; set, if a long request occurs as a result of exceeding &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;, then initially the following message is produced, as before:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.0569: File &#039;&#039;filename&#039;&#039;, Find: Table B records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
followed by a DYRWT prompt message. If the user replies &#039;N&#039; to the prompt, or if the request is run in an environment (such as a batch job) where the default response is &#039;N&#039;, the following message is produced after the M204.0569 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;Cancelling request: M204.2969: MBSCAN (&#039;&#039;mm&#039;&#039;) exceeded, records to be searched = &#039;&#039;nnnn&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
where &#039;&#039;mm&#039;&#039; is the current setting of &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt;. The M204.2969 message is followed by M204.2966 messages displaying the call stack trace. Thus, if the following code is run from procedure MYPROC.MBSCAN against the demo database, with an &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; setting of 10:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   b                           &lt;br /&gt;
   call sub1                   &lt;br /&gt;
   sub1: subroutine            &lt;br /&gt;
   fd1:                        &lt;br /&gt;
      in clients fd city = ONTARIO&lt;br /&gt;
              end find         &lt;br /&gt;
      fr fd1                      &lt;br /&gt;
         pai                      &lt;br /&gt;
         print                    &lt;br /&gt;
      end for                     &lt;br /&gt;
   end subroutine              &lt;br /&gt;
   end &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the following messages are produced, assuming any prompts are responded to with an &#039;N&#039;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;   M204.0569: File CLIENTS, Find: Table B records to be searched = 3415&lt;br /&gt;
   Cancelling request: M204.2969: MBSCAN (10) exceeded, records to be searched = 3415  &lt;br /&gt;
   M204.2966: Error at line 6, procedure MYPROC.MBSCAN in file MYPROC&lt;br /&gt;
   M204.2966: Called from line 3, procedure MYPROC.MBSCAN in file MYPROC  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===appendJournalData===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[AppendJournalData_(Stringlist_function)|AppendJournalData]]&amp;lt;/var&amp;gt; function is now more tolerant of an outstanding BUMP request. Previously, if &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; was called to inadvertently retrieve a large amount of journal data, typically when called implicitly from within SirScan, then any outstanding BUMP request wouldn&#039;t be honored until all of the data had been retrieved, at which point the BUMP request would be completed, and all data would be lost.&lt;br /&gt;
&lt;br /&gt;
Now, the &amp;lt;var&amp;gt;AppendJournalData&amp;lt;/var&amp;gt; process checks for outstanding BUMP requests before each track I/O is executed, thus avoiding excessive I/Os against the journal and long waits for the BUMP of such a process to complete.&lt;br /&gt;
&lt;br /&gt;
==Editor enhancements==&lt;br /&gt;
&amp;lt;p&amp;gt;The [[Model 204 full-screen editor#exit|Model 204 editor]] has been enhanced to not hold a lock on a procedure being edited. Instead the timestamp of the procedure on disk is compared against that of the edited procedure when it was loaded or last saved. If different, the save is not allowed. New commands &amp;lt;var&amp;gt;SSAVE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;EEND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;GGO&amp;lt;/var&amp;gt; are available to force the save in this situation.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;In addition, the &amp;lt;var&amp;gt;GO&amp;lt;/var&amp;gt; command no longer updates the procedure on disk before &amp;lt;var&amp;gt;INCLUDE&amp;lt;/var&amp;gt;ing it if it has not been modified in the editor.&amp;lt;/p&amp;gt;  &lt;br /&gt;
==AUDIT204 enhancements==&lt;br /&gt;
===FORMAT command===&lt;br /&gt;
TIMEHH is a new parameter used with the FORMAT command of the [[Tracking_system_activity_(CCAJRNL,_CCAAUDIT,_CCAJLOG)#AUDIT204_utility|AUDIT204]] utility.  It indicates that timestamps, printed at the beginning of each line of output, should include hundredths of a second. Requires no other arguments.&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;NOTE:&amp;lt;/b&amp;gt; This parameter and the 78 version (or later) of AUDIT204 may be used against a 77 (or later) CCAJRNL.&amp;lt;/p&amp;gt;&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;//CCAIN DD *&lt;br /&gt;
FORMAT YEARFORM 4&lt;br /&gt;
TIMEHH&lt;br /&gt;
TYPE ER MS LI&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Recovery enhancements==&lt;br /&gt;
===Media Recovery in a multi-user environment===&lt;br /&gt;
It is now possible to perform media recovery by issuing the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command to roll forward selected files in a multi-user environment, with the media recovery being carried out by different users with system manager privileges. The new USING option allows for the specification of a ddname for the input journal stream to be used by the &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; command. Previously media recovery was restricted to single user batch jobs, using the CCAGEN ddname for the input journal. For more details, see the &amp;lt;var&amp;gt;[[#REGENERATE|REGENERATE]]&amp;lt;/var&amp;gt; command below.&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===CA-Top Secret can disallow CCASTAT logins===&lt;br /&gt;
The [[CA-Top_Secret_interface|CA-Top Secret]] interface now recognizes the &amp;lt;code&amp;gt;DEFACID=&amp;lt;/code&amp;gt;, setting and does not allow CCASTAT logins in the online if &amp;lt;code&amp;gt;DEFACID&amp;lt;/code&amp;gt; is set to null. (There is no attempt to log on M204USR.) Therefore, to disallow CCASTAT logons, set DEFACID=, in [[CA-Top_Secret_interface#Preparing_a_TOPSPARM_parameter_module_with_TOPSGEN|TOPSPARM]]. CCASTAT will be opened because it contains file and group passwords, but it will not be used for logons if CCASTAT logons are not allowed.&lt;br /&gt;
&lt;br /&gt;
===CUSTOM=11 and mixed cased input===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; setting no longer requires that a &amp;lt;var&amp;gt;*LOWER&amp;lt;/var&amp;gt; command be issued prior to a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command (to add or change a  password) to preserve mixed case input. Prior to this release, with &amp;lt;var&amp;gt;CUSTOM=11&amp;lt;/var&amp;gt; in place, *LOWER had to be issued before a &amp;lt;var&amp;gt;LOGCTL&amp;lt;/var&amp;gt; command, otherwise any mixed case password strings would automatically be translated into uppercase. This change is enabled in V7.7 with the application of zap 77z108.&lt;br /&gt;
&lt;br /&gt;
===DEFUSER can specify a jobname not authorized to access M204===&lt;br /&gt;
When specifying DEFUSER=JOBNAME and VALIDAT=LOGON in the RACFGEN parms for an ONLINE, if the specified jobname (the owning id for the ONLINE job) isn&#039;t authorized to use Model 204 via RACF, any LOGIN commands specifying no userid will now succeed (previously such a LOGON would have failed). This enables users to submit jobs with USE $JOB, whereby the string USER=jobname will be added to the submitted JCL. This in turn is useful if the specified jobname has dataset access privileges to datasets required by the submitted jobs, even if the jobname itself isn&#039;t authorized to use M204.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Web API calls available on transactional daemons===&lt;br /&gt;
Transactional daemons can now use the Janus Web API, mostly $functions that begin with &amp;lt;var&amp;gt;$web&amp;lt;/var&amp;gt;. The new [[$Web_Api|$web_api function]] makes it possible to test if the Janus Web API is available, whether on a Janus Web Server thread or one of its transactional daemons.&lt;br /&gt;
&lt;br /&gt;
===Web Sockets===&lt;br /&gt;
Web Sockets are now supported in Janus Web Server.&lt;br /&gt;
&lt;br /&gt;
The Web Socket protocol provides various advantages over the HTTP protocol:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Web Sockets allow full-duplex communication.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;Efficient framing of payload data uses minimal overhead.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;The Web Socket protocol is end-user extensible.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;li&amp;gt;Most importantly, Web Sockets can be deployed completely within an existing HTTP/HTTPS framework.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To implement Web Sockets, you must enable the Janus Web port for Web Socket upgrades with the new &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; parameter. The WEBSOCKET option can be specified on either the port definition or the JANUS WEB rule for the URL. &lt;br /&gt;
Likewise, an individual Janus Web rule can either allow or disallow Web Socket connections with the &amp;lt;var&amp;gt;WEBSOCKET&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;NOWEBSOCKET&amp;lt;/var&amp;gt; parameters, respectively. &lt;br /&gt;
&lt;br /&gt;
For details on implementing Web Sockets, see the [[WebSocket_(Socket_function)|WebSocket]] wiki page.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server access rule===&lt;br /&gt;
The automatic &amp;lt;var&amp;gt;[[JANUS WEB ALLOW]]&amp;lt;/var&amp;gt; rule, which allowed any user to access the port without requiring a login, is changed &amp;lt;i&amp;gt;for non-SSL ports&amp;lt;/i&amp;gt; to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB &amp;lt;i&amp;gt;portname&amp;lt;/i&amp;gt; DISALLOW *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This rule requires a system administrator to explicitly define &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rules to enable users to access non-SSL ports.&lt;br /&gt;
The rule applies unless overridden by user-added rules. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; To revert from this change in the JANUS DEFINE default and make the default &lt;br /&gt;
 non-SSL &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; rule as it was in version 7.5 and earlier (&amp;lt;code&amp;gt;ALLOW *&amp;lt;/code&amp;gt;), turn on the 1 bit of the &amp;lt;var&amp;gt;[[WEBDFLT parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;RESET WEBDFLT=1&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in pending accepts for Janus BPX ports===&lt;br /&gt;
The default number of pending accepts for Janus BPX server ports has been increased from 3 to 12, thus reducing the likelihood that a pending accept may fail with the message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.0019 Connection request rejected for port (port), MAXCON exceeded&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The actual number of pending accepts to be supported on the port can be set with the new parameter MAXPEND, set on the &amp;lt;var&amp;gt;[[JANUS_DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, where MAXPEND can vary from 3 up to a maximum value of 32. The change to the default value is enabled in V7.7 with the application of zap 77z269.&lt;br /&gt;
&lt;br /&gt;
===TCP listen backlog increased===&lt;br /&gt;
&lt;br /&gt;
The [[Program_Communication_facilities#LISTEN_call|TCP listen]] backlog has been increased from 16 to 1024 under z/OS.&lt;br /&gt;
&lt;br /&gt;
This update tells the TCP stack to queue up a maximum of 1024 such requests before dropping any. This increased backlog reduces, or in most cases eliminates, the likelihood of a connection request drop, other than in exceptional circumstances, such as a denial of service attack. This change is enabled in V7.7 with the application of zap 77z340.&lt;br /&gt;
&lt;br /&gt;
===Defer the freeing of XMLSCREEN input XML===&lt;br /&gt;
&lt;br /&gt;
The freeing of &amp;lt;var&amp;gt;[[XMLSCREEN_and_NOXMLSCREEN_(JANUS_DEFINE_parameters)|XMLSCREEN]]&amp;lt;/var&amp;gt; input XML is now deferred until the next Read Screen or session termination. This means that if an application error is detected, the input XML can be retrieved with [[$Web_Input_Content|$Web_Input_Content]] and then logged for problem analysis. &lt;br /&gt;
&lt;br /&gt;
Prior to this release the XML received from the client was freed immediately after being used to set the input data for a Read Screen, rendering it unavailable for problem determination.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z368.&lt;br /&gt;
&lt;br /&gt;
===XMLSCREEN and Janus Web Legacy blank stripping===&lt;br /&gt;
&lt;br /&gt;
xmlScreens and Janus Web Legacy screens now adhere to the same standard as standard screen processing in terms of stripping leading blanks from input fields defined as [[Full-screen_feature#DEBLANK_or_NODEBLANK_option|DEBLANK]] (either explicitly or implicitly).&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z400.&lt;br /&gt;
&lt;br /&gt;
===SSL input buffer size===&lt;br /&gt;
&lt;br /&gt;
The default value of &amp;lt;var&amp;gt;[[SSLIBSIZE_(JANUS_DEFINE_parameter)|SSLIBSIZE]]&amp;lt;/var&amp;gt; has been increased to 16384 + 128, or 16512. This size should ensure correct communication with all TLS spec compliant applications. It is the maximum size allowed unless you use &amp;lt;var&amp;gt;[[CUSTOM_parameter#Using_CUSTOM.3D.2818.29|CUSTOM=18]]&amp;lt;/var&amp;gt;.    &lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z415.&lt;br /&gt;
&lt;br /&gt;
===Increasing LDAP buffers===&lt;br /&gt;
&lt;br /&gt;
The number of LDAP buffers allocated at startup can now be changed by setting the &amp;lt;var&amp;gt;NLDAPBUF&amp;lt;/var&amp;gt; parameter in CCAIN. See below for details on &amp;lt;var&amp;gt;[[#NLDAPBUF|NLDAPBUF]]&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Increase URL length returned with $web_form_action===&lt;br /&gt;
With this release the maximum Janus Web Server incoming URL that can be handled by &amp;lt;var&amp;gt;$web_form_action&amp;lt;/var&amp;gt; is increased from 512 bytes to 1280 bytes. This change is enabled in V7.7 with the application of zaps 77z424 and 77z448.&lt;br /&gt;
&lt;br /&gt;
===Maximum RBSIZE setting increased===&lt;br /&gt;
The maximum value for RBSIZE, set on the &amp;lt;var&amp;gt;[[JANUS DEFINE|JANUS DEFINE]]&amp;lt;/var&amp;gt; command, is now increased to 16777215 (previously the maximum was 65534). RBSIZE specifies the RPC or Request Buffer size.  On a Web port, the Janus request buffer holds browser request information such as header data, cookies, and form data. On other port types, it holds RPC input and output parameters. This change is enabled in V7.7 with the application of zap 77z427.&lt;br /&gt;
&lt;br /&gt;
==Debugger enhancements==&lt;br /&gt;
These enhancements apply to the Janus and TN3270 debuggers. &lt;br /&gt;
&lt;br /&gt;
===Access to exposed variables===&lt;br /&gt;
The debuggers can now view or watch the values of variables exposed to local routines/methods. Previously, any attempts to access an exposed variable would have displayed &amp;quot;%varname has no value&amp;quot; in the debugger session. This feature is enabled in V7.7 with the application of zap 77z363.&lt;br /&gt;
&lt;br /&gt;
===Subroutine or method display===&lt;br /&gt;
When execution pauses for a break point or runtime error, the subroutine or method being executed is indicated in the status area.  In addition, the source code line information available by right-clicking on a source line now also indicates the subroutine or method.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===MP/204 offload improvements===&lt;br /&gt;
Application code issuing the following SOUL statements will be fully offloadable:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;File Records In/On&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Remember&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Position&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Sort Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;                                             &lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Reset Header/Trailer&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find and Print Count&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;Find All Values&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;For Each Value&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
The above improvements are enabled in V7.7 with the application of zaps 77z419 and 77z420.&lt;br /&gt;
&lt;br /&gt;
Also, [[JANUS WEB|Janus Web rules]] scanning will be offloadable. In addition, the scan for persistent web sessions ([[$Web_Form_Done]] and [[Janus Web Legacy Support]]) will be offloadable. While the rendezvous with the persistent thread will still be maintask-only, stateless requests will not need to go back to the maintask to be processed and, even for persistent requests, the persistent session lookup will be offloadable. These changes should provide better scalability for MP/204 sites with heavy Janus Web activity.&lt;br /&gt;
&lt;br /&gt;
===X3270OUT exit offloadable===&lt;br /&gt;
When running MP/204 (AMPSUBS&amp;gt;0) and using the [[Coding_SNA_Communications_Server_conversion_exit_routines#X3270OUT_.28convert_output_from_3270_format.29|X3270OUT]] exit to convert a 3270 output data stream to the appropriate device protocol, the exit can now run in parallel mode to improve performance. This change is enabled in V7.7 with the application of zap 77z313.&lt;br /&gt;
&lt;br /&gt;
The X3270OUT exit must be written to be re-entrant.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
===MONITOR IODEV===&lt;br /&gt;
This new command displays the total number, the current usage and the maximum number of each IODEV type. &amp;lt;p&amp;gt; If the Model 204 parameters include telnet threads (TNDEV parameter), the specified IODEV will actually execute as a daemon thread (SDAEMDEV parameter). For that reason, both the telnet and daemon IODEVs will be incremented and the telnet IODEV will appear with an appended &#039;*&#039;. &amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M IODEV &amp;lt;/p&amp;gt;                       &lt;br /&gt;
 Iodev  Total  Active ( % )  Maximum ( % )                                &lt;br /&gt;
     1      1       1  100%        1  100%                                &lt;br /&gt;
     7    300     100   33%      150   50%                                &lt;br /&gt;
    11      4       0    0%        1   25%                                &lt;br /&gt;
    15    500      50   10%       80   16%                                &lt;br /&gt;
    25      1       0    0%        0    0%                                &lt;br /&gt;
    27     10       0    0%        0    0%                                &lt;br /&gt;
    29     10       1    10%       1    10%                                &lt;br /&gt;
    51      5       0    0%        0    0%&lt;br /&gt;
    21*             1              1&lt;br /&gt;
&lt;br /&gt;
===DISPLAY ECF===&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;DISPLAY ECF {{ M | N | U } like ?} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This new command displays details from ECF tables, or the current status of users accessing ECF modules.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF M&amp;lt;/code&amp;gt; displays the contents of the module table. For example:&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF M &lt;br /&gt;
    Module   Loadlib  Address:Length     Loaded@      Lastused@   #Calls  Flags &lt;br /&gt;
    QATUM13C PROGLIB 2FB91FB8:00000028 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13B PROGLIB 2FE65000:00009C18 19023:121506 19023:121506 00000001 &lt;br /&gt;
    QATUM13A PROGLIB 2FE6EC18:00001CD8 19023:121506 19023:121506 00000001  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
(flags may be D=deleted; S=shared; H=halted; I=Idle)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF N&amp;lt;/code&amp;gt; displays contents of the name table. For example: &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF N&lt;br /&gt;
    Module   Logical-call-name &lt;br /&gt;
    QATUM13C MOD_QATUM13C &lt;br /&gt;
    QATUM13B MOD_QATUM13B &lt;br /&gt;
    QATUM13A MOD_QATUM13A &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt; displays details of users currently accessing ECF modules. This is also the default option, and so &amp;lt;code&amp;gt;D ECF&amp;lt;/code&amp;gt; will display the same output as &amp;lt;code&amp;gt;D ECF U&amp;lt;/code&amp;gt;. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    D ECF U                           &lt;br /&gt;
    User# Userid     Module   Parmlen &lt;br /&gt;
    00002 ADMIN      --none--         &lt;br /&gt;
    00003 ADMIN      COBSAMP1 00000002&lt;br /&gt;
    00004 ADMIN      COBSAMP1 00000002 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;D ECF &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;function&amp;lt;/var&amp;gt; LIKE &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; &amp;lt;/code&amp;gt; (where &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;?&amp;lt;/var&amp;gt; is a valid pattern) displays details for entities that match the specified pattern. The function is either M (modules), N (names), or U (users), and it defaults to U. So for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A&amp;lt;/p&amp;gt;&lt;br /&gt;
or&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;D ECF U L A*&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
displays details of ECF users whose names begin with A.&lt;br /&gt;
&lt;br /&gt;
===REGENERATE===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[REGENERATE command|REGENERATE]]&amp;lt;/var&amp;gt; command can now be run in a multi-user environment by multiple users with system manager privileges. A new option USING is provided to specify the ddname of the input journal, so that the full syntax is now as follows:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  REGENERATE [USING ddname] FILE filename [FROM dumpname | IGNORE]&lt;br /&gt;
  [TO {LAST UPDATE [BEFORE yy.ddd hh:mm:ss.th] | LAST CHECKPOINT [BEFORE yy.dd hh:mm:ss.th] &lt;br /&gt;
  | UPDATE number OF yy.ddd hh:mm:ss.th | CHECKPOINT yy.ddd hh:mm:ss.th} ]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The default for the using ddname is CCAGEN, but any ddname may be used to allocate an input journal and used. For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  ALLOCATE REGEN1 WITH SCOPE=SYSTEM DSN=PROD1.GDGJ OLD SEQUENTIAL GEN=+2&lt;br /&gt;
  REGENERATE USING REGEN1 FILE TEST&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is the user&#039;s responsibility to ensure that the file being regenerated is not in use, and so prior to usage, &amp;lt;var&amp;gt;BUMP FILE&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;STOP FILE&amp;lt;/var&amp;gt; should be used to isolate usage against the file. If the file is in use, the REGEN will fail with these messages:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  M204.1430: Failed to open file TEST&lt;br /&gt;
  M204.1436: Stopped processing file TEST  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$STATUS will now be set for &amp;lt;var&amp;gt;REGENERATE&amp;lt;/var&amp;gt; with the following values:&lt;br /&gt;
&amp;lt;blockquote&amp;gt;    &lt;br /&gt;
    0 - Success &amp;lt;br/&amp;gt;&lt;br /&gt;
    1 - No files were processed &amp;lt;br/&amp;gt;&lt;br /&gt;
    2 - At least one file stopped processing &amp;lt;br/&amp;gt;&lt;br /&gt;
    4 - A serious error occurred, REGEN failed &lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Similarly, &amp;lt;var&amp;gt;[[SETGRC command|SETGRC]]&amp;lt;/var&amp;gt; may be used to get the return code and error message.&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&lt;br /&gt;
===COMMITX===&lt;br /&gt;
The commit exit runs within the APSY defined by the &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; parameter and uses normal APSY processing.&lt;br /&gt;
&lt;br /&gt;
The new parameter &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is settable from User 0&#039;s parameter line or by the system manager. It can be reset at any time by the system manager.&lt;br /&gt;
&lt;br /&gt;
Setting/Resetting the parameter sends a DYRWT message to the issuer and requires a Yes or No response (unless set/reset by user0).&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;COMMITX&amp;lt;/var&amp;gt; is specified, all APSY subsystems participate by default but any can be exempted.&lt;br /&gt;
&lt;br /&gt;
===ECMSUBS===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===ECMODS===&lt;br /&gt;
The new minimum value for ECMODS, the allowable number of ECF modules, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECNAMES===&lt;br /&gt;
The new minimum value for ECNAMES, the allowable number of ECF module names, is 1. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ECPSIZE===&lt;br /&gt;
The new minimum value for ECPSIZE, the initial storage allocation for ECF parameters, is 1024. Prior to V7.8 the minimum value was 0. This change is enabled in V7.7 with the application of zap 77z306.&lt;br /&gt;
&lt;br /&gt;
===ENQTIME===&lt;br /&gt;
Millisecond duration of automatic record locking retry wait.&lt;br /&gt;
&lt;br /&gt;
Prior to this change, if record locking conflicts occur frequently in a busy online, any user with a non-zero value for &amp;lt;var&amp;gt;[[ENQRETRY parameter|ENQRETRY]]&amp;lt;/var&amp;gt; will wait at least 3 seconds before the conflict is dealt with. This can degrade overall system performance.      &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;[[ENQTIME parameter|ENQTIME]]&amp;lt;/var&amp;gt; parameter specifies the number of milliseconds waited for each record locking retry wait. &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; can be between 1 and 60000, corresponding to a minimum of 1 millisecond and a maximum of 1 minute. The default value of &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; is 3000 (3 seconds).            &lt;br /&gt;
                                                         &lt;br /&gt;
For example, with &amp;lt;code&amp;gt;ENQTIME = 100&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ENQRETRY = 7&amp;lt;/code&amp;gt;, after a record locking conflict occurs the thread will retry 7 times with wait intervals of .1 seconds, and so within at most .7 seconds either the lock becomes available or the conflict triggers an On unit or cancels the request.     &lt;br /&gt;
                                                         &lt;br /&gt;
The &amp;lt;var&amp;gt;ENQTIME&amp;lt;/var&amp;gt; parameter may also be reset with $ResetN. &lt;br /&gt;
&lt;br /&gt;
This new parameter is enabled in V7.7 with the application of zap 77z299.&lt;br /&gt;
&lt;br /&gt;
===EVALOPT===&lt;br /&gt;
The new &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; parameter controls the cancellation of a request on truncation of string data. The default value is 0, and currently there is just one setting, 1, which means &amp;quot;cancel a request if truncation of string data occurs.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For example, with the default of 0 in place, the following code &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;    %x is string len 1   &lt;br /&gt;
    %y is string len 2   &lt;br /&gt;
    %y = &#039;ab&#039;            &lt;br /&gt;
    %x = %y              &lt;br /&gt;
    printtext {~} = {%x} &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
would cause silent truncation, and give the result&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%x = a &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;EVALOPT&amp;lt;/var&amp;gt; is set to 1, then the above code produces the following message:&lt;br /&gt;
    &amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0552: Variable too small for result &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the request is cancelled.&lt;br /&gt;
&lt;br /&gt;
===LFSCB===&lt;br /&gt;
&amp;lt;var&amp;gt;LFSCB&amp;lt;/var&amp;gt;, the length of the full screen buffer, now has a new minimum value of 8 (the previous minimum was 0). This change is enabled in v7.7 with the application of zap 77z042, and within V7.6 with the application of zap 76z393.&lt;br /&gt;
&lt;br /&gt;
===MAXPRE, MAXBOUT, MAXSUBT===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z257.&amp;lt;/p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt; parameters can be used to cancel a runaway transaction and prevent it from filling the checkpoint data set. &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;:  Maximum number of pre-images per transaction.  &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;: Maximum number of backout pages per transaction. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;: Maximum number of subtransaction checkpoints that a transaction can span.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Each new parameter defaults to unlimited. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;If a parameter value is set, a transaction is cancelled if that value is exceeded, and the following message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0524: Maximum number (&amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt;) of &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; exceeded.&amp;lt;/p&amp;gt;&lt;br /&gt;
where &amp;lt;i&amp;gt;num&amp;lt;/i&amp;gt; is the value set for &amp;lt;i&amp;gt;parameter&amp;lt;/i&amp;gt; (&amp;lt;var&amp;gt;MAXPRE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;MAXBOUT&amp;lt;/var&amp;gt;, or &amp;lt;var&amp;gt;MAXSUBT&amp;lt;/var&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
===MQMXTASK===&lt;br /&gt;
This maximum value may now be reset dynamically by a system manager. If the value is raised, new tasks will be added as needed up to the value specified. If the value is lowered, idle subtasks will be detached before they are activated until the new maximum is established.&lt;br /&gt;
&lt;br /&gt;
===NLDAPBUF===&lt;br /&gt;
This new parameter allows the number of LDAP buffers allocated during startup to be set in CCAIN. The default value is 2, and the settable value can range from 0 to 65535.&lt;br /&gt;
&lt;br /&gt;
===PUPDTH (new minimum value)===&lt;br /&gt;
If a user sets the &amp;lt;var&amp;gt;[[PUPDTH parameter|PUPDTH]]&amp;lt;/var&amp;gt; parameter to 0, it will now automatically be increased to 1, its minimum value.&lt;br /&gt;
&lt;br /&gt;
===SERV4G===&lt;br /&gt;
This parameter allows testing of server tables that span a 4-gigabyte boundary. For example, if &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt;. If &amp;lt;var&amp;gt;SERV4G&amp;lt;/var&amp;gt; is &amp;lt;code&amp;gt;X&#039;FFFF0000&#039;&amp;lt;/code&amp;gt;, each ATB server will begin at &amp;lt;code&amp;gt;XX_FFFF0000&amp;lt;/code&amp;gt;. &amp;lt;code&amp;gt;XX&amp;lt;/code&amp;gt; is determined by the storage available on the system. The parameter is set in CCAIN.&lt;br /&gt;
&lt;br /&gt;
The contents of the ATB server are specified by using the &amp;lt;var&amp;gt;[[SERVGA parameter|SERVGA]]&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
For example, if you want VTBL to span the 4G boundary, you can use these settings: &amp;lt;code&amp;gt;SERV4G=X&#039;FFFFF000&#039;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;SERVGA=X&#039;00040000&#039;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;LVTBL=200 (6400 bytes, X&#039;1900&#039;)&amp;lt;/code&amp;gt;. This will force each server&#039;s VTBL to begin at &amp;lt;code&amp;gt;XX_FFFFF000&amp;lt;/code&amp;gt; and end at &amp;lt;code&amp;gt;XX+1_00000900&amp;lt;/code&amp;gt;.&lt;br /&gt;
===SIRTERM===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SIRTERM parameter|SIRTERM]]&amp;lt;/var&amp;gt; (Sirius terminal options) parameter settings have changed. &lt;br /&gt;
The changes to &amp;lt;var&amp;gt;SIRTERM&amp;lt;/var&amp;gt; allow a user to preclude a reset to a Model that is not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
The X&#039;01&#039; setting (MODEL 6 support) is no longer used. &lt;br /&gt;
&lt;br /&gt;
The X&#039;02&#039; setting (Write Structured Field Query Support) now supports MODEL 6 terminals by default. &lt;br /&gt;
&lt;br /&gt;
The new X&#039;08&#039; setting always issues a Write Structured Field Query for Terminal Model Resets for terminals connected to Model 204 through VTAM or TELNET, provided that X&#039;02&#039; has been set. This precludes Terminal Model RESETs to Models that are not supported by the terminal emulator in use.&lt;br /&gt;
&lt;br /&gt;
===WEBDFLT===&lt;br /&gt;
At V7.7, the default access rule for non-SSL ports was changed from ALLOW * to DISALLOW *, meaning that unless any ALLOW rules were in place resulting in a login/password prompt, the port couldn&#039;t be accessed. The new &amp;lt;var&amp;gt;[[WEBDFLT_parameter|WEBDFLT]]&amp;lt;/var&amp;gt; parameter may be set to 1 for reversion to the old default of ALLOW *. This new parameter is enabled in V7.7 with the application of zap 77z090. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;RESET WEBDFLT&amp;lt;/var&amp;gt; requires system administrator privileges. It is recommended to reset the 1 bit of &amp;lt;var&amp;gt;WEBDFLT&amp;lt;/var&amp;gt; to zero after issuing a series of &amp;lt;var&amp;gt;JANUS DEFINE&amp;lt;/var&amp;gt; commands which need &amp;lt;var&amp;gt;WEBDFLT=1&amp;lt;/var&amp;gt;, as in the CCAIN input stream.&lt;br /&gt;
&lt;br /&gt;
==New and changed statistics==&lt;br /&gt;
===MPR, MBO, MCP, and RCV===&lt;br /&gt;
Introduced in zap 77z257.&lt;br /&gt;
&amp;lt;p&amp;gt;These statistics provide high water mark transaction information. (Since-last values will not be available until V78 GA.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;They are useful in conjunction with the &amp;lt;var&amp;gt;[[#MAXPRE, MAXBOUT, MAXSUBT|MAXPRE, MAXBOUT, and MAXSUBT]]&amp;lt;/VAR&amp;gt; parameters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User/system statistics:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MPR: High water mark of transaction pre-images. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MBO: High water mark of transaction backout pages. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MCP: High water mark of transaction chkpoint spans. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
System statistics: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;RCV: Number of blocks needed for subtransaction recovery &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; M204.0843 now displays the RCV statistic for subtransaction checkpoints.&lt;br /&gt;
The size of recovery checkpoint must be greater than the sum of the last RCV value plus the number of records in [[System_and_media_recovery#RESTART_recovery_considerations_for_sub-transaction_checkpoints|RESTART and RESTARTS]].&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DKWTS and DKWTMICS===&lt;br /&gt;
Introduced in zap 77z7289.&lt;br /&gt;
&amp;lt;p&amp;gt;The new system statistics DKWTS (DisK WaiTs) and DKWTMICS (DisK WaiT MICroSeconds) collect data to provide rough disk I/O service time numbers.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DKWTS shows the number of disk I/O waits. DKWTMICS shows the total wait time for those waits in microseconds. Dividing the difference in DKWTMICS by the difference in DKWTS over an interval provides the average disk I/O wait time in microseconds.              &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Notes:&amp;lt;/b&amp;gt; &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The wait time does include internal Model 204 scheduler delays, so on a CPU bound Model 204 system, the service times calculated from DKWTS and DKWTMICS are likely to be an overestimate of actual service times.&amp;lt;/li&amp;gt;  &lt;br /&gt;
                                                                    &lt;br /&gt;
&amp;lt;li&amp;gt;DKWTS and DKWTMICS are not available in SirMon; use &amp;lt;var&amp;gt;[[MONITOR_command|MONITOR]] SYSTEM STATISTICS&amp;lt;/var&amp;gt; to view these statistics.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;  &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;listNewInit&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;$ListNew cannot be used in Initial clause===&lt;br /&gt;
It is now a compilation error if &amp;lt;var&amp;gt;$ListNew&amp;lt;/var&amp;gt; is attempted to be used in the &amp;lt;var&amp;gt;Initial&amp;lt;/var&amp;gt; clause of a &lt;br /&gt;
[[Using_variables_and_values_in_computation#Declare_statements_for_.25variables|declaration statement]].&lt;br /&gt;
&amp;lt;p&amp;gt;This change is propagated by zap maintenance to versions 7.5 (zap 75Z487), 7.6 (zap 76Z514), and 7.7 (zap 77z281) of Model 204.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote class=&amp;quot;note&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Strictly speaking, this would not be considered a compilation error, because previously although &amp;lt;code&amp;gt;..&amp;amp;nbsp;Initial($ListNew)&amp;lt;/code&amp;gt; did not produce a compilation error, in almost all circumstances it would produce a snap if the initialized %variable were used with some other &amp;lt;var&amp;gt;$List&amp;lt;i&amp;gt;xxx&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; invocation.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Restricting the use of the CUSTOM=38 setting===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM=38]]&amp;lt;/var&amp;gt; parameter setting, introduced at V7.5, inadvertently provided System Manager privileges to all users via the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; command. This &amp;lt;var&amp;gt;CUSTOM&amp;lt;/var&amp;gt; setting is now restricted to the &amp;lt;var&amp;gt;RESET&amp;lt;/var&amp;gt; of the &amp;lt;var&amp;gt;LAUDIT&amp;lt;/var&amp;gt; parameter.&lt;br /&gt;
&lt;br /&gt;
===Disabling of Closure support===&lt;br /&gt;
Due to a non-trivial backward incompatibility issue related to Closure support, introduced in V7.7, this feature, which can best be described as exposed methods assigned to method variables, has been disabled in this release. This change was also made to V7.7 with application of zap 77z119.&lt;br /&gt;
&lt;br /&gt;
===Password delimiter enforced===&lt;br /&gt;
When using &amp;lt;var&amp;gt;IFSTRTN&amp;lt;/var&amp;gt; to log on to a Model 204 online from an IFAM2 application, both the logonid and password must be followed by a semicolon, which is the delimiter. For example:      &lt;br /&gt;
                                      &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
                 &lt;br /&gt;
If a semicolon does not follow the password string, the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2964: Password missing or too long &amp;lt;/p&amp;gt;                 &lt;br /&gt;
                                                         &lt;br /&gt;
Previously, a semicolon following the password was not required and the first blank served as a password delimiter.  However, as of V7.7, embedded blanks are valid password characters and a semicolon is now required to delimit the password.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z231.&lt;br /&gt;
&lt;br /&gt;
===PAGESZ parameter validated===&lt;br /&gt;
Previously it was possible to set the &amp;lt;var&amp;gt;PAGESZ&amp;lt;/var&amp;gt; parameter to any value, although Model 204 internally supports one page size of 6184, and any deviation from this value would have led to problems during file creation. The value of this parameter is now controlled, such that setting it to any value other than 6184 will generate an M204.1149 message with the parameter being reset to 6184.&lt;br /&gt;
&lt;br /&gt;
===ECPRIV and the IDCAMS facility===&lt;br /&gt;
At V7.7 a security loophole was closed, whereby all ECF modules were run under external-authorizer profile of the calling user. Previously any ECF tasks were run under the owning job&#039;s external-authorizer profile, and in order for certain sites to retain that ability, a new setting of &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt;, value 4, was introduced to retain the ability to run ECF tasks using the job&#039;s security profile. &lt;br /&gt;
&lt;br /&gt;
The &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting potentially introduced a security loophole when calling the IDCAMS interface, based upon what the IDCAMS utility is able to do at a system level. Consequently as of this release, the &amp;lt;var&amp;gt;ECPRIV&amp;lt;/var&amp;gt; 4 setting will be ignored when calling the IDCAMS facility via ECF, and such IDCAMS processes will always use the calling user&#039;s security profile. Any existing jobs that use ECF to call the IDCAMS utility with the &amp;lt;var&amp;gt;ECFPRIV&amp;lt;/var&amp;gt; 4 bit set should be checked to ensure that the calling user&#039;s security profile still satisfies the job&#039;s requirements.&lt;br /&gt;
&lt;br /&gt;
===TCPOPTS is view-only===&lt;br /&gt;
In previous versions the &amp;lt;var&amp;gt;TCPOPTS&amp;lt;/var&amp;gt; parameter, which identifies the type of IP addressing in use (v4 or v6), was resettable, although it was always documented as a view-only parameter. The parameter is now handled as a view-only parameter, and any attempts to reset the parameter will result in the following message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;   M204.1123: Parameter TCPOPTS not reset&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===ZHPF command can only be issued by a system manager===&lt;br /&gt;
In previous versions it was possible to issue the &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt; command without being logged on. From this release onwards, a user must be logged on with system manager privileges in order to issue this command.&lt;br /&gt;
&lt;br /&gt;
Additionally, the command output will now only  display results for currently open files.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in v7.7 with the application of zap 77z264.&lt;br /&gt;
&lt;br /&gt;
===Terminal MODEL reset failure===&lt;br /&gt;
If a reset of the terminal &amp;lt;var&amp;gt;MODEL&amp;lt;/var&amp;gt; parameter fails due to an undersized output page buffer, then in addition to the existing messages that inform the user of this failure:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1875 UNABLE TO RESET MODEL TO %C &lt;br /&gt;
    M204.1123: Parameter MODEL not reset&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
the following message will now be issued:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;    M204.1008: LOUTPB must be increased to at least &amp;lt;number&amp;gt; &amp;lt;/p&amp;gt;&lt;br /&gt;
                                                         &lt;br /&gt;
where &amp;lt;number&amp;gt; is the minimum value of &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; necessary to support the terminal model.&lt;br /&gt;
&lt;br /&gt;
This change is enabled in V7.7 with the application of zap 77z309.&lt;br /&gt;
&lt;br /&gt;
==Notes for system manager and installer==&lt;br /&gt;
===CRAM SVC installation is deprecated===&lt;br /&gt;
The CRAM SVC installation has been deprecated as of version 7.5. &amp;lt;br /&amp;gt;Installation of CRAM-XDM is described as part of the [[Model 204 installation]].&lt;br /&gt;
===Authorization and maintenance zaps===&lt;br /&gt;
When you download Rocket M204 product object files, all relevant authorization keys and all current maintenance zaps are pre-applied to the object files as part of the download process.&lt;br /&gt;
&lt;br /&gt;
==New products==&lt;br /&gt;
===Janus Two-Phase Commit===&lt;br /&gt;
[[Janus Two-Phase Commit]] support makes it possible to create global transactions where updates on multiple Model 204 Onlines or &amp;lt;var&amp;gt;Imagine&amp;lt;/var&amp;gt; can be atomically committed or backed out.&lt;br /&gt;
&lt;br /&gt;
===Commit Exit===&lt;br /&gt;
The [[Application_Subsystem_development#Commit_exits|Commit exit]] product allows for the invocation of specified APSY code when an an APSY TBO transaction executes its first explicit or implicit COMMIT. The feature is controlled by the new COMMITX parameter.&lt;br /&gt;
&lt;br /&gt;
==New and changed messages==&lt;br /&gt;
&lt;br /&gt;
See [[New and updated messages in Model 204 version 7.8|New and updated messages in Model 204 version 7.8]] for details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117935</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117935"/>
		<updated>2020-02-12T15:46:25Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0562:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0562: Request too long  - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt; &amp;lt;i&amp;gt;tableValue&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current table setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0562: Request too long - &amp;lt;i&amp;gt;tableName&amp;lt;/i&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0562 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117934</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117934"/>
		<updated>2020-02-12T15:26:31Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1289:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1289: (LGTBL - GTBLHASH*10) must be at least 288 for subsystem processing​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1289 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117933</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117933"/>
		<updated>2020-02-12T15:22:18Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1215:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1215: XTBL,​ LXTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - not enough space===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LXTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1215: XTBL - not enough space&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1215 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117932</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117932"/>
		<updated>2020-02-12T15:09:28Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1167:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1167: ITBL​ full,​ LITBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- argument string ignored===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LITBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1167: ITBL​ full -- argument string ignored&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1167 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117931</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117931"/>
		<updated>2020-02-12T15:03:19Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0861:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0861: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; can&#039;t open group===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0861: ​FTBL full,​ can&#039;t open group&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0861 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117930</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117930"/>
		<updated>2020-02-12T14:56:00Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0819:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0819: ​FTBL full​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; .. can&#039;t add GFT entry===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0819: ​FTBL full​ .. can&#039;t add GFT entry​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0819 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117929</id>
		<title>New and updated messages in Model 204 version 7.8</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=New_and_updated_messages_in_Model_204_version_7.8&amp;diff=117929"/>
		<updated>2020-02-12T14:49:36Z</updated>

		<summary type="html">&lt;p&gt;DCameron: /* M204 messages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &lt;br /&gt;
[[Release notes for Model 204 version 7.8|Back to release notes]]&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;div class=&amp;quot;noautonum&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
This topic lists messages that were added or changed for Model 204 version 7.8.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;lt;b&amp;gt;******THIS IS A DRAFT DOCUMENT.******&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==M204 messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0039:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0039: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0039: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0039 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0084:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0084: Insufficient FTBL space for NGROUP​,​ LFTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0084: Insufficient FTBL space for NGROUP&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0084 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0141:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0141: Bug .. duplicate file name in checkpoint record===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A duplicate file name was encountered while attempting to add a deferred update data set to the file directory during recovery. This indicates a potential bug in the Model 204 software. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; Contact [[Contacting Rocket Software Technical Support|Technical Support]] with the following documentation: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Journal from the previous run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Operator response:&amp;lt;/b&amp;gt; Notify the system manager. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0141 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0143:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0143: No files changed after last checkpoint​,​ RESTART bypassed===&lt;br /&gt;
&amp;lt;P&amp;gt;This message indicates that no updates were detected while scanning the checkpoint data set beyond the last checkpoint or the specified checkpoint. &amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.0143 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0165:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0165: Missing an update unit from ICL (InComplete List)===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
While scanning the CCARF data set, Model&amp;amp;nbsp;204 has detected the end of an update unit for which no corresponding start of update unit was found. Possible explanations for this error are: &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A utility program was used to copy the original journal to data set being used as CCARF, and a portion of the original data set was not copied. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;A copy was not done. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; If the original journal was a multi-volume data set and was copied to another data set for input to this run, verify that all volumes were in fact copied, and rerun the job. If CCARF was the original data set, contact [[Contacting Rocket Software Technical Support|Technical Support]]. Have the following documentation available: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Audit trail of the original run &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Snap &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILJ of the CCARF data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;UTILC of the restart data set or a copy of this data set on tape &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
{{Template:M204.0165 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0198:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0198: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0198: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0198 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0211:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0211: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0211: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0211 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0224:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0224: Request too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0224: Request too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0224 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0226:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0226: Request too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0226: Request too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0226 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0262:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0262: FSCB full​,​ LFSCB​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;. Screen​/​Menu​/​Image compilation aborted===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LFSCBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0262: FSCB full. Screen​/​Menu​/​Image compilation aborted&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0262 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0352:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0352: IODEV​=​nn​,​ Ok uuuuuuuuuu aaaaaaaaaa llllll yy.ddd mmm dd hh.mm.ss ccc nnnnnnnn===&lt;br /&gt;
&lt;br /&gt;
The layout of this message has been reformatted to accommodate five digit user numbers.&lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0352 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0442:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0442: Unable to run subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt; login procedure - GTBL full &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0442 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0452:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0452: TTBL full​,​ LTTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LTTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0452: TTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0452 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0479:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0479: process group not found: &amp;lt;i&amp;gt;processgroupname&amp;lt;/i&amp;gt;===&lt;br /&gt;
 &lt;br /&gt;
A &amp;lt;var&amp;gt;[[Statement syntax#TRANSFER|TRANSFER]]&amp;lt;/var&amp;gt; statement was evaluated, resulting in an attempt to perform a VTAM trusted logon in another Online (the target Online).  The &amp;lt;var&amp;gt;PARTNER&amp;lt;/var&amp;gt; processgroup, identified in the &amp;lt;var&amp;gt;[[DEFINE PROCESS command: Transfer Control partner|DEFINE PROCESS]]&amp;lt;/var&amp;gt; command in the transferring Online, was not found in the target Online.  As a result, the TRANSFER fails and the user remains in the transferring online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;System manager response:&amp;lt;/b&amp;gt; The &amp;lt;code&amp;gt;PARTNER=&amp;lt;/code&amp;gt; token in the &amp;lt;var&amp;gt;DEFINE PROCESS&amp;lt;/var&amp;gt; command of the transferring Online has an incorrect value for &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;processgroupName&amp;lt;/var&amp;gt;. Check the spelling to ensure that it is the correct name of the intended processgroup in the target Online.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; I 0 0 AUDITMS&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0480:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0480: Invalid backpage request: backPage===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A backpage command of the form &amp;lt;var&amp;gt;P -&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;P +&amp;lt;i&amp;gt;n&amp;lt;/i&amp;gt;&amp;lt;/var&amp;gt; was issued, but &amp;lt;var&amp;gt;[[NBKPG parameter|NBKPG]]&amp;lt;/var&amp;gt; is 0, or the value of &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;n&amp;lt;/var&amp;gt; is invalid. The command is echoed in hex, so you can see exactly what was entered. For example, if &amp;lt;code&amp;gt;P -99&amp;lt;/code&amp;gt; was issued but &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; is 50, then the following message would be issued:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0480: Invalid backpage request: P -99(X&#039;D74060F9F9&#039;)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the backpage command, or set &amp;lt;var&amp;gt;NBKPG&amp;lt;/var&amp;gt; greater than 0.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0480 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0481:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0481: Procedure procName in subsysName could not be made resident; increase RESPAGE or RESSIZE ===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The named procedure in the named subsystem could not be made resident in resident request storage. &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Increase the size of resident request storage with a &amp;lt;var&amp;gt;[[RESSIZE parameter|RESSIZE]]&amp;lt;/var&amp;gt; or &amp;lt;var&amp;gt;[[RESPAGE parameter|RESPAGE]]&amp;lt;/var&amp;gt; parameter in CCAIN. &amp;lt;var&amp;gt;RESSIZE&amp;lt;/var&amp;gt; (below-the-bar storage) can be dynamically reset, but &amp;lt;var&amp;gt;RESPAGE&amp;lt;/var&amp;gt; (above-the-bar storage) cannot.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0481 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0541:Procedure&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0541:Procedure is in use: procedure===&lt;br /&gt;
&amp;lt;P&amp;gt;The procedure named in the message is currently in use by another user. The command entered cannot be processed until the procedure is no longer in use. &amp;lt;/P&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Retry the command when the procedure is no longer in use. &amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.0541 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0550:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0550: Editing space exhausted -- QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0550: Editing space exhausted -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0550 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0551:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0551: Request too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0551: Request too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0551 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0565:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0565: Can&#039;t process on &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; - VTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0565 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0569:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0569: File filename?,? Find: Table B records to be searched ?=? number===&lt;br /&gt;
The message test now includes the filename, to help track down the cause of the direct search. This change has been enabled within v7.7 with the application of zap 77z032, and within V7.6 with the application of zap 76z386.&lt;br /&gt;
{{Template:M204.0569 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0573:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0573: Value(s) too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0573: Value(s) too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0573 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0574:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0574: Request too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0574: Request too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0574 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0577:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0577: QTBL full​,​ LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; -- direct search===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0577: QTBL full​ -- direct search&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0577 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0578:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0578: Too many call levels - VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0578: Too many call levels - VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0578 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0735:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0735: No room for new value of global - $incrg​,​ LGTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0735: No room for new value of global - $incrg​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0735 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0905:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0905: Value too long -- STBL, LSTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LSTBL setting as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0905: Value too long -- STBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0905 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0907:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0907: IFAM job too long -- QTBL, LQTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0907: IFAM job too long -- QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0907 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0911:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0911: Field or variable name list too long - QTBL​,​ LQTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0911: Field or variable name list too long - QTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0911 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0916:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0916: IFAM job too long -- VTBL, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0916: IFAM job too long -- VTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0916 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0917:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0917: IFAM job too long -- NTBL, LNTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LNTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0917: IFAM job too long -- NTBL&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0917 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.0955:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.0955  IFAM2 CRAM open error​,​ IFAM halted - channel ​=​ &amp;lt;i&amp;gt;chanName&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, this message will produce an rc of 80, thus terminating the ONLINE run, should the message occur.&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.0955 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1070:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1070: ALLOCATE ddName failed - reason===&lt;br /&gt;
This message has been changed to add the ddname of the failing dataset to the message text. &lt;br /&gt;
{{Template:M204.1070 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1110:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1110: QTBL​,​ LQTBL​=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LQTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1110: QTBL​ too small for selective &amp;lt;i&amp;gt;type&amp;lt;/i&amp;gt; display&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1110 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1124:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1124: Bump of %C %C scheduled by %C for %C user(s)===&lt;br /&gt;
This message has been changed to add the type of bump and the user who did so. &lt;br /&gt;
{{Template:M204.1124 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1188:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1188: Unable to run procedure &amp;lt;i&amp;gt;procName&amp;lt;/i&amp;gt; for subsystem &amp;lt;i&amp;gt;subsysName&amp;lt;/i&amp;gt;-GTBL full​&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1188 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1342:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt;, L?TBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current ?TBL setting, as above, where ?TBL ( QTBL, NTBL, etc.. ) is the server table that has filled. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1342: M204.1342: Unable to run CCASYS procedure: TBL= &amp;lt;i&amp;gt;?TBL&amp;lt;/i&amp;gt; &amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1342 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1392:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1392: Soft restart of user due to %C ===&lt;br /&gt;
This message has been changed to add the reason and/or who caused the restart. &lt;br /&gt;
{{Template:M204.1392 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1500:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1500: &amp;lt;i&amp;gt;token&amp;lt;/i&amp;gt; ===&lt;br /&gt;
&amp;lt;p&amp;gt;Message M204.1500: &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;token&amp;lt;/var&amp;gt; has a new form relevant to the [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_MVS_interface CA-ACF2 MVS], [https://m204wiki.rocketsoftware.com/index.php/CA-ACF2_VM_interface CA-ACF2 VM], [https://m204wiki.rocketsoftware.com/index.php/Security_Server_(formerly_RACF)_interface Security Server (formerly RACF)], and [https://m204wiki.rocketsoftware.com/index.php/CA-Top_Secret_interface CA-Top Secret] Model 204 security interfaces.&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p&amp;gt;When the default user fails to log in, the security interface is operational but CCASTAT logons are not allowed. The following error message is displayed:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;M204.1500: CCASTAT logons not allowed&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.1500 footer}}&lt;br /&gt;
&amp;lt;!-- skeleton as it was in pdf/message number message text /--&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1592:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1592: VTBL full, LVTBL=&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;, sorted output impossible===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LVTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1592: VTBL full​,​ sorted output impossible&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1592 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1749:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1749: Subsystem parameters lost​,​ GTBL full&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.1749 footer}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1899&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1899 Transfer statement from sourceVtamName to targetVtamName complete​,​ User userId disconnected===&lt;br /&gt;
The message, issued when a VTAM Transfer statement completes, now contains the source and target VTAM names for the transfer process. &lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1899 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.1900&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.1900 User userId transferred to targetVtamName from sourceVtamName===&lt;br /&gt;
This message, issued on the target ONLINE when a user has transferred to that ONLINE, now displays the source and target VTAM names involved in the VTAM Transfer.&lt;br /&gt;
&lt;br /&gt;
The change in message text is enabled within V7.7 with the application of zap 77z310.&lt;br /&gt;
{{Template:M204.1900 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2020&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2020 File fileName; condition?,? OPEN command rejected===&lt;br /&gt;
The first change to this message is that the filename of the affected file is now displayed at the beginning of the message text.&lt;br /&gt;
 &lt;br /&gt;
The second change is that a second error type affecting file opens is now support. The original error type of &amp;quot;Unsupported device for Model 204 database %F&amp;quot; was reported for all condition,s even where the device type wasn&#039;t the underlying issue. Whilst this error type has been retained for conditions where it is valid, a new error type of &amp;quot;DDNAME not found&amp;quot; is now available for the message. Thus, in a situation where one thread is attempting to allocate a ddname, and another thread in parallel is trying to open a file with the same ddname, the following message variant may be produced&lt;br /&gt;
 &lt;br /&gt;
M204.2020: File filename; DDNAME not found, OPEN command rejected&lt;br /&gt;
 &lt;br /&gt;
{{Template:M204.2020 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2302:&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2302: No room in GTBL​,​ LGTBL​=​&amp;lt;i&amp;gt;nnnn&amp;lt;/i&amp;gt; - SETGRC===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
From v7.8 onwards, the message text for this message includes the current LGTBL setting, as above. Prior to V7.8, the message text was as follows&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2302: No room in GTBL​ - SETGRC&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
{{Template:M204.2302 footer}}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2700&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2700 CHECKPOINT command ignored: sub-transaction checkpoint in progress===&lt;br /&gt;
&amp;lt;P&amp;gt;&lt;br /&gt;
A &amp;lt;code&amp;gt;[[CHECKPOINT_command|CHECKPOINT]] (TRAN | SUBTRAN | ABORT)&amp;lt;/code&amp;gt; command was issued while the system was taking a sub-transaction checkpoint. The command is ignored. If this message was issued in response to a &amp;lt;code&amp;gt;CHECKPOINT ABORT&amp;lt;/code&amp;gt; command, the&lt;br /&gt;
sub-transaction in progress has passed that phase of its processing during which it can be aborted.&lt;br /&gt;
&amp;lt;/P&amp;gt;&lt;br /&gt;
{{Template:M204.2700 footer}}&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2964&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2964  Password missing or too long===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A password string within an IFSTRTN call has not been delimited with a semicolon.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt;&lt;br /&gt;
Ensure that the password string is delimited by a semicolon, as in the following example&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;gt;CALL IFSTRTN(RC,&#039;logonid;password;&#039;...)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Version introduced:&amp;lt;/b&amp;gt;&lt;br /&gt;
7.8&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 00 04 AUDITMS NOCOUNT&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2965&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2965  Unable to cleanly close log file(s)===&lt;br /&gt;
&amp;lt;p&amp;gt;Introduced in zap 77z243.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;This message causes a snap/dump if the log file (such as a journal, jlog, or checkpoint) cannot be cleanly quiesced when bringing down an Online. The problem with the log file is rare but caused a hang further along in processing. This message causes a snap/dump much closer to the time of error, making it easier to diagnose the problem.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the snap/dump generated by the message to diagnose the cause of the error.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Return codes:&amp;lt;/b&amp;gt; E 88 88 DUMP SNAP AUDITAD NOTERM OPR&lt;br /&gt;
----&lt;br /&gt;
 &lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2966&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2966  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number?&amp;lt;/i&amp;gt;,? procedure &amp;lt;i&amp;gt;proc&amp;lt;/i&amp;gt; in file &amp;lt;i&amp;gt;file&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information following various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2966 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt;. Subsequent M204.2966 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt;, &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;proc&amp;lt;/var&amp;gt;, and &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;file&amp;lt;/var&amp;gt; indicate the line number, procedure, and file where the error occurred or from where the previous M204.2966 entry was called. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2966 messages after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2966 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2967&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2967  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt; line &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt; of command level program===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This message provides diagnostic information after various types of error messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The first M204.2967 message after an error has &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Error at&amp;lt;/code&amp;gt; and subsequent M204.2967 messages (if any) have &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;what&amp;lt;/var&amp;gt; set to &amp;lt;code&amp;gt;Called from&amp;lt;/code&amp;gt;. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;number&amp;lt;/var&amp;gt; indicates the line number for a command line program (counting from the &amp;lt;var&amp;gt;Begin&amp;lt;/var&amp;gt;) where the error occurred, or where the previous [[M204.2966]] entry was called from. Essentially, this provides a call stack trace to aid in diagnosing problems. No more than 20 levels of calls are shown for an error. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Use the M204.2967 (and M204.2966, if any) after an error to try to diagnose the cause of the error.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2967 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2968&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2968  &amp;lt;i&amp;gt;what&amp;lt;/i&amp;gt;: no debug info===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
An error message (immediately preceding M204.2968) was issued, but insufficient compile-time information was collected to provide the diagnostic information provided in the [[M204.2966]] and [[M204.2967]] messages.&lt;br /&gt;
To get that additional information to help diagnose the problem, set the [[SIRFACT parameter|SIRFCAT X&#039;01&#039;]] bit if authorized for [[SirFact]], or set the [[DEBUGUL parameter]] to a non-zero value. The latter requires no product authorization, but it does increase QTBL requirements. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; If you are unable to diagnose the problem, consider setting one of the parameters described above to aid in problem diagnosis.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2968 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2969&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2969  MBSCAN (&amp;lt;i&amp;gt;mbscan&amp;lt;/i&amp;gt;) exceeded?,? records to be searched ?=? &amp;lt;i&amp;gt;number&amp;lt;/i&amp;gt;===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A Table B scan would exceed the setting of &amp;lt;var&amp;gt;[[MBSCAN parameter|MBSCAN]]&amp;lt;/var&amp;gt;, so the request is cancelled. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Correct the &amp;lt;var&amp;gt;Find&amp;lt;/var&amp;gt; statement at the line indicated by the following [[M204.2966]] message (hopefully available), or increase &amp;lt;var&amp;gt;MBSCAN&amp;lt;/var&amp;gt; to tolerate the number of scanned records, if reasonable.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2969 footer}}&lt;br /&gt;
----&lt;br /&gt;
===&amp;lt;b id=&amp;quot;M204.2970&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;M204.2970  Maximum call stack limit (&amp;lt;i&amp;gt;limit&amp;lt;/i&amp;gt;) reached===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The number of messages describing the call stack reached the maximum allowed for such messages (currently 20). This message is largely informational; it is more useful to focus on the preceding [[M204.2966]] messages. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;Response:&amp;lt;/b&amp;gt; Examine the preceding M204.2966 messages.&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Template:M204.2970 footer}}&lt;br /&gt;
&lt;br /&gt;
==MSIR messages==&lt;br /&gt;
===&amp;lt;b id=&amp;quot;MSIR.0942&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;MSIR.0942  Debugger token0 port defaulted to token2===&lt;br /&gt;
This message has been changed from an error message to an informational message&lt;br /&gt;
{{Template:MSIR.0942 footer}}&lt;/div&gt;</summary>
		<author><name>DCameron</name></author>
	</entry>
</feed>