<?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=Glw</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=Glw"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Special:Contributions/Glw"/>
	<updated>2026-05-10T19:14:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104246</id>
		<title>M204wiki main page</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104246"/>
		<updated>2017-09-11T15:28:30Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to M204wiki, the platform for Rocket Software Model&amp;amp;nbsp;204 technical documentation. Here you can find product information, installation and reference documentation and release notes.&lt;br /&gt;
 &lt;br /&gt;
M204wiki contains the current version of Model 204 documentation, with release-specific features noted in the text. In some cases, documentation is provided in [[Model 204 documentation|PDF format]]. &lt;br /&gt;
&lt;br /&gt;
In addition to plentiful page links, [[Searching M204wiki|M204wiki searching features]] help you quickly locate the information you need.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Model 204==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Installation&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 installation]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Introductions to core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[SOUL|SOUL/User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview|File management]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview|File architecture]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Model 204 configurations and operating environments|System management]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Commands&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 commands]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameters&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 parameters]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Security&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 security features]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Storing security information (CCASTAT)#Overview|Storing security information (CCASTAT)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[:Category:Security interfaces|Security interfaces]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Janus Network Security]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;PDF manuals&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 documentation|Model 204 documentation conversion]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$Functions==&lt;br /&gt;
[[SOUL $functions#Summary of standard functions|SOUL $functions]]&lt;br /&gt;
&lt;br /&gt;
==Messages==&lt;br /&gt;
&amp;lt;div id=&amp;quot;messages&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Media:M204_MessagesManual_V75.pdf|Model 204 messages with &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; prefix as of V7.5]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.5| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.5]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.6| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.6]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.7|&amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.7]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[List of Model 204 messages#msir|Model 204 messages with &amp;lt;code&amp;gt;MSIR.&amp;lt;/code&amp;gt; prefix]] &lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:Fast/Unload messages|Fast/Unload messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirAud messages|SirAud messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirTune data collector messages|SirTune data collector messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:RockZap messages|RockZap messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Dictionary/204 messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoftSpy messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Connect* messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Debugger]] and [[Introduction to SoftSpy|SoftSpy]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirAud]] - Audit trail analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirFact]] - SOUL dump analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirLib]] - SOUL code management&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirMon]] - Model 204 performance monitor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirPro]] - SOUL programmers&#039; interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirScan]] - Real-time Model 204 journal queries&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirTune]] - SOUL tuning&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoulEdit]] - Advanced SOUL-based editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKWeb]] - Browser-based access to [[RKTools]] members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKTools installation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Model 204&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.7|Release notes for Model 204 V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.6|Release notes for Model 204 V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.5|Release notes for Model 204 V7.5]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V74.pdf|Release notes for Model 204 V7.4 (PDF)]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V71.pdf|Release notes for Model 204 V7.1 (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;SoftSpy&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.5]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;rktools_notes&amp;quot;&amp;gt;SOUL tools &lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;Sirius_Mods_release_notes&amp;quot;&amp;gt;Sirius Mods&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Sirius Mods V8.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V8.0]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.9]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.8]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;funRel&amp;quot;&amp;gt;Fast/Unload&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Fast/Unload V4.7]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Fast/Unload V4.6]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Media:Funrel44New.pdf|Release notes for Fast/Unload V4.4 (PDF)]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overviews and tutorials==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Overviews of core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Introduction to User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview]]&lt;br /&gt;
&amp;lt;dt&amp;gt;OO structures and concepts&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Getting started with OOP for User Language programmers]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Longstrings]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[$lists]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sessions]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sdaemons]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Regex processing]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[XML processing in Janus SOAP]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Unicode]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contribute to M204wiki==&lt;br /&gt;
Anyone who works with [[Model 204]] is encouraged to contribute to M204wiki, either by providing new content or correcting or improving content. Before you can edit content you must [[M204wiki:Get M204wiki User ID|obtain an M204wiki User ID]].&lt;br /&gt;
&lt;br /&gt;
==Download a local copy of M204wiki==&lt;br /&gt;
You can [[M204wiki:Database download|download your own copy of M204wiki]].&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=104221</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=104221"/>
		<updated>2017-09-08T20:00:00Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7. &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.7 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.7. For a full list of features, refer to the Table of Contents. &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;
&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;Continued expansion of 64-bit addressability. See [[#Elimination of BTB buffers|Elimination of BTB buffers]]. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Greater zIIP processor availability: M204 HPO and Fast/Unload HPO. See [[#zIIP exploitation|zIIP exploitation]]. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;zIIP load tuning. See [[#MPDELAY and MPDELAYZ (new)|MPDELAYZ]], [[#SCHDOFLS (new)|SCHDOFLS]], [[#SCHDOPT (change to X&#039;20&#039; bit processing)|SCHDOPT]]. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Essential removal of application limits on the [[#Increase in request limit for number of images, screens, and menus|number of images, screens, and menus]].&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Support for large data sets (as many as 16 million tracks) for the Model 204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]]. See [[System_and_media_recovery#ROLL_BACK_processing.2C_Pass_2|ROLL BACK processing, Pass 2]].&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;Stronger cryptographic algorithms: SHA-384, SHA-512. See [[#&amp;quot;SSL&amp;quot; String methods|&amp;quot;SSL&amp;quot; String methods]], [[#New DigestAlgorithm values|New DigestAlgorithm values]], and [[#New default certificate-signing algorithm|New default certificate-signing algorithm]]. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Longer RSA keys (as many as 4096 bits). See [[#Janus Network Security ciphers and private keys|Janus Network Security ciphers and private keys]]. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Support for [[#Long password support|longer and mixed-case login passwords]]. &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;Add-on 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;A more versatile Fast/Unload through [[#Integration of Fast/Unload with the Online load module|integration with Model&amp;amp;nbsp;204]].  &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Janus products&#039; [[#Support for IPV6|support for the IPV6 network protocol]], expanding the network address space from 32 to 128 bits. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&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 [[IBM z/OS 2.2 PTF requirement|2.2]].&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.7 operates as an APF authorized load module, as required by many 7.7 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.3.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&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.7.&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;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New exception class: WriteError====&lt;br /&gt;
&amp;lt;var&amp;gt;[[WriteError class|WriteError]]&amp;lt;/var&amp;gt; exceptions are thrown by the &amp;lt;var&amp;gt;Close&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;WriteBlock&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;WriteRecord&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;WriteRecords&amp;lt;/var&amp;gt; methods in the [[Dataset class]] if they encounter a full output &amp;lt;var&amp;gt;Dataset&amp;lt;/var&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method might add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Resulting element length in &amp;quot;ToXmlDoc&amp;quot; String methods====&lt;br /&gt;
Prior to version 7.7 of Model&amp;amp;nbsp;204, the &amp;lt;var&amp;gt;[[DerToXmlDoc (String function)|DerToXmlDoc]]&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;[[X509CertificateToXmlDoc (String function)|X509CertificateToXmlDoc]]&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;[[X509CrlToXmlDoc (String function)|X509CrlToXmlDoc]]&amp;lt;/var&amp;gt;, and&lt;br /&gt;
&amp;lt;var&amp;gt;[[RSAPrivateKeyToXmlDoc (String function)|RSAPrivateKeyToXmlDoc]]&amp;lt;/var&amp;gt; methods failed if input to them created any element in the result &amp;lt;var&amp;gt;XmlDoc&amp;lt;/var&amp;gt; with a text child whose length exceeded 650 characters. &lt;br /&gt;
An example of such input is a 4096-bit key (which requires 1024 hex characters).&lt;br /&gt;
&lt;br /&gt;
As of version 7.7, the lengths of the created text nodes are not restricted.&lt;br /&gt;
&lt;br /&gt;
====LDAP request length limit====&lt;br /&gt;
Prior to version 7.7 of Model&amp;amp;nbsp;204, the SOUL [[LDAP class#limit|LDAP client buffers]] allowed a limit of 6144 bytes per request. As of 7.7, the limit is increased to 8184.&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to version 7.6 of Model 204. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.6 and above, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names can begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign (&amp;lt;tt&amp;gt;-&amp;lt;/tt&amp;gt;), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Assert statement support for Info expressions===&lt;br /&gt;
The SOUL &amp;lt;var&amp;gt;[[Assert statement|Assert]]&amp;lt;/var&amp;gt; statement allows the optional parameter &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; to provide additional output information. As of version 7.7, the &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; phrase may contain any valid SOUL expression, including a method call or $function. The expression, which must be enclosed in parentheses, is evaluated only in the case of an &amp;lt;var&amp;gt;Assert&amp;lt;/var&amp;gt; failure.&lt;br /&gt;
&lt;br /&gt;
A simple example is:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;assert %x gt 0, info (&#039;abc&#039; with &#039;def&#039;) &amp;lt;/p&amp;gt;&lt;br /&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; This enhancement introduces a slight backward incompatibility: An &amp;lt;var&amp;gt;Assert&amp;lt;/var&amp;gt; statement like the following, whose &amp;lt;var&amp;gt;Info&amp;lt;/var&amp;gt; value begins with an opening parenthesis but has no closing parenthesis, compiled without error prior to version 7.7: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;assert %x gt 0, info (&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
From 7.7 on, such a statement produces a compilation error, because the compiler expects an expression after the open parenthesis. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Security enhancements==&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &lt;br /&gt;
&amp;lt;br /&amp;gt;Also, passwords and passphrases can now contain one or more embedded spaces. (Leading and trailing spaces are stripped.)&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The long password feature includes support for: &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;[[LOGIN or LOGON command|LOGON]]&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[LOGINCP or LOGONCP command|LOGONCP]]&amp;lt;/var&amp;gt; command, used to change a password&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[LOGCTL command: Modifying user ID entries in the password table|LOGCTL C USERID]]&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;[[$Sir_Login]]&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;[[Storing_security_information_(CCASTAT)|CCASTAT]] data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (passphrases) for use with the following [[Security interfaces overview|external security interfaces]]: CA-ACF2 MVS, Security Server (formerly RACF), and CA-Top Secret&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For additional security enhancements in version 7.7, see [[#Janus Network Security ciphers and private keys|Janus Network Security ciphers and private keys]] as well as [[#&amp;quot;SSL&amp;quot; String methods|&amp;quot;SSL&amp;quot; String methods]], [[#New DigestAlgorithm values|New DigestAlgorithm values]], and [[#New default certificate-signing algorithm|New default certificate-signing algorithm]].&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;IPV6&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;Support for IPV6===&lt;br /&gt;
As of version 7.7, customers can use the [[Janus products]] in an IPV6 (Internet Protocol Version 6) environment. Before this release, all Janus commands and parameters were able to accommodate IPV4 addresses only. IPV6 addresses expand the network address space from 32 to 128 bits.&lt;br /&gt;
&lt;br /&gt;
These parameters, commands, and functions support IPV6 under version 7.7 of Model&amp;amp;nbsp;204:&lt;br /&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;Commands&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;System parameter&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;SOUL&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td nowrap&amp;gt;&lt;br /&gt;
JANUS CLSOCK and JANUS SRVSOCK &amp;lt;br&amp;gt;&lt;br /&gt;
JANUSDEBUG and JANUS WEB DEBUG &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS DEFINEIPGROUP &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS DEFINE BINDADDR &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS DISIPG  &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS DISUSG  &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS TRACE &amp;lt;br&amp;gt;&lt;br /&gt;
JANUS WEB ALLOW &lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;&lt;br /&gt;
TCPTYPE &amp;lt;br&amp;gt;&lt;br /&gt;
(see [[#tcptype|TCPTYPE (new IPV6 values)]])&lt;br /&gt;
&amp;lt;/td&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;td nowrap&amp;gt;&lt;br /&gt;
$Web_IPAddr &amp;lt;br&amp;gt;&lt;br /&gt;
LocalHost (UdpSocket property) &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;
===Janus Network Security ciphers and private keys===&lt;br /&gt;
Support for certificates signed using [[DigestAlgorithm_enumeration|SHA-384 and SHA-512]] are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
In addition, support is added for RSA keys that are as many as 4096 bits in length. You can now generate and sign 4096-bit keys and use them in client and server certificates using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Janus Network Security&amp;lt;/var&amp;gt; application as well as its associated and related methods, including:&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;Class&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Method&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;System&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;var&amp;gt;[[GeneratedPrivateKey (System function)|GeneratedPrivateKey]]&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;td rowspan=&amp;quot;4&amp;quot;&amp;gt;Stringlist&amp;lt;/td&amp;gt; &lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;var&amp;gt;[[AppendCertificateRequest (Stringlist function)|AppendCertificateRequest]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[AppendGeneratedPrivateKey (Stringlist subroutine)|AppendGeneratedPrivateKey]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&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;td rowspan=&amp;quot;4&amp;quot;&amp;gt;String&amp;lt;/td&amp;gt;&lt;br /&gt;
&amp;lt;td&amp;gt;&amp;lt;var&amp;gt;[[CertificateRequest (String function)|CertificateRequest]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[ClientCertificateRequest (String function)|ClientCertificateRequest]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[RSAPrivateKeyToXmlDoc (String function)|RSAPrivateKeyToXmlDoc]]&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;td&amp;gt;&amp;lt;var&amp;gt;[[SignedCertificate (String function)|SignedCertificate]]&amp;lt;/var&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;
===Janus Web Server rules===&lt;br /&gt;
The following changes have been made in version 7.7:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;You can now substitute an HTTP method name in the command for a &amp;lt;var&amp;gt;JANUS WEB ON&amp;lt;/var&amp;gt; rule. See [[#ON rules (method name substitution)|ON rules (method name substitution)]] for details.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;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 (after zap 77Z088 in version 7.7, or after zap 76Z418 in version 7.6) 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; With version 7.7 zap 77Z090 or version 7.6 zap 76Z420, you can make the default &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;). To do so, 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;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;As described below in [[#JANUS WEB (additional rule support)|JANUS WEB (additional rule support)]], the &amp;lt;var&amp;gt;JANUS WEB&amp;lt;/var&amp;gt; command &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;DISALLOW&amp;lt;/var&amp;gt; rules are updated to include support for RESTful and WebDAV HTTP methods. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Janus Web access to HTTP authorization and authentication headers===&lt;br /&gt;
Under version 7.7, Janus Web lets you access HTTP user authentication headers. You can capture the HTTP &amp;quot;Authorization&amp;quot; request header value, and you can set the &amp;quot;WWW-Authenticate&amp;quot; response header. See [[Janus Web Server security#Authorization and WWW-Authenticate headers|Authorization and WWW-Authenticate headers]].&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Previously (for all versions of &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt; through 4.7), the standalone &amp;lt;code&amp;gt;FUNLOAD&amp;lt;/code&amp;gt; load module was downloaded and linked separately and independently from Model&amp;amp;nbsp;204. Starting with version 7.7 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt; is entirely linked with the Model&amp;amp;nbsp;204 Online load module. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Maintenance zaps applied to the Online load module include all &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt; maintenance.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The version number of &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt; is the same as the version number of Model&amp;amp;nbsp;204. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If you are authorized for Fast/Unload, the authorization zap for the ONLINE load module will contain authorization for Fast/Unload. The authorization zap used for previous releases of FUNLOAD should not be applied to the FUNLOAD module in 7.7.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under 7.7, the Online load module can be linked with an ALIAS (the standard one is FUNLOAD) and an alternate ENTRY. This alias is functionally indistinguishable from the standalone &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt; FUNLOAD load module installed for all previous versions of &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Fast/Unload&amp;lt;/var&amp;gt;.   &lt;br /&gt;
&lt;br /&gt;
The integration of Fast/Unload with the Online load module also makes additional DDnames available to PGM=FUNLOAD for possible problem diagnosis by Rocket Technical Support. These DDnames are &amp;lt;code&amp;gt;CCASNAP&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;CCAAUDIT&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CCAPRINT&amp;lt;/code&amp;gt;, and they are described in [[Fast/Unload invocation#ccadd|Fast/Unload invocation]].&lt;br /&gt;
&lt;br /&gt;
A significant benefit of running Fast/Unload integrated with Model&amp;amp;nbsp;204 and not standalone  is the ability to take advantage of zIIP processing, as described next in the &amp;quot;zIIP exploitation&amp;quot; section.&lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains both of the following, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Performance monitoring and tuning#Offloading Model 204 work to zIIP processors|M204 HPO]]&amp;lt;/var&amp;gt;, the zIIP-support product of Model&amp;amp;nbsp;204&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
PGM=FUNLOAD automatically supplies the necessary Model&amp;amp;nbsp;204 parameters to enable zIIP exploitation. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;[[Fast/Unload overview#fuhpo|Fast/Unload HPO]]&amp;lt;/var&amp;gt; product &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW204 function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;[[Fast/Unload PUT statement#PUT|PUT]]&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
For better readability and lower CPU cost than the techniques currently used to achieve the same result, the &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;... PUT &amp;lt;i&amp;gt;info&amp;lt;/i&amp;gt; .. AS [&amp;lt;i&amp;gt;format&amp;lt;/i&amp;gt;] COUNTED[1|2] &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
With this feature, you can replace FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;With: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and somewhat more efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;[[Fast/Unload standard functions##strip|#STRIP]]&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#Length prefix for PUT output values|COUNTED]]&amp;lt;/var&amp;gt; options for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED2&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR %VAL EQ &amp;amp;apos;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &amp;amp;apos;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements with the following, which outputs a numeric value with leading zeroes stripped: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option strips neither leading-characters nor trailing-characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&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;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===FREE command (new message)===&lt;br /&gt;
Prior to this release, a successful &amp;lt;var&amp;gt;[[FREE command#msg|FREE]]&amp;lt;/var&amp;gt; command was not followed by a message indicating success. Under version 7.7, &amp;lt;var&amp;gt;FREE&amp;lt;/var&amp;gt; now indicates success with the following message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0510: FREE command successful; &amp;lt;i&amp;gt;ddname&amp;lt;/i&amp;gt; freed &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also new in this release, a &amp;lt;var&amp;gt;FREE&amp;lt;/var&amp;gt; command that takes no action because the specified file does not exist or is not allocated is now followed by an explanatory message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0509: No action taken by FREE command; &amp;lt;i&amp;gt;ddname&amp;lt;/i&amp;gt; not allocated &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In earlier versions, no such message followed. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (additional rule support)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Expanded ALLOW/DISALLOW rules====&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command &amp;lt;var&amp;gt;ALLOW&amp;lt;/var&amp;gt;/&amp;lt;var&amp;gt;DISALLOW&amp;lt;/var&amp;gt; rules are updated to include support for these HTTP methods:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The RESTful ([https://en.wikipedia.org/wiki/Representational_state_transfer Representational State Transfer]) methods CONNECT, DELETE, OPTIONS, PATCH, and TRACE. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The WebDAV ([http://www.webdav.org/specs/rfc4918.html Distributed Authoring and Versioning]) methods PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, and UNLOCK. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====ON rules (method name substitution)====&lt;br /&gt;
In a version 7.7 &amp;lt;var&amp;gt;[[JANUS WEB ON|JANUS WEB ON]]&amp;lt;/var&amp;gt; command, you can now reference the name of the HTTP method that is associated with the incoming request. To do this, specify an &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt; after the escape (&amp;lt;tt&amp;gt;&amp;quot;&amp;lt;/tt&amp;gt;) character, as in: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;JANUS WEB WEBPORT ON /TEST/* OPEN FILE TEST CMD &#039;I &amp;quot;M.*&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A GET request for URL &amp;lt;code&amp;gt;/test/foo&amp;lt;/code&amp;gt; would result in the file &amp;lt;code&amp;gt;TEST&amp;lt;/code&amp;gt; being opened and the command &amp;lt;code&amp;gt;I GET.FOO&amp;lt;/code&amp;gt; being issued. A POST for the same URL would result in the command &amp;lt;code&amp;gt;I POST.FOO&amp;lt;/code&amp;gt; being issued.&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; This behavior is a change from past releases, when &amp;lt;code&amp;gt;&amp;quot;M&amp;lt;/code&amp;gt; was simply converted to &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LOGINCP or LOGONCP (new)===&lt;br /&gt;
Because colons are now valid password characters, the &amp;lt;var&amp;gt;[[LOGINCP or LOGONCP command|LOGINCP]]&amp;lt;/var&amp;gt; (LOGIN and Change Password) command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGIN&amp;lt;/var&amp;gt;. &lt;br /&gt;
&amp;lt;p&amp;gt;Before version 7.7, with &amp;lt;var&amp;gt;LOGIN&amp;lt;/var&amp;gt;, you specified &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt.&amp;lt;/p&amp;gt; &lt;br /&gt;
With the &amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGINCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new and changed values)===&lt;br /&gt;
====New values====&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;CUSTOM=23&amp;lt;/code&amp;gt; value always truncates the user ID to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;CUSTOM=41&amp;lt;/code&amp;gt; value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;CUSTOM=42&amp;lt;/code&amp;gt; value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Changed value====&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;code&amp;gt;CUSTOM=11&amp;lt;/code&amp;gt; value also supports special-characters for RACF passwords as of version 7.7.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===MPDELAY and MPDELAYZ (new)===&lt;br /&gt;
For an [[Performance monitoring and tuning#Multiprocessing .28MP.2F204.29|MP/204]] Online, the &amp;lt;var&amp;gt;[[MPDELAY parameter|MPDELAY]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[MPDELAYZ parameter|MPDELAYZ]]&amp;lt;/var&amp;gt; parameters are added to improve the efficiency of the MP scheduler. They reduce the cost of starting too many new subtasks for the amount of work to be done.&lt;br /&gt;
&lt;br /&gt;
===NUMBUF and NUMBUFG===&lt;br /&gt;
As described below in [[#Elimination of BTB buffers|Elimination of BTB buffers]], setting &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; greater than 0 in version 7.7 forces &amp;lt;var&amp;gt;NUMBUF&amp;lt;/var&amp;gt; to 0 (no buffer pool buffers reside below the bar). Not setting &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; or setting it to 0 (no buffers above the bar) allows the calculation of BTB buffers to remain as in previous versions.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFL and SCHDOFLZ (new minimum value)===&lt;br /&gt;
The new minimum value of &amp;lt;var&amp;gt;[[SCHDOFL parameter|SCHDOFL]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[SCHDOFLZ parameter|SCHDOFLZ]]&amp;lt;/var&amp;gt; is 0. Before Model 204 7.7, their minimum allowed value was 1.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SCHDOPT (change to X&#039;20&#039; bit processing)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[SCHDOPT parameter|SCHDOPT]]&amp;lt;/var&amp;gt; X&#039;20&#039; bit prevents the maintask from running work that is intended to run on a zIIP subtask (when zIIP subtasks are defined and activated). As of Model&amp;amp;nbsp;204 7.7, even when this bit is off, the maintask will run some of the zIIP work only if the zIIP subtasks appear to be saturated. Saturation is defined as a zIIP subtask queue length of at least &amp;lt;code&amp;gt;[[SCHDOFLZ parameter|SCHDOFLZ]]*[[AMPSUBZ parameter|AMPSUBZ]]&amp;lt;/code&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
Formerly, this saturation requirement was absent, allowing the maintask to take on more (possibly too much) of the zIIP workload.&lt;br /&gt;
&lt;br /&gt;
===SERVSIZE (new default/minimum value)===&lt;br /&gt;
The minimum value for &amp;lt;var&amp;gt;[[SERVSIZE parameter|SERVSIZE ]]&amp;lt;/var&amp;gt; is changed from zero to 65536. If &amp;lt;var&amp;gt;SERVSIZE&amp;lt;/var&amp;gt; is explicitly set in CCAIN and its value is less than 64K, the following message is issued:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.1149: SERVSIZE has been set to its minimum value: 65536&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &amp;lt;var&amp;gt;SERVSIZE&amp;lt;/var&amp;gt; was not set but was [[Defining the runtime environment (CCAIN)#Sizing user server areas|calculated by the system]] to a value less than 64K, the following message is issued:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0163: SERVSIZE increased to 65536&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6, 7.5, and 7.4 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;tcptype&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;TCPTYPE (new IPV6 values)===&lt;br /&gt;
As part of the version 7.7 [[#IPV6|support for IPV6]], three new optional (IPV6-address-only) values are added to the &amp;lt;var&amp;gt;[[TCPTYPE parameter|TCPTYPE]]&amp;lt;/var&amp;gt; parameter: &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;IBMV6&lt;br /&gt;
BPXV6&lt;br /&gt;
IUCVV6&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Elimination of BTB buffers===&lt;br /&gt;
As of version 7.7, any use of above-the-bar buffer pool (as invoked by a setting of the &amp;lt;var&amp;gt;[[NUMBUFG parameter|NUMBUFG]]&amp;lt;/var&amp;gt; parameter greater than 0) will force all buffer pool buffers above the bar &amp;amp;mdash; no below-the-bar buffers will exist. In this case, the &amp;lt;var&amp;gt;[[NUMBUF parameter|NUMBUF]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[MINBUF parameter|MINBUF]]&amp;lt;/var&amp;gt; parameters will be forced to 0, and the other parameters that affect BTB storage (&amp;lt;var&amp;gt;MAXBUF&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;SPCORE&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;LDKBMWND&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;NLRUQ&amp;lt;/var&amp;gt;) will be ignored.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;NUMBUFG&amp;lt;/var&amp;gt; to 0, all buffers will be below the bar, and the settings of the BTB-related parameters will be respected and calculated as in pre-7.7 versions.&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets (as many as 16 million tracks) for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]]. For details, see [[System_and_media_recovery#ROLL_BACK_processing.2C_Pass_2|ROLL BACK processing, Pass 2]].&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
&lt;br /&gt;
===BLKO===&lt;br /&gt;
The [[Using system statistics#System performance statistics|performance statistic]] BLKO now also reports invisible users that are blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG, and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the &amp;lt;var&amp;gt;MONITOR&amp;lt;/var&amp;gt; command, the [[ONLINE monitoring#User information in formatted displays|QUE column]] now reports new values OFFO and OFFI instead of OFFQ for invisible users:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;OFFO is invisible and blocked out. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;OFFI is invisible and blocked in. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The BLKO QUE value continues to mean blocked out and visible (on some queue), and BLKI means blocked in and visible.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CCATDIFF and CCATDIFH===&lt;br /&gt;
The [[Using system statistics#Description of statistics|CCATDIFF]] user and since-last statistic gets incremented each time a user allocates a CCATEMP page, and it gets decremented each time a user frees a page. Its value is not allowed to drop below zero. In the event of a CCATEMP page shortage, CCATDIFF gives system managers the possibility of determining a particular user that might be primarily responsible. &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; CCATDIFF is a rough guide, not definitive: it might give false high readings for some users, but it will indicate a user whose usage is extremely extraordinary. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Using system statistics#Description of statistics|CCATDIFH]] is a since-last statistic that reports a request&#039;s CCATDIFF since-last highwater mark, useful to retrospectively determine which request was responsible for a massive CCATEMP usage spike. For example, it will record a request that allocated a large number of CCATEMP pages but freed the pages before the request ended.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;[[External Call Facility#module|External Module]]&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
===&amp;lt;b id=&amp;quot;ecfprofile&amp;quot;&amp;gt;&amp;lt;/b&amp;gt;Running ECF requests under the invoking user’s profile===&lt;br /&gt;
&amp;lt;!-- see PDS-6158 --&amp;gt;Unless the new system parameter &amp;lt;var&amp;gt;[[ECPRIV parameter|ECPRIV]]&amp;lt;/var&amp;gt; 4 bit is set, the job invoked by a privileged [[External Call Facility]] statement at a site where an external authorizer (ACF2, RACF, or Top/Secret) is used runs under the external-authorizer profile of the &amp;lt;i&amp;gt;user&amp;lt;/i&amp;gt; that invokes the External Call, rather than under the &amp;lt;i&amp;gt;job&#039;s&amp;lt;/i&amp;gt; external-authorizer profile. &lt;br /&gt;
&lt;br /&gt;
Prior to version 7.7, such a job always ran under the job&#039;s external-authorizer profile, so this is a [[#Profile used for running ECF requests|backward compatibility]] issue.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SoftSpy Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger Client version information display on mainframe===&lt;br /&gt;
As of version 7.7 and Client build 64, the &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Janus/TN3270 Debugger&amp;lt;/var&amp;gt; Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]]:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot; style=&amp;quot;font-size:93%&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 64, Tag: 2 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64, and the mainframe side views all Client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
The build number, which identifies Client versions, is displayed in the Client &amp;lt;b&amp;gt;Audit Trail&amp;lt;/b&amp;gt; tab at start up:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also view the build number of the Client at any time by selecting &amp;lt;b&amp;gt;Help &amp;gt; About&amp;lt;/b&amp;gt;. And as of Client build 65, the build number is displayed by the Client function &amp;lt;var&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
Normally, when you use the TN3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used. &lt;br /&gt;
As of Client build 65 and Model&amp;amp;nbsp;204 7.7, you can force Clients to have at least a minimum build number in order to invoke a debugging session with your Online. The new Model&amp;amp;nbsp;204 system parameter &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; sets such a minimum.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; to a positive value, use a version of the Debugger Client whose build number is less than &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt;, and invoke a debugging session, the debugging session is rejected. An error message is shown in your browser and at the Client, calling for a Client upgrade.&lt;br /&gt;
&lt;br /&gt;
You also see the following error on the Online&#039;s Audit Trail (and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot; style=&amp;quot;font-size:94%&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduces an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;a: audit &#039;About to FDV&#039;&lt;br /&gt;
   fdv foo&lt;br /&gt;
b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model 204.&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB ON -- &amp;quot;M substitution===&lt;br /&gt;
In the command for a &amp;lt;var&amp;gt;JANUS WEB ON&amp;lt;/var&amp;gt; rule, &amp;lt;code&amp;gt;&amp;quot;M&amp;lt;/code&amp;gt; can now be used to specify a method name. &lt;br /&gt;
This behavior is a change from past releases, when &amp;lt;code&amp;gt;&amp;quot;M&amp;lt;/code&amp;gt; was simply converted to &amp;lt;code&amp;gt;M&amp;lt;/code&amp;gt;. See [[#ON rules .28method name substitution.29|JANUS WEB ON rules (method name substitution)]] for details.&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
===Profile used for running ECF requests===&lt;br /&gt;
As [[#ecfprofile|described earlier]], the default external-authorizer (ACF2, RACF, or Top/Secret) profile under which a job invoked by a privileged ECF statement runs is changed in version 7.7. Instead of such a job running under the job&#039;s external-authorizer profile (as it did prior to 7.7), the job runs by default in 7.7 under the user&#039;s external-authorizer profile. &lt;br /&gt;
&lt;br /&gt;
The default behavior can be changed by turning on the new system parameter &amp;lt;var&amp;gt;[[ECPRIV parameter|ECPRIV]]&amp;lt;/var&amp;gt; 4 bit.&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 and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7|New and updated messages in Model 204 version 7.7]] for details. &lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=File:RKToolsMainMenu77.png&amp;diff=104220</id>
		<title>File:RKToolsMainMenu77.png</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=File:RKToolsMainMenu77.png&amp;diff=104220"/>
		<updated>2017-09-08T17:49:38Z</updated>

		<summary type="html">&lt;p&gt;Glw: Glw uploaded a new version of File:RKToolsMainMenu77.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;version 7.7 edition&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104146</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104146"/>
		<updated>2017-08-16T18:05:05Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &amp;amp;nbsp;&lt;br /&gt;
** What&#039;s new|What&#039;s New&lt;br /&gt;
* SEARCH&lt;br /&gt;
* Reference Pages&lt;br /&gt;
** SOUL|SOUL/User Language&lt;br /&gt;
** Category:Model 204 files|Model 204 files&lt;br /&gt;
** Category:System management|System management&lt;br /&gt;
** Lists of classes and methods|Classes/methods&lt;br /&gt;
** Category:Commands|Commands&lt;br /&gt;
** List of Model 204 parameters|Parameters&lt;br /&gt;
** SOUL $functions|$Functions&lt;br /&gt;
** M204wiki main page#Messages|Messages&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Categories&amp;amp;offset=&amp;amp;limit=500|Categories&lt;br /&gt;
&lt;br /&gt;
* Product Information&lt;br /&gt;
** Model_204|Model 204&lt;br /&gt;
** Model 204 add-ons and applications|Add-ons and applications&lt;br /&gt;
** Release_notes|Release notes&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** Model 204 documentation|PDF manuals&lt;br /&gt;
&lt;br /&gt;
* Help-Editing&lt;br /&gt;
** Contacting Rocket Software Technical Support|Technical Support&lt;br /&gt;
** Searching_M204wiki|Searching tips&lt;br /&gt;
** http://sirius-software.com/search_methods|Method search&lt;br /&gt;
** Updating_M204wiki|Editing guide&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
&lt;br /&gt;
* Toolbox&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:WhatLinksHere&amp;amp;target={{FULLPAGENAMEE}}|What links here&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Upload|Upload file&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:SpecialPages|Special pages&lt;br /&gt;
&lt;br /&gt;
* Print&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title={{FULLPAGENAMEE}}&amp;amp;printable=yes|Print this page&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104145</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104145"/>
		<updated>2017-08-16T13:13:57Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &amp;amp;nbsp;&lt;br /&gt;
** What&#039;s new|What&#039;s New&lt;br /&gt;
* SEARCH&lt;br /&gt;
* Reference Pages&lt;br /&gt;
** SOUL|SOUL/User Language&lt;br /&gt;
** Category:Model 204 files|Model 204 files&lt;br /&gt;
** Category:System management|System management&lt;br /&gt;
** Lists of classes and methods|Classes/methods&lt;br /&gt;
** Category:Commands|Commands&lt;br /&gt;
** List of Model 204 parameters|Parameters&lt;br /&gt;
** SOUL $functions|$Functions&lt;br /&gt;
** M204wiki main page#Messages|Messages&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Categories&amp;amp;offset=&amp;amp;limit=500|Categories&lt;br /&gt;
&lt;br /&gt;
* Product Information&lt;br /&gt;
** Model_204|Model 204&lt;br /&gt;
** Model 204 add-ons and applications|Add-ons and applications&lt;br /&gt;
** Release_notes|Release notes&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** Model 204 documentation|PDF manuals&lt;br /&gt;
&lt;br /&gt;
* Help-Editing&lt;br /&gt;
** Contacting Rocket Software Technical Support|Technical Support&lt;br /&gt;
** Searching_M204wiki|Searching tips&lt;br /&gt;
** http://sirius-software.com/search_methods|Method search&lt;br /&gt;
** Updating_M204wiki|Editing guide&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
&lt;br /&gt;
* Toolbox&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:WhatLinksHere&amp;amp;target={{FULLPAGENAMEE}}|What links here&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Upload|Upload file&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:SpecialPages|Special pages&lt;br /&gt;
&lt;br /&gt;
* Print-Export&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title={{FULLPAGENAMEE}}&amp;amp;printable=yes|Print this page&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104144</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104144"/>
		<updated>2017-08-16T13:12:53Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &amp;amp;nbsp;&lt;br /&gt;
** What&#039;s new|What&#039;s New&lt;br /&gt;
* SEARCH&lt;br /&gt;
* Reference Pages&lt;br /&gt;
** SOUL|SOUL/User Language&lt;br /&gt;
** Category:Model 204 files|Model 204 files&lt;br /&gt;
** Category:System management|System management&lt;br /&gt;
** Lists of classes and methods|Classes/methods&lt;br /&gt;
** Category:Commands|Commands&lt;br /&gt;
** List of Model 204 parameters|Parameters&lt;br /&gt;
** SOUL $functions|$Functions&lt;br /&gt;
** M204wiki main page#Messages|Messages&lt;br /&gt;
** /index.php?title=Special:Categories&amp;amp;offset=&amp;amp;limit=500|Categories&lt;br /&gt;
&lt;br /&gt;
* Product Information&lt;br /&gt;
** Model_204|Model 204&lt;br /&gt;
** Model 204 add-ons and applications|Add-ons and applications&lt;br /&gt;
** Release_notes|Release notes&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** Model 204 documentation|PDF manuals&lt;br /&gt;
&lt;br /&gt;
* Help-Editing&lt;br /&gt;
** Contacting Rocket Software Technical Support|Technical Support&lt;br /&gt;
** Searching_M204wiki|Searching tips&lt;br /&gt;
** http://sirius-software.com/search_methods|Method search&lt;br /&gt;
** Updating_M204wiki|Editing guide&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
&lt;br /&gt;
* Toolbox&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:WhatLinksHere&amp;amp;target={{FULLPAGENAMEE}}|What links here&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Upload|Upload file&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:SpecialPages|Special pages&lt;br /&gt;
&lt;br /&gt;
* Print-Export&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title={{FULLPAGENAMEE}}&amp;amp;printable=yes|Print this page&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104110</id>
		<title>M204wiki main page</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104110"/>
		<updated>2017-08-15T15:04:08Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to M204wiki, the platform for Rocket Software Model 204 technical documentation. Here you can find product information, installation and reference documentation, and release notes.&lt;br /&gt;
 &lt;br /&gt;
M204wiki contains the current version of Model 204 documentation, with release-specific features noted in the text. In some cases, documentation is provided in [[Model 204 documentation|PDF format]]. &lt;br /&gt;
&lt;br /&gt;
In addition to plentiful page links, [[Searching M204wiki|M204wiki searching features]] help you quickly locate the information you need.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Model 204==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Installation&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 installation]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Introductions to core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[SOUL|SOUL/User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview|File management]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview|File architecture]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Model 204 configurations and operating environments|System management]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Commands&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 commands]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameters&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 parameters]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Security&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 security features]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Storing security information (CCASTAT)#Overview|Storing security information (CCASTAT)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[:Category:Security interfaces|Security interfaces]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Janus Network Security]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;PDF manuals&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 documentation|Model 204 documentation conversion]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$Functions==&lt;br /&gt;
[[SOUL $functions#Summary of standard functions|SOUL $functions]]&lt;br /&gt;
&lt;br /&gt;
==Messages==&lt;br /&gt;
&amp;lt;div id=&amp;quot;messages&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Media:M204_MessagesManual_V75.pdf|Model 204 messages with &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; prefix as of V7.5]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.5| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.5]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.6| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.6]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.7|&amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.7]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[List of Model 204 messages#msir|Model 204 messages with &amp;lt;code&amp;gt;MSIR.&amp;lt;/code&amp;gt; prefix]] &lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:Fast/Unload messages|Fast/Unload messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirAud messages|SirAud messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirTune data collector messages|SirTune data collector messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:RockZap messages|RockZap messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Dictionary/204 messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoftSpy messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Connect* messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Debugger]] and [[Introduction to SoftSpy|SoftSpy]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirAud]] - Audit trail analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirFact]] - SOUL dump analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirLib]] - SOUL code management&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirMon]] - Model 204 performance monitor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirPro]] - SOUL programmers&#039; interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirScan]] - Real-time Model 204 journal queries&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirTune]] - SOUL tuning&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoulEdit]] - Advanced SOUL-based editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKWeb]] - Browser-based access to [[RKTools]] members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKTools installation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Model 204&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.7|Release notes for Model 204 V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.6|Release notes for Model 204 V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.5|Release notes for Model 204 V7.5]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V74.pdf|Release notes for Model 204 V7.4 (PDF)]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V71.pdf|Release notes for Model 204 V7.1 (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;SoftSpy&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.5]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;rktools_notes&amp;quot;&amp;gt;SOUL tools &lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;Sirius_Mods_release_notes&amp;quot;&amp;gt;Sirius Mods&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Sirius Mods V8.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V8.0]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.9]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.8]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;funRel&amp;quot;&amp;gt;Fast/Unload&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Fast/Unload V4.7]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Fast/Unload V4.6]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Media:Funrel44New.pdf|Release notes for Fast/Unload V4.4 (PDF)]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overviews and tutorials==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Overviews of core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Introduction to User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview]]&lt;br /&gt;
&amp;lt;dt&amp;gt;OO structures and concepts&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Getting started with OOP for User Language programmers]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Longstrings]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[$lists]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sessions]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sdaemons]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Regex processing]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[XML processing in Janus SOAP]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Unicode]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contribute to M204wiki==&lt;br /&gt;
Anyone who works with [[Model 204]] is encouraged to contribute to M204wiki, either by providing new content or correcting or improving content. Before you can edit content you must [[M204wiki:Get M204wiki User ID|obtain an M204wiki User ID]].&lt;br /&gt;
&lt;br /&gt;
==Download a local copy of M204wiki==&lt;br /&gt;
You can [[M204wiki:Database download|download your own copy of M204wiki]].&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104109</id>
		<title>M204wiki main page</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=M204wiki_main_page&amp;diff=104109"/>
		<updated>2017-08-15T15:03:54Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Test&lt;br /&gt;
&lt;br /&gt;
Welcome to M204wiki, the platform for Rocket Software Model 204 technical documentation. Here you can find product information, installation and reference documentation, and release notes.&lt;br /&gt;
 &lt;br /&gt;
M204wiki contains the current version of Model 204 documentation, with release-specific features noted in the text. In some cases, documentation is provided in [[Model 204 documentation|PDF format]]. &lt;br /&gt;
&lt;br /&gt;
In addition to plentiful page links, [[Searching M204wiki|M204wiki searching features]] help you quickly locate the information you need.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Model 204==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Installation&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 installation]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Introductions to core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[SOUL|SOUL/User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview|File management]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview|File architecture]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Model 204 configurations and operating environments|System management]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Commands&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 commands]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Parameters&lt;br /&gt;
&amp;lt;dd&amp;gt;[[List of Model 204 parameters]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;Security&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 security features]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Storing security information (CCASTAT)#Overview|Storing security information (CCASTAT)]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[:Category:Security interfaces|Security interfaces]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Janus Network Security]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;PDF manuals&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Model 204 documentation|Model 204 documentation conversion]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==$Functions==&lt;br /&gt;
[[SOUL $functions#Summary of standard functions|SOUL $functions]]&lt;br /&gt;
&lt;br /&gt;
==Messages==&lt;br /&gt;
&amp;lt;div id=&amp;quot;messages&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Media:M204_MessagesManual_V75.pdf|Model 204 messages with &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; prefix as of V7.5]]&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.5| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.5]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.6| &amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.6]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[New and updated messages in Model 204 version 7.7|&amp;lt;code&amp;gt;M204.&amp;lt;/code&amp;gt; messages added/updated in V7.7]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[List of Model 204 messages#msir|Model 204 messages with &amp;lt;code&amp;gt;MSIR.&amp;lt;/code&amp;gt; prefix]] &lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:Fast/Unload messages|Fast/Unload messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirAud messages|SirAud messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:SirTune data collector messages|SirTune data collector messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[:Category:RockZap messages|RockZap messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Dictionary/204 messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoftSpy messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Connect* messages]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tools==&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Debugger]] and [[Introduction to SoftSpy|SoftSpy]] &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirAud]] - Audit trail analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirFact]] - SOUL dump analysis&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirLib]] - SOUL code management&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirMon]] - Model 204 performance monitor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirPro]] - SOUL programmers&#039; interface&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirScan]] - Real-time Model 204 journal queries&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SirTune]] - SOUL tuning&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[SoulEdit]] - Advanced SOUL-based editor&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKWeb]] - Browser-based access to [[RKTools]] members&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[RKTools installation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Release notes==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Model 204&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.7|Release notes for Model 204 V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.6|Release notes for Model 204 V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Model 204 version 7.5|Release notes for Model 204 V7.5]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V74.pdf|Release notes for Model 204 V7.4 (PDF)]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Media:M204_ReleaseNotes_V71.pdf|Release notes for Model 204 V7.1 (PDF)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;SoftSpy&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.6]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for SoftSpy V7.5]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;rktools_notes&amp;quot;&amp;gt;SOUL tools &lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.7]]&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for RKTools V7.5]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;Sirius_Mods_release_notes&amp;quot;&amp;gt;Sirius Mods&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Sirius Mods V8.1]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V8.0]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.9]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Sirius Mods V7.8]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt id=&amp;quot;funRel&amp;quot;&amp;gt;Fast/Unload&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Release notes for Fast/Unload V4.7]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Release notes for Fast/Unload V4.6]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Media:Funrel44New.pdf|Release notes for Fast/Unload V4.4 (PDF)]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Overviews and tutorials==&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Overviews of core Model 204 areas&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Introduction to User Language]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File management overview]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[File architecture overview]]&lt;br /&gt;
&amp;lt;dt&amp;gt;OO structures and concepts&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Getting started with OOP for User Language programmers]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Longstrings]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[$lists]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sessions]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Sdaemons]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Regex processing]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[XML processing in Janus SOAP]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Unicode]]&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Contribute to M204wiki==&lt;br /&gt;
Anyone who works with [[Model 204]] is encouraged to contribute to M204wiki, either by providing new content or correcting or improving content. Before you can edit content you must [[M204wiki:Get M204wiki User ID|obtain an M204wiki User ID]].&lt;br /&gt;
&lt;br /&gt;
==Download a local copy of M204wiki==&lt;br /&gt;
You can [[M204wiki:Database download|download your own copy of M204wiki]].&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=M204wiki:Database_download&amp;diff=104107</id>
		<title>M204wiki:Database download</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=M204wiki:Database_download&amp;diff=104107"/>
		<updated>2017-08-15T14:17:23Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The content of {{SITENAME}} is available for download, provided only that no copyright notices may be removed or altered.  The download format is a zip archive that contains both an XML dump of the wiki pages suitable for loading into your own installation of Mediawiki (or one of the many personal wiki implementations) and a tar file with all of the uploaded images and other objects such as PDF files.&lt;br /&gt;
&lt;br /&gt;
==How to download a copy of {{SITENAME}}==&lt;br /&gt;
Use one of the following URLs to download a copy of the {{SITENAME}} contents:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;{{SERVER}}{{SCRIPTPATH}}/images/M204wiki_full.zip or &lt;br /&gt;
{{SERVER}}{{SCRIPTPATH}}/images/M204wiki_current.zip&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M204wiki_full.zip&#039;&#039;&#039; contains the full {{SITENAME}} content (minus user records, security groups and &amp;quot;talk&amp;quot; pages), including all past versions of each page.  As of September 2014, this file is approximately 104 megabytes of data, and expected to constantly increase in size.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;M204wiki_current.zip&#039;&#039;&#039; contains only the latest version of each {{SITENAME}} page (minus user records, security groups and &amp;quot;talk&amp;quot; pages).  This copy provides the latest version of all material but &#039;&#039;without&#039;&#039; the page history.  As of September 2014, this file is approximately 46 megabytes in size, and it is expected to increase in size but to always remain smaller than the &amp;quot;full&amp;quot; version.  &#039;&#039;&#039;This is probably the copy you want.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Both of the above files are refreshed every night, just after midnight Boston time.&lt;br /&gt;
&lt;br /&gt;
===Updating local copies of {{SITENAME}}===&lt;br /&gt;
If you make changes to a downloaded copy of the {{SITENAME}} content, then of course those changes will be lost if you refresh the downloaded copy; The download and import process is a full refresh, and no incremental option is currently offered.&lt;br /&gt;
&lt;br /&gt;
If you&#039;d like to contribute to {{SITENAME}}, you will need to [[M204wiki:Get M204wiki User ID|obtain a M204wiki User ID]].&lt;br /&gt;
&lt;br /&gt;
==What to do with your copy of {{SITENAME}}==&lt;br /&gt;
Most likely you are downloading a copy of {{SITENAME}} because your &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; site does not allow internet access.  Maintaining a local copy of {{SITENAME}} provides access in a format that can be kept as up-to-date as you like.&lt;br /&gt;
&lt;br /&gt;
If you want to present {{SITENAME}} totally faithful to its original format, you&#039;ll want to install a local copy of Mediawiki, the software currently hosting {{SITENAME}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;http://www.mediawiki.org/wiki/MediaWiki&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are a variety of methods for importing a {{SITENAME}} XML dump and related binary uploads, all explained at the Mediawiki site:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;http://www.mediawiki.org/wiki/Manual:Importing_XML_dumps&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once you have a copy of Mediawiki installed, the simplest way to load the M204wiki content in a single step is via the script in &amp;lt;code&amp;gt;maintenance/importDump.php&amp;lt;/code&amp;gt; (documentation provided in &amp;quot;Using importDump.php, if you have shell access&amp;quot; at the above link). For example, issue a command like the following (this is the file which was downloaded on September 10, 2014):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;php \www\mediawiki\maintenance\importDump.php c:\users\dave\downloads\XC140910.xml&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The above command can be run in Windows, if the MoWeS portable reader was installed in the root directory containing &amp;lt;code&amp;gt;\www&amp;lt;/code&amp;gt; and the current M204wiki was saved in the above &amp;lt;code&amp;gt;downloads&amp;lt;/code&amp;gt; directory.&lt;br /&gt;
&lt;br /&gt;
Alternately, you can forgo the local installation of Mediawiki and use one of the aftermarket readers designed to import and display the Mediawiki XML dump.  The most popular one is Wikitaxi (Windows only; no Linux or OS/X version is provided):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;http://en.wikipedia.org/wiki/Wikipedia:Database_download#WikiTaxi&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A number of other viewing options are explained at the above page.&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 Model 204 homepage: http://model204.rocket-software.com&lt;br /&gt;
&amp;lt;li&amp;gt;Mediawiki: http://www.mediawiki.org&amp;lt;&lt;br /&gt;
&amp;lt;li&amp;gt;Wikitaxi: http://www.wikitaxi.org&lt;br /&gt;
&amp;lt;li&amp;gt;Wikimedia XML dump importing: http://www.mediawiki.org/wiki/Manual:Importing_XML_dumps&lt;br /&gt;
&amp;lt;li&amp;gt;Mediawiki XML dump format: http://meta.wikimedia.org/wiki/Help:Export&lt;br /&gt;
&amp;lt;li&amp;gt;Wikipedia&#039;s information page on using XML database dumps: http://en.wikipedia.org/wiki/Wikipedia:Database_download&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Vector.css&amp;diff=104106</id>
		<title>MediaWiki:Vector.css</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Vector.css&amp;diff=104106"/>
		<updated>2017-08-15T10:24:12Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will affect users of the Vector skin */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* needed to keep content border top from extending too far left  */&lt;br /&gt;
div#mw-head-base { &lt;br /&gt;
   margin-left: 11.5em; /* for Vector centering project  */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* for view history items - less wrapping from Vector centering */&lt;br /&gt;
ul#pagehistory  {&lt;br /&gt;
   font-size: .8em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* line height of items in diff of history pg    */&lt;br /&gt;
table.diff  {&lt;br /&gt;
   line-height: 1.2;   /* was 1.6  */&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* needed to keep content border bottom from extending too far left  */&lt;br /&gt;
div#footer  {   &lt;br /&gt;
   margin-left: 11em;   &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* move sidebar items to left */ &lt;br /&gt;
div#mw-panel.collapsible-nav .portal {&lt;br /&gt;
   margin-left: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#p-logo  { &lt;br /&gt;
   width: 11em; &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* next to give headings greater distinction -- slightly bolder, slightly larger  */ &lt;br /&gt;
&lt;br /&gt;
div#mw-panel div.portal h3  { &lt;br /&gt;
   font-size: .80em;&lt;br /&gt;
   font-weight: 600;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* ************************************************* */&lt;br /&gt;
/* add origami bar for h1, color change for h2, and make room for new logo */&lt;br /&gt;
.mw-body h1  {&lt;br /&gt;
    color: #050D9E;&lt;br /&gt;
    font-family: Arial, Helvetica, sans-serif;&lt;br /&gt;
    background-image: url(images/4/4c/OrigamiBar_87.png);&lt;br /&gt;
    background-repeat: no-repeat;&lt;br /&gt;
    background-position: left bottom;&lt;br /&gt;
    border-bottom: none;&lt;br /&gt;
    height: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.mw-body h2  {   &lt;br /&gt;
    font-family: Arial, Helvetica, sans-serif;&lt;br /&gt;
    color: #000000;&lt;br /&gt;
    border-bottom: 2px solid #AAA;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#content #firstHeading  {&lt;br /&gt;
        padding-bottom: .75em;&lt;br /&gt;
        margin-bottom: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* prep for new logo  */&lt;br /&gt;
div#mw-panel  {&lt;br /&gt;
   top: 100px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#p-logo  {&lt;br /&gt;
   top:-125px;&lt;br /&gt;
   left:-15px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* change/move logo (LocalSettings.php names logo file)  */&lt;br /&gt;
div#p-logo a  {&lt;br /&gt;
   height:110px;&lt;br /&gt;
   width:11em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ************************************************* */&lt;br /&gt;
/* Web team changes   */&lt;br /&gt;
&lt;br /&gt;
/* move, enlarge, change color &amp;amp; font of top row of links  */&lt;br /&gt;
div#p-personal  {&lt;br /&gt;
   top:9px;&lt;br /&gt;
   font-family: &#039;Open Sans&#039;, sans-serif;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#p-personal ul li {&lt;br /&gt;
   font-size:1em;&lt;br /&gt;
   margin-left:2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#p-personal ul li a, &lt;br /&gt;
div#p-personal ul li a:visited, &lt;br /&gt;
div#p-personal ul li a.new, &lt;br /&gt;
div#p-personal ul li a.new.visited {&lt;br /&gt;
   color:#000000;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-head    {&lt;br /&gt;
   top:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-head-base    {&lt;br /&gt;
   height:7em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* space bet top links and row of tabs below  */&lt;br /&gt;
#left-navigation    {&lt;br /&gt;
   margin-top:3.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#right-navigation    {&lt;br /&gt;
   margin-top:3.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* ************************************************* */&lt;br /&gt;
&lt;br /&gt;
/* changes to reduce excess height of tabs (overwrites some of above)  */&lt;br /&gt;
div#mw-head-base    {&lt;br /&gt;
   height:6.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs    {&lt;br /&gt;
   height:2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs span a   {&lt;br /&gt;
   padding-top:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs ul li {&lt;br /&gt;
   line-height:.7em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorTabs li a   {&lt;br /&gt;
   height:1.5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#ca-watch.icon a  {&lt;br /&gt;
   padding-top:2.4em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#mw-head div.vectorMenu h3 {&lt;br /&gt;
   height:2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorMenu h3 span {&lt;br /&gt;
   font-size:.8em;  &lt;br /&gt;
   padding-top:1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div.vectorMenu h3 a {&lt;br /&gt;
   height:2.3em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#p-search form  {&lt;br /&gt;
   margin-top:.2em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#simpleSearch  {&lt;br /&gt;
   height:1.4em;&lt;br /&gt;
   margin-top:0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
div#simpleSearch input#searchInput {&lt;br /&gt;
   padding-top:.25em;&lt;br /&gt;
   font-size:.85em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* **************************************************************** */&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* added to accommodate M&#039;wiki changes between v23 and v28  */&lt;br /&gt;
&lt;br /&gt;
code {&lt;br /&gt;
   border:0px none; &lt;br /&gt;
   padding:0px; &lt;br /&gt;
   color:inherit;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104105</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MediaWiki:Sidebar&amp;diff=104105"/>
		<updated>2017-08-15T10:23:11Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* &amp;amp;nbsp;&lt;br /&gt;
** What&#039;s new|What&#039;s New&lt;br /&gt;
* SEARCH&lt;br /&gt;
* Reference Pages&lt;br /&gt;
** SOUL|SOUL/User Language&lt;br /&gt;
** Category:Model 204 files|Model 204 files&lt;br /&gt;
** Category:System management|System management&lt;br /&gt;
** Lists of classes and methods|Classes/methods&lt;br /&gt;
** Category:Commands|Commands&lt;br /&gt;
** List of Model 204 parameters|Parameters&lt;br /&gt;
** SOUL $functions|$Functions&lt;br /&gt;
** M204wiki main page#Messages|Messages&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Categories&amp;amp;offset=&amp;amp;limit=500|Categories&lt;br /&gt;
&lt;br /&gt;
* Product Information&lt;br /&gt;
** Model_204|Model 204&lt;br /&gt;
** Model 204 add-ons and applications|Add-ons and applications&lt;br /&gt;
** Release_notes|Release notes&lt;br /&gt;
** Installation|Installation&lt;br /&gt;
** Model 204 documentation|PDF manuals&lt;br /&gt;
&lt;br /&gt;
* Help-Editing&lt;br /&gt;
** Contacting Rocket Software Technical Support|Technical Support&lt;br /&gt;
** Searching_M204wiki|Searching tips&lt;br /&gt;
** http://sirius-software.com/search_methods|Method search&lt;br /&gt;
** Updating_M204wiki|Editing guide&lt;br /&gt;
&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
&lt;br /&gt;
* Toolbox&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:WhatLinksHere&amp;amp;target={{FULLPAGENAMEE}}|What links here&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:Upload|Upload file&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title=Special:SpecialPages|Special pages&lt;br /&gt;
&lt;br /&gt;
* Print-Export&lt;br /&gt;
** {{SERVER}}{{SCRIPTPATH}}/index.php?title={{FULLPAGENAMEE}}&amp;amp;printable=yes|Print this page&lt;br /&gt;
&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93500</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93500"/>
		<updated>2016-08-01T14:42:02Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Debugger Client Build 65 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SoftSpy Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger Client version information display on mainframe===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.  An error message is also shown by the client.&lt;br /&gt;
====Debugger Client Build 65====&lt;br /&gt;
Shortly after the GA release of Model 204 Version 7.7, Build 65 of the debugger client will be released.  It has better error message display for various connection errors and also for MINDEBCL violations.  Although earlier client builds work fine with M204 7.7 and MINDEBCL, we encourage customers to upgrade to Build 65 when it is released to get the improved error reporting.  Build 65 also will work fine with M204 releases prior to 7.7.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93499</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93499"/>
		<updated>2016-08-01T14:36:14Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Debugger updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SoftSpy Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger Client version information display on mainframe===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.  An error message is also shown by the client.&lt;br /&gt;
====Debugger Client Build 65====&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93498</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93498"/>
		<updated>2016-08-01T14:35:23Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Debugger version information display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SoftSpy Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger Client version information display on mainframe===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.  An error message is also shown by the client.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93497</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93497"/>
		<updated>2016-08-01T14:34:35Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Debugger updates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===SoftSpy Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.  An error message is also shown by the client.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93496</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93496"/>
		<updated>2016-08-01T14:27:21Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.  An error message is also shown by the client.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93495</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93495"/>
		<updated>2016-08-01T14:24:54Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93494</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93494"/>
		<updated>2016-08-01T14:03:12Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and try to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
The debug session will be rejected.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93493</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93493"/>
		<updated>2016-08-01T14:01:36Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and then attempt to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: &#039;&#039;xx&#039;&#039; &amp;lt; MINDEBCL: &#039;&#039;yy&#039;&#039; debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93492</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93492"/>
		<updated>2016-08-01T13:59:52Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and then attempt to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93491</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93491"/>
		<updated>2016-08-01T13:59:11Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and then attempt to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66   &lt;br /&gt;
                  debugger client connection refused  &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93490</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93490"/>
		<updated>2016-08-01T13:58:00Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
If you set &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; to a positive value and then attempt to use a version of the debugger client whose build number is less than MINDEBCL, you will see the following error on the Audit Trail, and on the terminal if you are using &amp;lt;code&amp;gt;TN3270 DEBUG ON&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93489</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93489"/>
		<updated>2016-07-31T12:36:42Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 as build 63.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93488</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93488"/>
		<updated>2016-07-31T12:36:19Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Since client builds before 64 do not transmit their build number, the mainframe side views all client versions prior to build 64 and build 63.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93487</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93487"/>
		<updated>2016-07-31T12:33:58Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93486</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93486"/>
		<updated>2016-07-31T12:33:25Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
Build 64 (and up) of the debugger client transmits its build number back to mainframe side when a debugging session is initiated.  The mainframe side uses this information to construct the MSIR.1077 message:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 3, client: Build: 65, Tag: 1 (Janus debugger session)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93485</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93485"/>
		<updated>2016-07-30T21:46:14Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;code&amp;gt;Help-&amp;gt;About&amp;lt;/code&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;code&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93484</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93484"/>
		<updated>2016-07-30T21:44:20Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Help-&amp;gt;About&amp;lt;/span&amp;gt;.&lt;br /&gt;
On Debugger client build 65 and up, you may also get the build number from the client function &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;amp;&amp;amp;buildNumber()&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93483</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93483"/>
		<updated>2016-07-30T21:41:48Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Help-&amp;gt;About&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93482</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93482"/>
		<updated>2016-07-30T21:41:12Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
*&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Help-&amp;gt;About&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93481</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93481"/>
		<updated>2016-07-30T21:40:36Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
You may also view the build number of the client at any time by selecting &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;Help-&amp;gt;About&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93480</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93480"/>
		<updated>2016-07-30T21:33:37Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93479</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93479"/>
		<updated>2016-07-30T21:32:53Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger workstation client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93478</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93478"/>
		<updated>2016-07-30T21:31:59Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the Debugger Client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain as many as 127 characters. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature includes support for: &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;LOGON&amp;lt;/var&amp;gt; command, when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;LOGCTL C USERID&amp;lt;/var&amp;gt; command&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var&amp;gt;$Sir_Login&amp;lt;/var&amp;gt; function&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;Long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only; it does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Large checkpoint data sets===&lt;br /&gt;
Support is added for large data sets for the Model&amp;amp;nbsp;204 Checkpoint facility [[Checkpoints: Storing before-images of changed pages#Creating the CHKPOINT.2FCHKPNT .28and CHKPNTS.29 data set|CHKPOINT or CHKPNTS data sets]].&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New System methods: FastUnload and FastUnloadTask====&lt;br /&gt;
The &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class work exactly like their same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; object on which to operate.&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
&amp;lt;!-- PDS-5870 --&amp;gt;&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
This functionality also requires:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The V7.7 &amp;lt;var&amp;gt;FastUnload&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;FastUnloadTask&amp;lt;/var&amp;gt; methods in the &amp;lt;var&amp;gt;System&amp;lt;/var&amp;gt; class, which work exactly like their&lt;br /&gt;
same-named &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; counterparts but without a &amp;lt;var&amp;gt;Recordset&amp;lt;/var&amp;gt; to operate on.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The FUEL code for the Fast/Unload request to contain the &amp;lt;var&amp;gt;[[Fast/Unload Extraction Language (FUEL)#OPEN datafile|OPEN]]&amp;lt;/var&amp;gt; statement, just as in standalone Fast/Unload (&amp;lt;code&amp;gt;PGM=FUNLOAD&amp;lt;/code&amp;gt;). &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The &amp;lt;var&amp;gt;[[Fast/Unload program parameters#NOEnq|NOENQ]]&amp;lt;/var&amp;gt; parameter to become meaningful under FUSI. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This will cause Fast/Unload to process the Model&amp;amp;nbsp;204 file (or files, if multiple files are specified on the FUEL &amp;lt;var&amp;gt;OPEN&amp;lt;/var&amp;gt; statement) without the shared DASD enqueuing feature, and thus the processing of the file(s) is read-only at a physical I/O level. &amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Here is an example fragment of read-only processing using FUSI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;text to %fuel = new&lt;br /&gt;
   OPEN DATAFIL&lt;br /&gt;
   FOR EACH RECORD&lt;br /&gt;
   PUT ...&lt;br /&gt;
   ...&lt;br /&gt;
   OUTPUT&lt;br /&gt;
   ...&lt;br /&gt;
   END FOR&lt;br /&gt;
end text&lt;br /&gt;
&lt;br /&gt;
%(system):FastUnload(input=%fuel, ..., parameters = &#039;NOENQ, ...&#039;)&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement syntax is added to insert a one-byte or two-byte binary integer, containing the byte length of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; value, in the output stream before the value. &lt;br /&gt;
&lt;br /&gt;
This addition provides better readability and lower CPU cost than the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;AS&amp;lt;/var&amp;gt; clause of a &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; statement will now allow the &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function as PUT &amp;quot;info&amp;quot; argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;info&amp;lt;/var&amp;gt; argument. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use this more readable and similarly efficient equivalent:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===#STRIP function enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP fourth argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; lets you designate a &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; first-argument value to be nullified. That is, when the value of the first argument is equal to the value of the fourth argument, &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; returns a null string. You might use this optional argument for fields that have a &amp;quot;placeholder value&amp;quot; or &amp;quot;default value&amp;quot; which is not actual data.&lt;br /&gt;
&lt;br /&gt;
This argument can be conveniently combined with the&lt;br /&gt;
new &amp;lt;var&amp;gt;[[#COUNTED keyword for AS clause|COUNTED]]&amp;lt;/var&amp;gt; option for &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt;, because a length-prefixed format allows a reliable, unambiguous representation of a series of null strings. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Combining the new fourth argument, the new &amp;lt;var&amp;gt;COUNTED&amp;lt;/var&amp;gt; option, and the new [[#optn|N option]] of the second argument provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.STRING(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.STRING(%OCC), &#039;N&#039;, , &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt;, and &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; strip-type options are added to the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option lets you strip leading zeroes from numeric value output.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li id=&amp;quot;optn&amp;quot;&amp;gt;The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option prevents leading-character stripping, trailing-character stripping, or both. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For an example, see [[#New #STRIP fourth argument|New #STRIP fourth argument]], above.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The new &amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt; option strips all but one leading &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt;-argument characters from the #STRIP first argument returned value, if that value contains a non-zero length string of only &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;pad&amp;lt;/var&amp;gt; characters. &lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;P&amp;lt;/var&amp;gt;, together with other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, provides a simpler alternative to FUEL code such as the following, which outputs a numeric value with leading zeroes stripped:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
   PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
   %VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
   IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
      %VAL = &#039;0&#039;&lt;br /&gt;
   END IF&lt;br /&gt;
   %LEN = #LEN(%VAL)&lt;br /&gt;
   PUT %LEN AS FIXED(2)&lt;br /&gt;
   PUT %VAL&lt;br /&gt;
END IF&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
You can replace the above statements by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;P&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&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; A FUEL &amp;lt;var&amp;gt;IF&amp;lt;/var&amp;gt; statement oddity is that the precedence of &amp;lt;var&amp;gt;AND&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;OR&amp;lt;/var&amp;gt; are the same.&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;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===JANUS WEB (rule changes)===&lt;br /&gt;
&amp;lt;!-- PDS-5984 --&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS WEB]]&amp;lt;/var&amp;gt; command&lt;br /&gt;
&lt;br /&gt;
===LOGONCP command (LOGON and Change Password)===&lt;br /&gt;
Because colons are now valid password characters, this command replaces the former technique for changing passwords using &amp;lt;var&amp;gt;LOGON&amp;lt;/var&amp;gt;. That technique let you specify &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpassword&amp;lt;/var&amp;gt;&amp;lt;tt&amp;gt;:&amp;lt;/tt&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;newpassword&amp;lt;/var&amp;gt; in response to the &amp;lt;code&amp;gt;M204.0347: Password&amp;lt;/code&amp;gt; prompt. With the &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt; command, you are prompted and re-prompted for the new password after successful logon:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;b&amp;gt;LOGONCP USER1&amp;lt;/b&amp;gt;&lt;br /&gt;
M204.0347: Password  &lt;br /&gt;
M204.0353: USER1     USER1    login  16 JUL 29  12.38 &lt;br /&gt;
M204.2633: Enter new password    &lt;br /&gt;
M204.2633: Re-enter new password &lt;br /&gt;
M204.0350: New password accepted &lt;br /&gt;
M204.0345: CCASTAT updated &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;var&amp;gt;LOGINCP&amp;lt;/var&amp;gt; is a synonym for &amp;lt;var&amp;gt;LOGONCP&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
The new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum [[Debugger]] Client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
===SCHDOFLS (new)===&lt;br /&gt;
For z/OS system customers using &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;204&amp;lt;/var&amp;gt; zIIP support, the new &amp;lt;var&amp;gt;[[SCHDOFLS parameter|SCHDOFLS ]]&amp;lt;/var&amp;gt; system parameter helps you to regulate the zIIP processor workload. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;var&amp;gt;SCHDOFLS&amp;lt;/var&amp;gt; specifies both of the following: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The target number of threads on the zIIP offload queue before a non-SRB MP subtask is dispatched to help the zIIP subtasks. &amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;If started, how aggressively non-SRB MP subtasks pick up work from the zIIP offload queue. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This parameter applies to z/OS only.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large &amp;lt;var&amp;gt;[[LOUTPB parameter|LOUTPB]]&amp;lt;/var&amp;gt; value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed, even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, &amp;lt;var&amp;gt;LOUTPB&amp;lt;/var&amp;gt; was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a &amp;lt;code&amp;gt;MODEL 6&amp;lt;/code&amp;gt; screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
===ECF calls to the IBM IDCAMS utility===&lt;br /&gt;
The new &amp;lt;var&amp;gt;IDCAMS&amp;lt;/var&amp;gt; option for the &amp;lt;var&amp;gt;External Module&amp;lt;/var&amp;gt; statement of the Model&amp;amp;nbsp;204 [[External Call Facility]] lets a SOUL program invoke IDCAMS without using the SYSIN and SYSPRINT DD statements. Instead, the Model&amp;amp;nbsp;204 Universal Buffer is used to pass the input lines and receive the output lines from IDCAMS.&lt;br /&gt;
&lt;br /&gt;
==Debugger updates==&lt;br /&gt;
&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, Debugger build 64, the most recent version of the Debugger Client sends its build and tag number to the mainframe, and this information is displayed in message [[MSIR.1077]].&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the Debugger Client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the Debugger Client===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, lets you specify the minimum build number of a  Debugger Client that can be used with an Online.&lt;br /&gt;
Normally, when you use the Tn3270 or Janus Debugger, no restrictions are placed on which version of the Debugger Work Station client GUI is used.  Versions of the client are identified by a build number, which is displayed in the Audit Tab when the client starts:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;2016 07 30 17:21:47    The Rocket Software Debugger Client&lt;br /&gt;
2016 07 30 17:21:47    Build: 65 (01 August 2016) Tag: 1 GA&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93468</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93468"/>
		<updated>2016-07-29T19:30:51Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. The purpose of this parameter is to allow a system manager to ensure upgrades to the Janus/TN3270 debugger client are done.&lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
Here is an audit trail fragment showing this error (via SIRSCAN):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;13303016 2  1 ER MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66   &lt;br /&gt;
                  debugger client connection refused  &lt;br /&gt;
13303016 2  1 AD MSIR.0929: Janus/Tn3270 Debugger worker terminated: 400&lt;br /&gt;
                  Client version too old, please upgrade&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93467</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93467"/>
		<updated>2016-07-29T17:33:20Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
Here is an audit trail fragment showing this error (via SIRSCAN):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;13303016 2  1 ER MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66   &lt;br /&gt;
                  debugger client connection refused  &lt;br /&gt;
13303016 2  1 AD MSIR.0929: Janus/Tn3270 Debugger worker terminated: 400&lt;br /&gt;
                  Client version too old, please upgrade&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93466</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93466"/>
		<updated>2016-07-29T17:32:35Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
Here is an audit trail fragment showing this error (via SIRSCAN):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;13303016 2  1 ER MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 500   &lt;br /&gt;
                  debugger client connection refused  &lt;br /&gt;
13303016 2  1 AD MSIR.0929: Janus/Tn3270 Debugger worker terminated: 400&lt;br /&gt;
                  Client version too old, please upgrade&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93465</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93465"/>
		<updated>2016-07-29T17:11:25Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93464</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93464"/>
		<updated>2016-07-29T17:10:23Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
 ***  MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
 ***  MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
 ***  1  MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
 ***  2  MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93463</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93463"/>
		<updated>2016-07-29T17:09:36Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported&lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
 ***  MSIR.0942: Debugger GUI port defaulted to  8081 &lt;br /&gt;
***  MSIR.0942: Debugger Worker port defaulted to 3226              &lt;br /&gt;
***  1  MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused&lt;br /&gt;
 ***  2  MSIR.0914: Debugger Error: Please upgrade your client&lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93462</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93462"/>
		<updated>2016-07-29T17:06:55Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported                                       &lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
***  MSIR.0942: Debugger GUI port defaulted to 8081                                                 &lt;br /&gt;
***  MSIR.0942: Debugger Worker port defaulted to 3226                                              &lt;br /&gt;
***  1  MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused      &lt;br /&gt;
***  2  MSIR.0914: Debugger Error: Please upgrade your client                                       &lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93461</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93461"/>
		<updated>2016-07-29T17:05:27Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
&lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command and get a MINDEBCL rejection, a message is displayed on the terminal as well.  For example:&lt;br /&gt;
&amp;lt;p style=&amp;quot;code&amp;quot;&amp;gt;R MINDEBCL 66                                                                                      &lt;br /&gt;
MINDEBCL  66          Minimum debugger client build supported                                       &lt;br /&gt;
TN3270 DEBUG ON DEBONLY 10.5.3.76                                                                &lt;br /&gt;
***  MSIR.0942: Debugger GUI port defaulted to 8081                                                 &lt;br /&gt;
***  MSIR.0942: Debugger Worker port defaulted to 3226                                              &lt;br /&gt;
***  1  MSIR.1079: Debugger Client Build: 65 &amp;lt; MINDEBCL: 66 debugger client connection refused      &lt;br /&gt;
***  2  MSIR.0914: Debugger Error: Please upgrade your client                                       &lt;br /&gt;
ULSPFGLW&amp;gt;         &lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93459</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93459"/>
		<updated>2016-07-29T16:07:18Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command, a message is displayed on the terminal as well.&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93458</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93458"/>
		<updated>2016-07-29T16:06:52Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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;--&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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed by the client and written to the audit trail that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command, a message is displayed on the terminal as well.&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93457</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93457"/>
		<updated>2016-07-29T16:05:28Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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;--&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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value in the range 0-500 of the minimum [[Debugger]] Client build number that can be used with the Online in which it was set. A value of 0 means that any build of the Debugger Client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the Client build number is earlier than the &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; setting, the server rejects the Debugger Client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed (and written to the audit trail) that the Debugger Client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
If you are using the &amp;lt;var&amp;gt;TN3270|SIRIUS DEBUG ON&amp;lt;/var&amp;gt; command, a message is displayed on the terminal as well.&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93409</id>
		<title>MINDEBCL parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MINDEBCL_parameter&amp;diff=93409"/>
		<updated>2016-07-25T22:30:54Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:MINDEBCL 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;--&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&#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 V7.7&amp;lt;/var&amp;gt;&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
==Description==&lt;br /&gt;
The &amp;lt;var&amp;gt;MINDEBCL&amp;lt;/var&amp;gt; parameter holds an integer value of the minimum debugger client build number that can be used with the Online in which it was set. A value of 0 means that any build of the debugger client is accepted. &lt;br /&gt;
&lt;br /&gt;
If the client build number is earlier than the MINDEBCL setting, the server rejects the debugger client, and the request is processed as if debugging were not in place.&lt;br /&gt;
A message is displayed (and written to the audit trail) that the debugger client does not meet minimum requirements and needs to be updated.  &lt;br /&gt;
If you are using the TN3270/Sirius DEBUG ON command, a message is displayed on the terminal as well.&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93408</id>
		<title>MSIR.1077 Begin debug session, user (usernum), client: Build: (buildnum), Tag: (tagnum) ((debugname) debugger session)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93408"/>
		<updated>2016-07-25T22:29:21Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This informational message displays the following about a Janus/Tn3270  Debugger session: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Model 204 User number of the thread being debugged&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Build number and tag number of the workstation client being used&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Debugger in use (Janus or Tn3270)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 1, client: Build: 64, Tag: 2 (Janus Debugger session)&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This message is available as of Model&amp;amp;nbsp;204 version 7.7. Debugger Client information is available for Client build 64 or later. &lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; parameter is set to a higher build number than the build being used, this message is not produced.&lt;br /&gt;
&lt;br /&gt;
{{Template:MSIR.1077 footer}}&lt;br /&gt;
[[Category:Sirius Mods messages]] [[Category:MSIR.1000 - MSIR.1199]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93407</id>
		<title>MSIR.1077 Begin debug session, user (usernum), client: Build: (buildnum), Tag: (tagnum) ((debugname) debugger session)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93407"/>
		<updated>2016-07-25T22:28:59Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This informational message displays the following information about a Janus/Tn3270  Debugger session: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Model 204 User number of the thread being debugged&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Build number and tag number of the workstation client being used&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Debugger in use (Janus or Tn3270)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 1, client: Build: 64, Tag: 2 (Janus Debugger session)&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This message is available as of Model&amp;amp;nbsp;204 version 7.7. Debugger Client information is available for Client build 64 or later. &lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; parameter is set to a higher build number than the build being used, this message is not produced.&lt;br /&gt;
&lt;br /&gt;
{{Template:MSIR.1077 footer}}&lt;br /&gt;
[[Category:Sirius Mods messages]] [[Category:MSIR.1000 - MSIR.1199]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93406</id>
		<title>MSIR.1077 Begin debug session, user (usernum), client: Build: (buildnum), Tag: (tagnum) ((debugname) debugger session)</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MSIR.1077_Begin_debug_session,_user_(usernum),_client:_Build:_(buildnum),_Tag:_(tagnum)_((debugname)_debugger_session)&amp;diff=93406"/>
		<updated>2016-07-25T22:12:27Z</updated>

		<summary type="html">&lt;p&gt;Glw: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This informational message displays the following information about a Janus/Tn328  Debugger Client session: &lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;User number&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Build number and tag number &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Debugger in use (Janus or Tn3270)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MSIR.1077: Begin debug session, user 1, client: Build: 64, Tag: 2 (Janus Debugger session)&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
This message is available as of Model&amp;amp;nbsp;204 version 7.7. Debugger Client information is available for Client build 64 or later. &lt;br /&gt;
&lt;br /&gt;
If the &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt; parameter is set to a higher build number than the build being used, this message is not produced.&lt;br /&gt;
&lt;br /&gt;
{{Template:MSIR.1077 footer}}&lt;br /&gt;
[[Category:Sirius Mods messages]] [[Category:MSIR.1000 - MSIR.1199]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93383</id>
		<title>Release notes for Model 204 version 7.7</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Release_notes_for_Model_204_version_7.7&amp;diff=93383"/>
		<updated>2016-07-22T19:58:56Z</updated>

		<summary type="html">&lt;p&gt;Glw: /* Enforcing use of a minimum version of the client debugger */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;These release notes list the enhancements and other changes contained in Model 204 version 7.7.&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;
These release notes list the enhancements and other changes contained in Model 204 version 7.7, &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.7 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 features==&lt;br /&gt;
&lt;br /&gt;
===Long password support===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Logon passwords, maintained in CCASTAT, can now contain up to 127 characters. &amp;lt;br /&amp;gt;This feature includes support for: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;LOGON command when used to change a password using &amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;oldpw:newpw&amp;lt;/var&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;LOGCTL C USERID command&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;$Sir_Login function&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Mixed-case passwords (if the &amp;lt;var&amp;gt;[[CUSTOM parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter includes the value 11)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;CCASTAT data sets created with or without password expiration support&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;long passwords (password phrases) for use with the external security interfaces: ACF2, RACF, or TOPSECRET&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;Note:&amp;lt;/b&amp;gt; This feature is available for logon passwords only and does not apply to file passwords.&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p&amp;gt;No changes to CCASTAT and no new CCAIN parameters are required to enable long password support.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Operating system and hardware requirements==&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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/OS version 1.07 through [[IBM z/OS 2.2 PTF requirement|2.2]].&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 [[Model 204 technical specifications#z/OS 2.1 compatibility issues|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.7 operates as an APF authorized load module, as required by many 7.7 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&amp;lt;/b&amp;gt; &lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VM version 5.4 through 6.3.&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&amp;lt;/b&amp;gt;&lt;br /&gt;
  &amp;lt;ul&amp;gt;&lt;br /&gt;
  &amp;lt;li&amp;gt;Versions supported: z/VSE version 5.1 and 5.2.&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.7 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;
===Model 204 compatibility with operating systems===&lt;br /&gt;
&lt;br /&gt;
For information on Model 204 certification with IBM operating systems, see [[Model 204 system requirements]].&lt;br /&gt;
&lt;br /&gt;
==SOUL (User Language) enhancements==&lt;br /&gt;
 &lt;br /&gt;
===New and changed classes and methods===&lt;br /&gt;
&lt;br /&gt;
====New default certificate-signing algorithm====&lt;br /&gt;
[[Janus Network Security]] as well as the &amp;lt;var&amp;gt;[[Stringlist_class|StringList]]&amp;lt;/var&amp;gt; methods &amp;lt;var&amp;gt;[[AppendSignedCertificate (Stringlist function)|AppendSignedCertificate]]&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;[[AppendSignedClientCertificate (Stringlist function)|AppendSignedClientCertificate]]&amp;lt;/var&amp;gt; methods have changed their default signature algorithm from SHA-1 to SHA-256.&lt;br /&gt;
&lt;br /&gt;
This change is propagated by zap maintenance to versions 7.6 and 7.5 of Model&amp;amp;nbsp;204.&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;SSL&amp;quot; String methods====&lt;br /&gt;
These new methods are added:&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;Method&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Description&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA384digest (String function)|SHA384digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-384 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;[[SHA512digest (String function)|SHA512digest]]&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;SHA-512 digest&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====New LoadMsgctl method====&lt;br /&gt;
The new &amp;lt;var&amp;gt;[[LoadMsgctl (XmlDoc subroutine)|LoadMsgctl]]&amp;lt;/var&amp;gt; method lets you view what &amp;lt;var class=&amp;quot;product&amp;quot;&amp;gt;Model&amp;amp;nbsp;&amp;lt;/var&amp;gt; messages have been affected by &amp;lt;var&amp;gt;[[MSGCTL command|MSGCTL]]&amp;lt;/var&amp;gt; commands. The method also displays the current attributes of those messages. &amp;lt;!-- PDS-6119 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In addition, to better understand the effect of the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; command, the [[RKTools]] &amp;lt;code&amp;gt;SIRIUS&amp;lt;/code&amp;gt; file will contain a procedure you can use to display the &amp;lt;var&amp;gt;MSGCTL&amp;lt;/var&amp;gt; commands that have been specified in the Online session.&lt;br /&gt;
&lt;br /&gt;
====New DigestAlgorithm values====&lt;br /&gt;
Values &amp;lt;var&amp;gt;SHA384&amp;lt;/var&amp;gt; and &amp;lt;var&amp;gt;SHA512&amp;lt;/var&amp;gt; are added to the [[DigestAlgorithm enumeration]].&lt;br /&gt;
&lt;br /&gt;
====Method variable invocation====&lt;br /&gt;
[[Method variables]] can now be invoked using &amp;lt;code&amp;gt;%var()&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;%obj:var()&amp;lt;/code&amp;gt;, as in JavaScript.&lt;br /&gt;
&lt;br /&gt;
====X509CertificateToXmlDoc method support for unknown elements====&lt;br /&gt;
A certificate&#039;s &amp;lt;code&amp;gt;&amp;amp;lt;RelativeDistinguishedName&amp;amp;gt;&amp;lt;/code&amp;gt; element can contain a wide variety of attributes that &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; does not understand. Under Model&amp;amp;nbsp;204 7.6 and earlier, this results in a parse exception, but under 7.7 and later, such attributes are added as &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; elements with an &amp;lt;code&amp;gt;&amp;amp;lt;ObjectIdentifier&amp;amp;gt;&amp;lt;/code&amp;gt; element that indicates the ASN.1 object identifier. &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; You are advised not to refer to such an &amp;lt;code&amp;gt;&amp;amp;lt;unknown&amp;amp;gt;&amp;lt;/code&amp;gt; element in your programs, since future updates to the &amp;lt;var&amp;gt;X509CertificateToXmlDoc&amp;lt;/var&amp;gt; method may add support for the element, in which case the element name will change to a proper name. If such an element is of interest, [[Contacting Rocket Software Technical Support|contact Rocket Software technical support]]. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New XHTML entities for square-bracket characters===&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt; and &amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt; are newly supported as [[XML processing in Janus SOAP#Entity references|XMHTL entities]] (notably in the [[U (String function)#brackets|U method]]). This provides a better approach to specifying square brackets (such as for [[XPath#Some notes on XPath usage|XPath]] expressions) than the formerly recommended use of &amp;lt;var&amp;gt;Static&amp;lt;/var&amp;gt; %variables initialized to the correct values. &lt;br /&gt;
&lt;br /&gt;
For example, to produce an XPath expression equivalent to the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;*/pers[@name=&amp;quot;Hector&amp;quot;] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
Code like this was recommended under version 7.5 of Model&amp;amp;nbsp;204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%lsq is string len 1 static initial(&#039;&amp;amp;amp;#x5B;&#039;):u&lt;br /&gt;
%rsq is string len 1 static initial(&#039;&amp;amp;amp;#x5D;&#039;):u&lt;br /&gt;
   . . . &lt;br /&gt;
%myXmldoc:print(&#039;*/pers&#039; %lsq &#039;@name=&amp;quot;Hector&amp;quot;&#039; %rsq) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under version 7.7, you can instead use the new entities and avoid the declarations, concatenations, and runtime conversions required above:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%myXmldoc:print(&#039;*/pers&amp;lt;b&amp;gt;&amp;amp;lsqb;&amp;lt;/b&amp;gt;@name=&amp;quot;Hector&amp;quot;&amp;lt;b&amp;gt;&amp;amp;rsqb;&amp;lt;/b&amp;gt;&#039;:u)&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Procedure names may begin with zero===&lt;br /&gt;
Formerly, a procedure name was not allowed to begin with a zero or a minus sign. As of version 7.7, a procedure name can begin with a zero, and alphanumeric procedure names can begin with a minus sign character (-), which is interpreted as a hyphen. For example, &amp;lt;code&amp;gt;00123&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-1myproc&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;-myproc&amp;lt;/code&amp;gt; are valid procedure names. &amp;lt;br /&amp;gt;See the &amp;lt;var&amp;gt;[[PROCEDURE command|PROCEDURE]]&amp;lt;/var&amp;gt; command for details.&lt;br /&gt;
&lt;br /&gt;
==Janus product enhancements==&lt;br /&gt;
&lt;br /&gt;
===Janus Network Security ciphers===&lt;br /&gt;
Support for certificates signed using SHA-384 and SHA-512 are added to [[Janus Network Security]]. This makes it possible to generate certificates signed with these algorithms and to accept server or client certificates signed with these algorithms.&lt;br /&gt;
&lt;br /&gt;
===Janus Web Server default rules===&lt;br /&gt;
Janus Web used to automatically implement [[Defining Web rules#Notes|two web server ON rules]] to set up access to the Janus Web sample home page and to demonstration application procedures. These rules were removed in version 7.6 (by zap maintenance) and are not present in version 7.7.&lt;br /&gt;
&lt;br /&gt;
Also, 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 to the following to force login for any URL on a Janus Web port:&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; ALLOW * USER *&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
This rule applies, in version 7.6 (by zap maintenance) and in version 7.7, unless overridden by user-added rules.&lt;br /&gt;
&lt;br /&gt;
==Fast/Unload enhancements==&lt;br /&gt;
&lt;br /&gt;
===Integration of Fast/Unload with the Online load module ===&lt;br /&gt;
&amp;lt;!-- PDS-5869 --&amp;gt;&lt;br /&gt;
Starting with version 7.7 of Model 204, Fast/Unload is entirely linked with the Model 204 Online load module, maintenance zaps applied to the Online load module will include all Fast/Unload maintenance, and the version number of Fast/Unload is the same as the version number of Model&amp;amp;nbsp;204. &lt;br /&gt;
&lt;br /&gt;
Previously (for all versions of Fast/Unload through version 4.7), the standalone FUNLOAD load module was downloaded and linked separately and independently from Model 204.  &lt;br /&gt;
&lt;br /&gt;
===zIIP exploitation===&lt;br /&gt;
If you have an authorization zap that contains the base zIIP support product of Model&amp;amp;nbsp;204 and contains the Fast/Unload HPO product, your standalone PGM=FUNLOAD jobs will run on a zIIP processor, if one is available. See [[Fast/Unload overview#fuhpo|Fast/Unload HPO]].&lt;br /&gt;
&lt;br /&gt;
===Physical read-only file access with FUSI===&lt;br /&gt;
The [[Fast/Unload SOUL Interface]] (FUSI) will support read-only file access at the physical I/O level.&lt;br /&gt;
&lt;br /&gt;
===PUT statement enhancements===&lt;br /&gt;
&amp;lt;!-- PDS-6107 --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Length prefix for PUT output values====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New PUT statement syntax is added so that a one-byte or two-byte binary integer, containing the byte length of the PUT value, is placed in the output stream before the value. The purpose of this addition is to improve the readability and CPU cost over the techniques currently used to achieve the same result.&lt;br /&gt;
&lt;br /&gt;
====New #STRIP argument====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new fourth argument of #STRIP&lt;br /&gt;
&lt;br /&gt;
====New #STRIP type options====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;LK&amp;lt;/var&amp;gt; option of the &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; function, together with the other new Fast/Unload &amp;lt;var&amp;gt;PUT&amp;lt;/var&amp;gt; features, can be used to strip leading zeroes from numeric value output.&lt;br /&gt;
&lt;br /&gt;
This allows FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.NUMBER(%OCC)&lt;br /&gt;
IF %VAL EQ &#039;_&#039; OR VAL EQ &#039;&#039; THEN&lt;br /&gt;
PUT 0 AS FIXED(2)&lt;br /&gt;
ELSE&lt;br /&gt;
%VAL = #STRIP(%VAL, &#039;L&#039;, &#039;0&#039;)&lt;br /&gt;
IF %VAL EQ &#039;&#039; THEN&lt;br /&gt;
%VAL = &#039;0&#039;&lt;br /&gt;
END IF&lt;br /&gt;
%LEN = #LEN(%VAL)&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL&lt;br /&gt;
END IF &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
To be replaced by the more readable and efficient: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.NUMBER(%OCC), &#039;LK&#039;, &#039;0&#039;, &#039;_&#039;) AS COUNTED2&lt;br /&gt;
&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The new &amp;lt;var&amp;gt;N&amp;lt;/var&amp;gt; option of &amp;lt;var&amp;gt;#STRIP&amp;lt;/var&amp;gt; . . .&lt;br /&gt;
&lt;br /&gt;
====COUNTED keyword for AS clause====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
The AS clause of a PUT statement will now allow the COUNTED keyword:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;... PUT info .. AS [type] COUNTED[1|2] &amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
For example, &amp;lt;code&amp;gt;PUT FIRST.NAME AS COUNTED2&amp;lt;/code&amp;gt; puts the first occurrence of field &amp;lt;code&amp;gt;FIRST.NAME&amp;lt;/code&amp;gt; as a string value, preceded by a two-byte binary integer containing the length of that occurrence.&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
This feature will allow FUEL code such as the following: &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = ITEM.CODE(%OCC)&lt;br /&gt;
%LEN = #LEN( %VAL )&lt;br /&gt;
PUT %LEN AS FIXED(2)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To be replaced by the more readable and more efficient:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT %VAL AS COUNTED2 &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====#function call as &amp;quot;info&amp;quot; phrase====&lt;br /&gt;
&amp;lt;!-- PDS-5871 --&amp;gt;&lt;br /&gt;
New in this version, a #function call is allowed as the &amp;quot;info&amp;quot; phrase. For example, instead of FUEL code such as the following:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;%VAL = #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0)&lt;br /&gt;
PUT %VAL &amp;lt;/p&amp;gt;&lt;br /&gt;
You can use the more readable (similarly efficient):&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;PUT #STRIP(ITEM.VALUE(%OCC), &#039;L&#039;, 0) &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===New #VIEW function===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[Fast/Unload standard functions#.23VIEW204: Value of Model 204 parameter|#VIEW204]]&amp;lt;/var&amp;gt; function returns the value of the [[List of Model 204 parameters|Model&amp;amp;nbsp;204 parameter]] you specify as an argument.&lt;br /&gt;
&lt;br /&gt;
==New and changed commands==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by command name&lt;br /&gt;
     ******************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
===DISPLAY MODMAP (new parameter: &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[DISPLAY MODMAP command|DISPLAY MODMAP]]&amp;lt;/var&amp;gt; command now has a &amp;lt;var&amp;gt;UEX&amp;lt;/var&amp;gt; parameter that displays the entry point addresses of all defined user exits.&lt;br /&gt;
&lt;br /&gt;
===JANUS DEFINE (new parameter: &amp;lt;var&amp;gt;SSLTRUST&amp;lt;/var&amp;gt;)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[JANUS DEFINE]]&amp;lt;/var&amp;gt; command now has an &amp;lt;var&amp;gt;[[SSLTRUST (JANUS DEFINE parameter)|SSLTRUST]]&amp;lt;/var&amp;gt; parameter that indicates that the certificate presented by the other side of a TLS/SSL connection is to be accepted even if it is not signed by a known certifying authority.&lt;br /&gt;
&lt;br /&gt;
===ZHPF (new parameters: &amp;lt;i&amp;gt;filename&amp;lt;/i&amp;gt; and *)===&lt;br /&gt;
The &amp;lt;var&amp;gt;[[ZHPF command|ZHPF]]&amp;lt;/var&amp;gt; command checks zHPF ability for the file currently opened by the user. &lt;br /&gt;
&lt;br /&gt;
As of Model 204 7.7, you can specify parameters to &amp;lt;var&amp;gt;ZHPF&amp;lt;/var&amp;gt;:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;var class=&amp;quot;term&amp;quot;&amp;gt;filename&amp;lt;/var&amp;gt;, to check a specific file&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;An asterisk (&amp;lt;tt&amp;gt;*&amp;lt;/tt&amp;gt;), to check local files opened by all users&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==New and changed parameters==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
     Please keep the following subsections alphabetized by parameter name&lt;br /&gt;
     ********************************************************************&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===CUSTOM (new values)===&lt;br /&gt;
The following values have been added to the &amp;lt;var&amp;gt;[[CUSTOM_parameter|CUSTOM]]&amp;lt;/var&amp;gt; parameter in this release:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=23 value always truncates the userid to 10 characters.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=41 value allows recording of data on successful RACF user logins. The login data is shown in RACFRW batch reports.&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The CUSTOM=42 value allows the editing of procedure names containing the following special characters: comma, equal sign, space, single quote, semicolon.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===LFSCB (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LFSCB parameter|LFSCB]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
 &lt;br /&gt;
===LITBL (new default/minimum value)===&lt;br /&gt;
The default (and minimum) value of &amp;lt;var&amp;gt;[[LITBL parameter|LITBL]]&amp;lt;/var&amp;gt; is now 8 bytes.&lt;br /&gt;
&lt;br /&gt;
===MINDEBCL (new)===&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set in an Online to specify the minimum debugger client build number that can be used with that Online.&lt;br /&gt;
&lt;br /&gt;
==Performance enhancements==&lt;br /&gt;
&lt;br /&gt;
===Journal and checkpoint processing enhancements===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
New journal and checkpoint write PSTs (pseudo subtasks) are invoked by the &amp;lt;var&amp;gt;[[SYSOPT2 parameter|SYSOPT2]]&amp;lt;/var&amp;gt; parameter. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
A dual mode of operation (with and without write PSTs) is available: if the new PSTs are not created (for any reason), the journal and checkpoint processing continues as it does in version 7.5 of Model&amp;amp;nbsp;204. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;[[NSUBTKS parameter|NSUBTKS]]&amp;lt;/var&amp;gt; parameter is also crucial: If &amp;lt;var&amp;gt;SYSOPT2&amp;lt;/var&amp;gt; indicates new PSTs but &amp;lt;var&amp;gt;NSUBTKS&amp;lt;/var&amp;gt; is too low, the Online will not come up.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- I ask Leonard In what circumstances should these PSTs be invoked by user? --&amp;gt;&lt;br /&gt;
&amp;lt;!-- from Leonard: Journal and checkpoint project is not finished yet. It is strictly a performance improvement, NSUBTSK should be inspected to be big enough to accommodate 3 more PST. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in request limit for number of images, screens, and menus===&lt;br /&gt;
These limits are increased to 4095 per request:&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;The total number of [[Images|images]] for all blocks (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;The maximum number of [[Menu statement or block#Menus and screens|menus and screens]] combined (formerly 256)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Statistics enhancements==&lt;br /&gt;
===BLKO===&lt;br /&gt;
The performance statistic BLKO now reports invisible users as blocked out. In previous releases, invisible users were not reported and BLKO remained virtually zero. The new BLKO value is more precise, and by summing BLKO, WTSV, BLKI, REDY, SWPG and RUNG, you can now approximate USRS (average active users).&lt;br /&gt;
&lt;br /&gt;
For the MONITOR command, the QUE column now reports BLKO instead of OFFQ for invisible users and displays new values OFFO and OFFI.&lt;br /&gt;
OFFO is invisible and blocked out; OFFI is invisible and blocked in. &lt;br /&gt;
BLKO now means blocked out and on some queue. BLKI now means blocked in and on some queue.&lt;br /&gt;
&lt;br /&gt;
==Other enhancements==&lt;br /&gt;
===MODEL 6 screen size and back-paging===&lt;br /&gt;
&lt;br /&gt;
As of Model 204 version 7.7 (and 7.5 or 7.6 with maintenance applied), a large LOUTPB value for [[Terminal MODEL 6 support|MODEL 6]] geometries is allowed even if screen back-paging has been enabled. &lt;br /&gt;
&lt;br /&gt;
In previous releases, during initialization, if back-paging was enabled for the IODEV, LOUTPB was automatically reset to the limit that supported back-paging. &lt;br /&gt;
&lt;br /&gt;
Back-paging will now be disabled for any terminal with a MODEL 6 screen geometry that requires more than 6142 bytes.&lt;br /&gt;
&lt;br /&gt;
==Debugger Updates==&lt;br /&gt;
===SoftSpy authorization===&lt;br /&gt;
&amp;lt;p&amp;gt;SoftSpy and Muse are now authorized using the standard zap AUTH mechanism.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;EDIT CONFIG is no longer used to enter authorization keys, and the second (key entry) screen  of SPY EDIT CONFIG no longer appears.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Error message for DBCSENV===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
As in previous releases, SoftSpy is not supported in a DBCS (double-byte character set) environment. As of version 7.7, if the CCAIN parameter DBCSENV is set to a non-zero value, the SPY command is rejected with the following message:&amp;lt;/p&amp;gt; &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;Message 207: SoftSpy may not be used in a DBCS environment.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Debugger version information display===&lt;br /&gt;
As of version 7.7, debugger build 64, the most recent version of the debugger client sends its build and tag number to the mainframe, and this information is displayed in message MSIR.1077.&lt;br /&gt;
&lt;br /&gt;
This information is not sent if the debugger client build number is less than 64.&lt;br /&gt;
&lt;br /&gt;
===Enforcing use of a minimum version of the debugger client===&lt;br /&gt;
&lt;br /&gt;
A new system parameter, &amp;lt;var&amp;gt;[[MINDEBCL parameter|MINDEBCL]]&amp;lt;/var&amp;gt;, can be set to specify the minimum debugger client build number that can be used with an Online.&lt;br /&gt;
&lt;br /&gt;
==Compatibility issues==&lt;br /&gt;
===APSYPAGE parameter cannot be non-zero===&lt;br /&gt;
&amp;lt;p&amp;gt;(Applies to the IBM z/OS system.)&amp;lt;/p&amp;gt;&lt;br /&gt;
The &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; parameter was disabled (but still allowed) in version 7.6. As of version 7.7, if &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt; is non-zero, the Online will not come up and the following error message will appear: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.2958: APSYPAGE is obsolete as of 7.6. &lt;br /&gt;
Rocket recommends using RESPAGE and/or TEMPPAGE as the alternative&amp;lt;/p&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
See [[APSYPAGE parameter]] for information about alternatives to &amp;lt;var&amp;gt;APSYPAGE&amp;lt;/var&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Unlabeled FDV statement compilation errors===&lt;br /&gt;
Version 7.7 introduced an edge case incompatibility by disallowing code which is very questionable or clearly wrong; that is, previously the compiler allowed pretty much any statements between the label and the FDV. Such statements are no longer allowed.  &lt;br /&gt;
&lt;br /&gt;
For example, the following was allowed in older versions of Model 204:&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;  a: audit &#039;About to FDV&#039;&lt;br /&gt;
     fdv foo&lt;br /&gt;
  b: frv in a&amp;lt;/p&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Inserting SOUL code between a label and an FDV statement is no longer allowed, and so the result of the above is:&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;M204.0311 Unacceptable statement reference&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This change was also introduced as maintenance in both version 7.5 (as zaps 75Z408 and 75Z414) and version 7.6 (as zaps 76Z175 and 76Z182).&lt;br /&gt;
&lt;br /&gt;
===KOMM addressing changes===&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KU is no longer 4K addressable from KOMM. It has been relocated to KOMM+1100 and must be addressed using grande (‘G’) instructions.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;KHEOC has been renamed to KGEOC.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;KUUSRNO has been renamed to KBUSRNO.&amp;lt;/li&amp;gt; &lt;br /&gt;
&amp;lt;li&amp;gt;In addition, all KUP… fields have been removed and replaced by their 64-bit equivalent KUG… fields. &amp;lt;br /&amp;gt;&lt;br /&gt;
For example, before 7.7, VTBL might be addressed by using &amp;lt;code&amp;gt;L R1,KUPVT&amp;lt;/code&amp;gt;. &amp;lt;br /&amp;gt;&lt;br /&gt;
As of version 7.7, that reference would require &amp;lt;code&amp;gt;LG R1,KUGVT&amp;lt;/code&amp;gt;.&amp;lt;/li&amp;gt;  &lt;br /&gt;
&amp;lt;/ul&amp;gt; &lt;br /&gt;
&lt;br /&gt;
For context, see [[Customizing functions and translation tables#Converting user-written functions|Converting user-written functions]].&lt;br /&gt;
&lt;br /&gt;
===Journal format compatibility===&lt;br /&gt;
A recovery code error unintentionally allowed recovery to be run using Model&amp;amp;nbsp;204 7.6 against a version 7.5 journal, and vice versa. Although the error was benign because the journal formats were the same in those versions, mixing of journal versions and Model&amp;amp;nbsp;204 versions is no longer allowed.&lt;br /&gt;
&lt;br /&gt;
==New and updated messages==&lt;br /&gt;
 &lt;br /&gt;
See [[New and updated messages in Model 204 version 7.7 -- DRAFT|New and updated messages in Model 204 version 7.7]] for details.&lt;br /&gt;
 &lt;br /&gt;
[[Category: Release notes]]&lt;/div&gt;</summary>
		<author><name>Glw</name></author>
	</entry>
</feed>