<?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=Dessick</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=Dessick"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Special:Contributions/Dessick"/>
	<updated>2026-04-18T17:22:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3277</id>
		<title>Charting using Janus Web Server and FusionCharts Free</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3277"/>
		<updated>2010-10-13T15:48:30Z</updated>

		<summary type="html">&lt;p&gt;Dessick: added disclaimer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tutorial]]&lt;br /&gt;
==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Disclaimer==&lt;br /&gt;
This tutorial should not be construed as an endorsement of [http://www.fusioncharts.com/free FusionCharts Free] or [http://www.fusioncharts.com/free InfoSoft Global Ltd.].  It is presented only as an example of how one can easily add business charts to Janus Web applications.&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site. Once you have downloaded the JavaScript files, you will need to upload them to a Model 204 file.  The easiest way to do this is to use the Sirius FTP capability. (See the Sirius Janus Sockets Manual, Chapter 12).  If you do not have Janus Sockets, you can use HTTP PUT or a Mainframe FTP package to get the files to your machine and subsequently to a Model 204 Procedure file.   &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then add a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XML_2DPie1.gif|frame|alt=Sample 2D Pie Chart|Sample 2D Pie Chart]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3200</id>
		<title>Category:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3200"/>
		<updated>2010-10-13T15:34:40Z</updated>

		<summary type="html">&lt;p&gt;Dessick: delete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3276</id>
		<title>Charting using Janus Web Server and FusionCharts Free</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3276"/>
		<updated>2010-10-13T15:32:23Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Add to category tutorial&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Tutorial]]&lt;br /&gt;
==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site. Once you have downloaded the JavaScript files, you will need to upload them to a Model 204 file.  The easiest way to do this is to use the Sirius FTP capability. (See the Sirius Janus Sockets Manual, Chapter 12).  If you do not have Janus Sockets, you can use HTTP PUT or a Mainframe FTP package to get the files to your machine and subsequently to a Model 204 Procedure file.   &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then add a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XML_2DPie1.gif|frame|alt=Sample 2D Pie Chart|Sample 2D Pie Chart]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3275</id>
		<title>Charting using Janus Web Server and FusionCharts Free</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Charting_using_Janus_Web_Server_and_FusionCharts_Free&amp;diff=3275"/>
		<updated>2010-10-13T15:31:10Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Initial Edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site. Once you have downloaded the JavaScript files, you will need to upload them to a Model 204 file.  The easiest way to do this is to use the Sirius FTP capability. (See the Sirius Janus Sockets Manual, Chapter 12).  If you do not have Janus Sockets, you can use HTTP PUT or a Mainframe FTP package to get the files to your machine and subsequently to a Model 204 Procedure file.   &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then add a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XML_2DPie1.gif|frame|alt=Sample 2D Pie Chart|Sample 2D Pie Chart]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3142</id>
		<title>SRSMAXUS parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3142"/>
		<updated>2010-10-05T20:06:04Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the maximum number of saved record sets per user. This limit is a&lt;br /&gt;
per-userid limit, and it applies even if the userid is being used from multiple web&lt;br /&gt;
browsers. The default for SRSMAXUS of 0 means that there is no per-user limit for&lt;br /&gt;
saved record sets.&lt;br /&gt;
&lt;br /&gt;
SRSMAXUS can be used to ensure that a single user, either as the result of a&lt;br /&gt;
programming error or simply through running frequent queries, does not monopolize the&lt;br /&gt;
saved record set facility.&lt;br /&gt;
&lt;br /&gt;
The SRSMAXUS parameter has no effect unless [[SRSMAX parameter|SRSMAX]] is&lt;br /&gt;
set to a non-zero value.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3141</id>
		<title>SRSMAXUS parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3141"/>
		<updated>2010-10-05T20:05:22Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the maximum number of saved record sets per user. This limit is a&lt;br /&gt;
per-userid limit, and it applies even if the userid is being used from multiple web&lt;br /&gt;
browsers. The default for SRSMAXUS of 0 means that there is no per-user limit for&lt;br /&gt;
saved record sets.&lt;br /&gt;
&lt;br /&gt;
SRSMAXUS can be used to ensure that a single user, either as the result of a&lt;br /&gt;
programming error or simply through running frequent queries, does not monopolize the&lt;br /&gt;
saved record set facility.&lt;br /&gt;
&lt;br /&gt;
The SRSMAXUS parameter has no effect unless [[SRSMAX Parameter|SRSMAX]] is&lt;br /&gt;
set to a non-zero value.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIRTUNE_parameter&amp;diff=3101</id>
		<title>SIRTUNE parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIRTUNE_parameter&amp;diff=3101"/>
		<updated>2010-10-05T19:59:47Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;X&#039;01&#039;&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;EXEC card PARM value under MVS, M204 CMS command parameters under CMS&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[SirTune]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt; [[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This is a bitmask parameter that controls SirTune. SirTune is integrated with the Sirius&lt;br /&gt;
Mods as of Sirius Mods version 6.9. The meaning of the bits are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;01&#039; &amp;lt;dd&amp;gt;Enables the SirTune data collector. When this is set, the SirTune data collector&lt;br /&gt;
will look for the SIRTUNED dataset. If present, the SirTune data collector will&lt;br /&gt;
be enabled, and compilation and sample data will be collected to SIRTUNED.&lt;br /&gt;
In addition, the MODIFY/SMSG commands will also be available.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
The default value of X&#039;01&#039; for SIRTUNE causes the SirTune data collector to be enabled&lt;br /&gt;
&#039;&#039;&#039;if possible&#039;&#039;&#039;. Things that prevent it from being enabled are the absence of the&lt;br /&gt;
SIRTUNED dataset and the fact that Model 204 is running under an older SirTune load&lt;br /&gt;
module. In the first case, the SirTune data collector silently disables itself. In the&lt;br /&gt;
second case, it issues an informational message and then disables itself. In no case&lt;br /&gt;
should the default value for SIRTUNE prevent an Online from coming up, so there is&lt;br /&gt;
probably little reason to set this parameter.&lt;br /&gt;
&lt;br /&gt;
Setting this parameter in an Online not authorized for SirTune will have no effect.&lt;br /&gt;
For more information about the SirTune data collector, see the [[SirTune Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIRTUNE_parameter&amp;diff=3100</id>
		<title>SIRTUNE parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIRTUNE_parameter&amp;diff=3100"/>
		<updated>2010-10-05T17:19:23Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;X&#039;01&#039;&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;EXEC card PARM value under MVS, M204CMS command parameters under CMS&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[SirTune]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt; [[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This is a bitmask parameter that controls SirTune. SirTune is integrated with the Sirius&lt;br /&gt;
Mods as of Sirius Mods version 6.9. The meaning of the bits are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;01&#039; &amp;lt;dd&amp;gt;Enables the SirTune data collector. When this is set, the SirTune data collector&lt;br /&gt;
will look for the SIRTUNED dataset. If present, the SirTune data collector will&lt;br /&gt;
be enabled, and compilation and sample data will be collected to SIRTUNED.&lt;br /&gt;
In addition, the MODIFY/SMSG commands will also be available.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
The default value of X&#039;01&#039; for SIRTUNE causes the SirTune data collector to be enabled&lt;br /&gt;
&#039;&#039;&#039;if possible&#039;&#039;&#039;. Things that prevent it from being enabled are the absence of the&lt;br /&gt;
SIRTUNED dataset and the fact that Model 204 is running under an older SirTune load&lt;br /&gt;
module. In the first case, the SirTune data collector silently disables itself. In the&lt;br /&gt;
second case, it issues an informational message and then disables itself. In no case&lt;br /&gt;
should the default value for SIRTUNE prevent an Online from coming up, so there is&lt;br /&gt;
probably little reason to set this parameter.&lt;br /&gt;
&lt;br /&gt;
Setting this parameter in an Online not authorized for SirTune will have no effect.&lt;br /&gt;
For more information about the SirTune data collector, see the [[SirTune Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SOCKMAX_parameter&amp;diff=3107</id>
		<title>SOCKMAX parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SOCKMAX_parameter&amp;diff=3107"/>
		<updated>2010-10-05T17:14:42Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;10&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;User 0 CCAIN parameters&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Sockets]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter specifies the maximum total number of sockets a user may use at any&lt;br /&gt;
time (one of these is reserved for the server socket number 1, whether the user is a&lt;br /&gt;
server socket program or not). The default for SOCKMAX is 10, which allows 9 client&lt;br /&gt;
socket numbers to be in use.&lt;br /&gt;
The minimum value for SOCKMAX is 2, and the maximum value is 88.&lt;br /&gt;
SOCKMAX affects storage allocation for each user who is using any sockets — each&lt;br /&gt;
such user has allocated 6 + (6 * SOCKMAX) bytes (rounded up to a multiple of 4). In&lt;br /&gt;
addition, each open socket over a Janus Sockets port increases the storage requirement&lt;br /&gt;
by 960 bytes plus the value of the [[IBSIZE]] and [[OBSIZE]] parameters.&lt;br /&gt;
Note the distinction between this Model 204 system parameter and [[SOCKPMAX]].&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SPANSIZE_parameter&amp;diff=3116</id>
		<title>SPANSIZE parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SPANSIZE_parameter&amp;diff=3116"/>
		<updated>2010-10-05T17:12:31Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;90&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This is a numeric parameter that must have a value between 10 and 100. It sets the&lt;br /&gt;
default value for the range in number of years that two-digit years are allowed to&lt;br /&gt;
encompass. By limiting the valid range of two digit years, protection is provided against&lt;br /&gt;
misinterpretation of ambiguous two-digit dates such as, for example, ‘10’ being&lt;br /&gt;
misinterpreted as 1910, when in fact, it means 2010.&lt;br /&gt;
&lt;br /&gt;
This setting affects many $functions, and it can be overridden by many of these same&lt;br /&gt;
$functions. For more information about how SCANSIZE is used, see the [[Sir2000 User Language Tools Reference Manual]] or the [[Sir2000 Field Migration Facility Reference Manual]].&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSDEFTO_parameter&amp;diff=3122</id>
		<title>SRSDEFTO parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSDEFTO_parameter&amp;diff=3122"/>
		<updated>2010-10-05T16:52:57Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit from parameter reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;900&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the default timeout value (in seconds) to be used for saved record&lt;br /&gt;
sets if none is specified on the $web_save_recset function. If SRSDEFTO exceeds&lt;br /&gt;
[[SRSMAXTO]], [[SRSMAXTO]] will effectively act as the default&lt;br /&gt;
timeout value.&lt;br /&gt;
&lt;br /&gt;
The default for SRSDEFTO is 900, which means 15 minutes. Setting SRSDEFTO to 0&lt;br /&gt;
means no record sets will be saved unless an explicit timeout is specified in the&lt;br /&gt;
$web_save_recset function.&lt;br /&gt;
&lt;br /&gt;
The SRSDEFTO parameter has no effect unless [[SRSMAX]] is&lt;br /&gt;
set to a non-zero value.&lt;br /&gt;
&lt;br /&gt;
Valid values for SRSDEFTO are between 0 and 2592000 (720 hours).&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSMAX_parameter&amp;diff=3128</id>
		<title>SRSMAX parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSMAX_parameter&amp;diff=3128"/>
		<updated>2010-10-05T16:50:34Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Initial edit from parameter reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User 0 CCAIN parameters&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the maximum number of total saved record sets in the system.&lt;br /&gt;
SRSMAX defaults to 0, and it must be set to a positive value less than or equal to&lt;br /&gt;
16777215 to allow use of the saved record set feature of Janus Web Server. If&lt;br /&gt;
SRSMAX is 0, $web_save_recset will never save a record set.&lt;br /&gt;
&lt;br /&gt;
The number of record sets that can actually be saved at a given time might be&lt;br /&gt;
somewhat less than the SRSMAX value if many of the saved record sets are associated&lt;br /&gt;
with groups with large numbers of members.&lt;br /&gt;
&lt;br /&gt;
The saved record set feature will use approximately 64*SRSMAX bytes of virtual&lt;br /&gt;
storage.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXTO_parameter&amp;diff=3134</id>
		<title>SRSMAXTO parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXTO_parameter&amp;diff=3134"/>
		<updated>2010-10-05T16:48:02Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Initial edit from system parameters reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;3600&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the maximum length of time (in seconds) that a saved record set&lt;br /&gt;
can be saved without being referenced. The actual maximum length of time a record set&lt;br /&gt;
will be saved can be set in the $web_save_recset function, but it will be set to&lt;br /&gt;
SRSMAXTO if the $web_save_recset value exceeds SRSMAXTO. Similarly, if a&lt;br /&gt;
timeout is not specified on the $web_save_recset, the timeout value is derived from&lt;br /&gt;
[[SRSDEFTO]]  but if [[SRSDEFTO]] is greater than&lt;br /&gt;
SRSMAXTO, SRSMAXTO will be used as the timeout.&lt;br /&gt;
&lt;br /&gt;
The default for SRSMAXTO of 3600 means a maximum timeout of one hour.&lt;br /&gt;
&lt;br /&gt;
Resetting SRSMAXTO to 0 temporarily disables the saved record set facility, and all&lt;br /&gt;
enqueues associated with saved record sets are freed. This can be useful in clearing up&lt;br /&gt;
an enqueuing problem caused by a saved record set.&lt;br /&gt;
&lt;br /&gt;
Resetting SRSMAXTO will dynamically adjust the timeout for any record sets saved with&lt;br /&gt;
a higher timeout value. So if there is a saved record set with a timeout of 1800 seconds&lt;br /&gt;
when SRSMAXTO is reset to 300, that record set&#039;s timeout is updated to 300. If that&lt;br /&gt;
record set had been saved more than 300 seconds before the reset, it would be&lt;br /&gt;
immediately freed.&lt;br /&gt;
&lt;br /&gt;
The SRSMAXTO parameter has no effect unless [[SRSMAX]]  is&lt;br /&gt;
set to a non-zero value.&lt;br /&gt;
&lt;br /&gt;
Valid values for SRSMAXTO are between 0 and 2592000 (720 hours).&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3140</id>
		<title>SRSMAXUS parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SRSMAXUS_parameter&amp;diff=3140"/>
		<updated>2010-10-05T16:43:05Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit from system parameters reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Janus Web Server]]&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter sets the maximum number of saved record sets per user. This limit is a&lt;br /&gt;
per-userid limit, and it applies even if the userid is being used from multiple web&lt;br /&gt;
browsers. The default for SRSMAXUS of 0 means that there is no per-user limit for&lt;br /&gt;
saved record sets.&lt;br /&gt;
&lt;br /&gt;
SRSMAXUS can be used to ensure that a single user, either as the result of a&lt;br /&gt;
programming error or simply through running frequent queries, does not monopolize the&lt;br /&gt;
saved record set facility.&lt;br /&gt;
&lt;br /&gt;
The SRSMAXUS parameter has no effect unless [[SRSMAX]] is&lt;br /&gt;
set to a non-zero value.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=TCPSERV_parameter&amp;diff=3148</id>
		<title>TCPSERV parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=TCPSERV_parameter&amp;diff=3148"/>
		<updated>2010-10-05T16:40:03Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit from system parameters reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;&#039;TCPIP&#039;&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter indicates the name of the TCP/IP server address space (MVS) or virtual&lt;br /&gt;
machine (CMS).&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=TCPSUBSY_parameter&amp;diff=3156</id>
		<title>TCPSUBSY parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=TCPSUBSY_parameter&amp;diff=3156"/>
		<updated>2010-10-05T16:37:10Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;&#039;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&#039; (four blanks)&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter indicates the subsystem name to be used by Janus. It only has meaning&lt;br /&gt;
when using the MVS IUCV interface (a deprecated API), and the Interlink interface. The&lt;br /&gt;
default of blank causes the default value of ‘VMCF’ to be used in the unlikely event that&lt;br /&gt;
MVS IUCV is being used and ‘ACSS’ for Interlink.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=TCPSUBSY_parameter&amp;diff=3155</id>
		<title>TCPSUBSY parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=TCPSUBSY_parameter&amp;diff=3155"/>
		<updated>2010-10-05T16:36:15Z</updated>

		<summary type="html">&lt;p&gt;Dessick: initial edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;&#039;    &#039; (four blanks)&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter indicates the subsystem name to be used by Janus. It only has meaning&lt;br /&gt;
when using the MVS IUCV interface (a deprecated API), and the Interlink interface. The&lt;br /&gt;
default of blank causes the default value of ‘VMCF’ to be used in the unlikely event that&lt;br /&gt;
MVS IUCV is being used and ‘ACSS’ for Interlink.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=TCPTYPE_parameter&amp;diff=3163</id>
		<title>TCPTYPE parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=TCPTYPE_parameter&amp;diff=3163"/>
		<updated>2010-10-05T16:34:00Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Initial edit from system parameters reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;UNKNOWN&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter specifies the type of TCP/IP network to which Model 204 is connected.&lt;br /&gt;
Generally, you can leave this parameter at its default value and let Janus automatically&lt;br /&gt;
detect the type of TCP/IP you have on your machine.&lt;br /&gt;
&lt;br /&gt;
If you specify type IBM, Janus detects and sets the type of IBM interface it will use:&lt;br /&gt;
&lt;br /&gt;
* Under CMS, this is always IUCV.&lt;br /&gt;
* Under MVS, Janus will select the IBM interface in the following order: BPX (Unix System Services), HPNS, then IUCV.&lt;br /&gt;
* If multiple types are installed, Janus will select the interface in the following order for MVS: BPX, HPNS, IUCV, Interlink, then KNET. For CMS the order is IUCV, then KNET.&lt;br /&gt;
&lt;br /&gt;
You can always override auto-detection by explicitly supplying a TCPTYPE parameter.&lt;br /&gt;
The only reason to do this would be if you have multiple TCP/IP stacks installed and you&lt;br /&gt;
want to force use of the non-preferred stack.&lt;br /&gt;
&lt;br /&gt;
The valid TCPTYPE values are:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;IBM &amp;lt;dd&amp;gt;Specifies IBM TCP/IP. This means to auto-detect the “best” IBM TCP/IP interface. For CMS, this is always IUCV. For MVS, Janus will look for BPX, HPNS, then IUCV.&lt;br /&gt;
&amp;lt;dt&amp;gt;BPX &amp;lt;dd&amp;gt;Specifies IBM BPX (Unix System Services) (MVS only).&lt;br /&gt;
&amp;lt;dt&amp;gt;HPNS &amp;lt;dd&amp;gt;Specifies IBM HPNS (High Performance Native Sockets) (MVS only). Note that despite its name, HPNS&#039;s performance is not nearly as good as BPX&#039;s.&lt;br /&gt;
&amp;lt;dt&amp;gt;INTERLNK &amp;lt;dd&amp;gt;Specifies InterLink TCP/IP (MVS only).&lt;br /&gt;
&amp;lt;dt&amp;gt;CSI &amp;lt;dd&amp;gt;Specifies Connectivity Systems TCP/IP (VSE only).&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
Most of the communication with the TCP/IP address space is accomplished via a PST.&lt;br /&gt;
Because of this, you may need to increase NSUBTKS by 1 before using Janus.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=TNDEV_parameter&amp;diff=3169</id>
		<title>TNDEV parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=TNDEV_parameter&amp;diff=3169"/>
		<updated>2010-10-05T16:27:04Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Inital edit from system parameters manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User 0 CCAIN parameters&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;Janus Sockets&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;[[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter specifies the IODEV number to be used for Janus Telnet Server&lt;br /&gt;
connections. When a connection is made to a Janus Telnet Server, the IODEV number&lt;br /&gt;
of the SDAEMON thread is dynamically switched to the TNDEV value. If TNDEV is not&lt;br /&gt;
set to a non-zero value, no Janus Telnet Server (TNSERV) ports can be defined, and no&lt;br /&gt;
telnet connections can be made directly to Model 204.&lt;br /&gt;
&lt;br /&gt;
The value of the TNDEV parameter must be an odd number between 1 and 53, and it&lt;br /&gt;
must be different from the SDAEMDEV system parameter.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; No IODEV cards are allowed for the TNDEV IODEV number — the IODEV&lt;br /&gt;
number can only be used dynamically by Janus Telnet Server.&lt;br /&gt;
&lt;br /&gt;
The recommended setting for TNDEV is 21, an IODEV number no longer in use by&lt;br /&gt;
Model 204.&lt;br /&gt;
&lt;br /&gt;
For more information about the Janus Telnet Server, see the&#039;&#039; Janus Sockets Reference&lt;br /&gt;
Manual&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3179</id>
		<title>WEBAUDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3179"/>
		<updated>2010-10-05T16:22:16Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;X&#039;00000000&#039;&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;User 0 CCAIN parameters&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; [[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter makes it possible to reduce the quantity of useless audit trail data&lt;br /&gt;
associated with Janus Web Server applications. The WEBAUDIT parameter is a&lt;br /&gt;
collection of bits that, when set, reduce the quantity of data sent to the Model 204 journal&lt;br /&gt;
or make it possible to reduce this quantity. The bits in WEBAUDIT are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Allow NOAUDIT and NOAUDITW keywords on MSGCTL command.&lt;br /&gt;
Specifying &#039;&#039;&#039;MSGCTL msg_no NOAUDIT&#039;&#039;&#039; prevents msg_no from ever&lt;br /&gt;
going to the audit trail, while &#039;&#039;&#039;MSGCTL msg_no NOAUDITW&#039;&#039;&#039; prevents&lt;br /&gt;
msg_no from going to the audit trail, if issued on a J&#039;&#039;anus Web Server&#039;&#039;&lt;br /&gt;
thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for Janus Web Server threads.&lt;br /&gt;
The resource usage associated with the APSY load such as CPU,&lt;br /&gt;
DKPRs, disk I/Os, etc. will be included in the EVAL since-last statistics&lt;br /&gt;
for the request. Since APSY load resource utilization is typically&lt;br /&gt;
extremely minor relative to request evaluation, APSY load since-last&lt;br /&gt;
statistics tend to be fairly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000004&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for all threads. The resource&lt;br /&gt;
usage associated with the APSY load such as CPU, DKPRs, disk I/Os,&lt;br /&gt;
etc. will be included in the EVAL since-last statistics for the request.&lt;br /&gt;
Since APSY load resource utilization is typically extremely minor relative&lt;br /&gt;
to request evaluation, APSY load since-last statistics tend to be fairly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000008&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for Janus Web&lt;br /&gt;
Server threads. These messages are sometimes issued before a user&lt;br /&gt;
logon, even though there is no userid logged on the thread, so they are&lt;br /&gt;
singularly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000010&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for all threads.&lt;br /&gt;
These messages are sometimes issued before a user logon, even&lt;br /&gt;
though there is no userid logged on the thread, so they are singularly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
The MSGCTL NOAUDIT enhancement should be used with caution. Preventing certain&lt;br /&gt;
messages from going to the journal could make diagnosing certain problems more&lt;br /&gt;
difficult. It is not, however, a new capability or one that is only available to Janus Web&lt;br /&gt;
Server customers. Even without Janus Web Server, it is possible to issue a MSGCTL&lt;br /&gt;
command for any message with the AUDITRK parameter. It is then possible to&lt;br /&gt;
suppress RK messages from going to the audit trail by making sure the X&#039;20&#039; bit is not&lt;br /&gt;
set in SYSOPT. The one unfortunate side-effect of this technique is that it also&lt;br /&gt;
suppresses RK messages that one might actually want to go to the audit trail, but this&lt;br /&gt;
can be overcome by MSGCTL&#039;ing these messages to NOAUDITRK. Thanks to Warren&lt;br /&gt;
Kring for this technique.&lt;br /&gt;
&lt;br /&gt;
In any case, the MSGCTL NOAUDIT and NOAUDITW provide a neater and more finegrained&lt;br /&gt;
way of reducing audit trail messages for Janus Web Server or other threads.&lt;br /&gt;
Some good candidates for MSGCTL NOAUDIT or NOAUDITW are:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0099&amp;lt;dd&amp;gt; MINIMUM SERVSIZE FOR THESE TABLES = ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0131&amp;lt;dd&amp;gt; (Checkpoint completed or timed out messages)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0353&amp;lt;dd&amp;gt; (login/logout message that is essentially a shortened version of &#039;&#039;&#039;M204.0352&#039;&#039;&#039; that also gets logged to the journal)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0608 &amp;lt;dd&amp;gt;FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0619 &amp;lt;dd&amp;gt;GROUP FILE OPENED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0620 &amp;lt;dd&amp;gt;FILE file OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0621 &amp;lt;dd&amp;gt;(Informational message indicating recovery status of file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0622 &amp;lt;dd&amp;gt;(Informational message indicating the last update applied by the last rollforward for a file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0821 &amp;lt;dd&amp;gt;GROUP FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0858 &amp;lt;dd&amp;gt;GROUP group OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1203 &amp;lt;dd&amp;gt;FILE file WAS LAST UPDATED ON ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1238 &amp;lt;dd&amp;gt;(Informational message indicating the time the file was last recovered.)&lt;br /&gt;
&lt;br /&gt;
Under Sirius Mods version 6.9 and later, there is also a NOAUD parameter on Janus&lt;br /&gt;
port definitions that allow even more information to be suppressed from the audit trail on&lt;br /&gt;
a port basis.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
[[Category:User Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3178</id>
		<title>WEBAUDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3178"/>
		<updated>2010-10-05T16:20:36Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;X&#039;00000000&#039;&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;User 0 CCAIN parameters&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; [[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter makes it possible to reduce the quantity of useless audit trail data&lt;br /&gt;
associated with Janus Web Server applications. The WEBAUDIT parameter is a&lt;br /&gt;
collection of bits that, when set, reduce the quantity of data sent to the Model 204 journal&lt;br /&gt;
or make it possible to reduce this quantity. The bits in WEBAUDIT are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Allow NOAUDIT and NOAUDITW keywords on MSGCTL command.&lt;br /&gt;
Specifying &#039;&#039;&#039;MSGCTL msg_no NOAUDIT&#039;&#039;&#039; prevents msg_no from ever&lt;br /&gt;
going to the audit trail, while &#039;&#039;&#039;MSGCTL msg_no NOAUDITW&#039;&#039;&#039; prevents&lt;br /&gt;
msg_no from going to the audit trail, if issued on a J&#039;&#039;anus Web Server&#039;&#039;&lt;br /&gt;
thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for Janus Web Server threads.&lt;br /&gt;
The resource usage associated with the APSY load such as CPU,&lt;br /&gt;
DKPRs, disk I/Os, etc. will be included in the EVAL since-last statistics&lt;br /&gt;
for the request. Since APSY load resource utilization is typically&lt;br /&gt;
extremely minor relative to request evaluation, APSY load since-last&lt;br /&gt;
statistics tend to be fairly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000004&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for all threads. The resource&lt;br /&gt;
usage associated with the APSY load such as CPU, DKPRs, disk I/Os,&lt;br /&gt;
etc. will be included in the EVAL since-last statistics for the request.&lt;br /&gt;
Since APSY load resource utilization is typically extremely minor relative&lt;br /&gt;
to request evaluation, APSY load since-last statistics tend to be fairly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000008&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for Janus Web&lt;br /&gt;
Server threads. These messages are sometimes issued before a user&lt;br /&gt;
logon, even though there is no userid logged on the thread, so they are&lt;br /&gt;
singularly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000010&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for all threads.&lt;br /&gt;
These messages are sometimes issued before a user logon, even&lt;br /&gt;
though there is no userid logged on the thread, so they are singularly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
The MSGCTL NOAUDIT enhancement should be used with caution. Preventing certain&lt;br /&gt;
messages from going to the journal could make diagnosing certain problems more&lt;br /&gt;
difficult. It is not, however, a new capability or one that is only available to Janus Web&lt;br /&gt;
Server customers. Even without Janus Web Server, it is possible to issue a MSGCTL&lt;br /&gt;
command for any message with the AUDITRK parameter. It is then possible to&lt;br /&gt;
suppress RK messages from going to the audit trail by making sure the X&#039;20&#039; bit is not&lt;br /&gt;
set in SYSOPT. The one unfortunate side-effect of this technique is that it also&lt;br /&gt;
suppresses RK messages that one might actually want to go to the audit trail, but this&lt;br /&gt;
can be overcome by MSGCTL&#039;ing these messages to NOAUDITRK. Thanks to Warren&lt;br /&gt;
Kring for this technique.&lt;br /&gt;
&lt;br /&gt;
In any case, the MSGCTL NOAUDIT and NOAUDITW provide a neater and more finegrained&lt;br /&gt;
way of reducing audit trail messages for Janus Web Server or other threads.&lt;br /&gt;
Some good candidates for MSGCTL NOAUDIT or NOAUDITW are:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0099&amp;lt;dd&amp;gt; MINIMUM SERVSIZE FOR THESE TABLES = ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0131&amp;lt;dd&amp;gt; (Checkpoint completed or timed out messages)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0353&amp;lt;dd&amp;gt; (login/logout message that is essentially a shortened version of&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0352&amp;lt;dd&amp;gt; that also gets logged to the journal)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0608 &amp;lt;dd&amp;gt;FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0619 &amp;lt;dd&amp;gt;GROUP FILE OPENED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0620 &amp;lt;dd&amp;gt;FILE file OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0621 &amp;lt;dd&amp;gt;(Informational message indicating recovery status of file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0622 &amp;lt;dd&amp;gt;(Informational message indicating the last update applied by the last rollforward for a file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0821 &amp;lt;dd&amp;gt;GROUP FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0858 &amp;lt;dd&amp;gt;GROUP group OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1203 &amp;lt;dd&amp;gt;FILE file WAS LAST UPDATED ON ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1238 &amp;lt;dd&amp;gt;(Informational message indicating the time the file was last recovered.)&lt;br /&gt;
&lt;br /&gt;
Under Sirius Mods version 6.9 and later, there is also a NOAUD parameter on Janus&lt;br /&gt;
port definitions that allow even more information to be suppressed from the audit trail on&lt;br /&gt;
a port basis.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
[[Category:User Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3177</id>
		<title>WEBAUDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=WEBAUDIT_parameter&amp;diff=3177"/>
		<updated>2010-10-05T16:19:35Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Inital Edit from parameters reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;Default value&lt;br /&gt;
&amp;lt;dd&amp;gt;X&#039;00000000&#039;&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;User 0 CCAIN parameters&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;Before [[Sirius Mods]] 6.9&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This parameter makes it possible to reduce the quantity of useless audit trail data&lt;br /&gt;
associated with Janus Web Server applications. The WEBAUDIT parameter is a&lt;br /&gt;
collection of bits that, when set, reduce the quantity of data sent to the Model 204 journal&lt;br /&gt;
or make it possible to reduce this quantity. The bits in WEBAUDIT are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Allow NOAUDIT and NOAUDITW keywords on MSGCTL command.&lt;br /&gt;
Specifying &#039;&#039;&#039;MSGCTL msg_no NOAUDIT&#039;&#039;&#039; prevents msg_no from ever&lt;br /&gt;
going to the audit trail, while &#039;&#039;&#039;MSGCTL msg_no NOAUDITW&#039;&#039;&#039; prevents&lt;br /&gt;
msg_no from going to the audit trail, if issued on a J&#039;&#039;anus Web Server&#039;&#039;&lt;br /&gt;
thread.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000001&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for Janus Web Server threads.&lt;br /&gt;
The resource usage associated with the APSY load such as CPU,&lt;br /&gt;
DKPRs, disk I/Os, etc. will be included in the EVAL since-last statistics&lt;br /&gt;
for the request. Since APSY load resource utilization is typically&lt;br /&gt;
extremely minor relative to request evaluation, APSY load since-last&lt;br /&gt;
statistics tend to be fairly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000004&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress APSY load since-last statistics for all threads. The resource&lt;br /&gt;
usage associated with the APSY load such as CPU, DKPRs, disk I/Os,&lt;br /&gt;
etc. will be included in the EVAL since-last statistics for the request.&lt;br /&gt;
Since APSY load resource utilization is typically extremely minor relative&lt;br /&gt;
to request evaluation, APSY load since-last statistics tend to be fairly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000008&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for Janus Web&lt;br /&gt;
Server threads. These messages are sometimes issued before a user&lt;br /&gt;
logon, even though there is no userid logged on the thread, so they are&lt;br /&gt;
singularly useless.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;00000010&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Suppress “NO USERID” logout messages (M204.0353) for all threads.&lt;br /&gt;
These messages are sometimes issued before a user logon, even&lt;br /&gt;
though there is no userid logged on the thread, so they are singularly&lt;br /&gt;
useless.&lt;br /&gt;
&lt;br /&gt;
The MSGCTL NOAUDIT enhancement should be used with caution. Preventing certain&lt;br /&gt;
messages from going to the journal could make diagnosing certain problems more&lt;br /&gt;
difficult. It is not, however, a new capability or one that is only available to Janus Web&lt;br /&gt;
Server customers. Even without Janus Web Server, it is possible to issue a MSGCTL&lt;br /&gt;
command for any message with the AUDITRK parameter. It is then possible to&lt;br /&gt;
suppress RK messages from going to the audit trail by making sure the X&#039;20&#039; bit is not&lt;br /&gt;
set in SYSOPT. The one unfortunate side-effect of this technique is that it also&lt;br /&gt;
suppresses RK messages that one might actually want to go to the audit trail, but this&lt;br /&gt;
can be overcome by MSGCTL&#039;ing these messages to NOAUDITRK. Thanks to Warren&lt;br /&gt;
Kring for this technique.&lt;br /&gt;
&lt;br /&gt;
In any case, the MSGCTL NOAUDIT and NOAUDITW provide a neater and more finegrained&lt;br /&gt;
way of reducing audit trail messages for Janus Web Server or other threads.&lt;br /&gt;
Some good candidates for MSGCTL NOAUDIT or NOAUDITW are:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0099&amp;lt;dd&amp;gt; MINIMUM SERVSIZE FOR THESE TABLES = ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0131&amp;lt;dd&amp;gt; (Checkpoint completed or timed out messages)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0353&amp;lt;dd&amp;gt; (login/logout message that is essentially a shortened version of&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0352&amp;lt;dd&amp;gt; that also gets logged to the journal)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0608 &amp;lt;dd&amp;gt;FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0619 &amp;lt;dd&amp;gt;GROUP FILE OPENED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0620 &amp;lt;dd&amp;gt;FILE file OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0621 &amp;lt;dd&amp;gt;(Informational message indicating recovery status of file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0622 &amp;lt;dd&amp;gt;(Informational message indicating the last update applied by the last rollforward for a file being opened)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0821 &amp;lt;dd&amp;gt;GROUP FILE CLOSED: ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.0858 &amp;lt;dd&amp;gt;GROUP group OPENED (-- NO UPDATES ALLOWED)&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1203 &amp;lt;dd&amp;gt;FILE file WAS LAST UPDATED ON ...&lt;br /&gt;
&amp;lt;dt&amp;gt;M204.1238 &amp;lt;dd&amp;gt;(Informational message indicating the time the file was last recovered.)&lt;br /&gt;
&lt;br /&gt;
Under Sirius Mods version 6.9 and later, there is also a NOAUD parameter on Janus&lt;br /&gt;
port definitions that allow even more information to be suppressed from the audit trail on&lt;br /&gt;
a port basis.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
[[Category:User Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=WEBOPT_parameter&amp;diff=3187</id>
		<title>WEBOPT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=WEBOPT_parameter&amp;diff=3187"/>
		<updated>2010-10-05T16:10:43Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Intial edit from Janus Web Server Manual&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User 0 resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;Janus Web Server&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.5&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
The WEBOPT parameter is a standard Model 204 bitmask-type parameter introduced in&lt;br /&gt;
Sirius Mods version 6.5. The X&#039;01&#039; setting causes RACF calls to be performed in a&lt;br /&gt;
special RACF subtask.&lt;br /&gt;
&lt;br /&gt;
In cases where Janus Web Server is deployed and RACF handles login validation, the&lt;br /&gt;
RACF call load for login-protected web pages can get very high. Since these calls often&lt;br /&gt;
involve synchronous I/Os that stop the Model 204 main task, they are generally not very&lt;br /&gt;
good for Model 204 performance. However, if you set the WEBOPT system parameter&lt;br /&gt;
to X&#039;01&#039;, these calls are done in a subtask, reducing their impact on Online performance&lt;br /&gt;
dramatically.&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;01&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;RACF Calls are performed in a special RACF subtask.  &lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:System Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3257</id>
		<title>SIREDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3257"/>
		<updated>2010-10-05T15:55:09Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Added complete text from command reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;User resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
This is a bitmask parameter that controls various enhancements to the Model 204 fullscreen&lt;br /&gt;
editor. The meaning of the bits are:&lt;br /&gt;
&amp;lt;dl&amp;gt;&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;01&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt;Switch to *LOWER mode upon entry to the editor, and revert to prior setting&lt;br /&gt;
upon exit. This allows command mode to work in *UPPER mode so that&lt;br /&gt;
commands are automatically uppercased, while allowing the editor to work in&lt;br /&gt;
mixed-case mode.&lt;br /&gt;
&lt;br /&gt;
Since most Model 204 commands take entirely uppercase input, *UPPER mode&lt;br /&gt;
is almost always preferable in command mode. On the other hand, most&lt;br /&gt;
modern User Language programs use mixed case, so *LOWER mode is&lt;br /&gt;
preferable inside the editor. The SIREDIT X&#039;01&#039; bit allows one to get the best of&lt;br /&gt;
both worlds with no effort.&lt;br /&gt;
&lt;br /&gt;
This bit has no effect if the user is already in *LOWER mode on entry to the&lt;br /&gt;
editor.&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;02&#039;&lt;br /&gt;
&amp;lt;dd&amp;gt; Change the LINEND character for the current procedure to carriage return&lt;br /&gt;
(X&#039;0D&#039;). This allows procedures to include semicolons as data, and it also&lt;br /&gt;
makes it easier to edit a procedure that has been uploaded from an HTML&lt;br /&gt;
generator.&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;04&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Always force the current 3270 Mod 2 behavior (24 lines by eighty characters),&lt;br /&gt;
even if the editor is invoked by a thread using a Mod 5 session. This bit takes&lt;br /&gt;
precedence over the following bit.&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;08&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Allow Mod 5 sessions in DBCS environments. Ordinarily the widescreen (Mod&lt;br /&gt;
5) support is disabled under DBCS environments. When this bit is set, even&lt;br /&gt;
DBCS sessions are eligible for widescreen support.&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;10&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Provide case-insensitive locate in non-DBCS environments. Thus, the editor&lt;br /&gt;
command will locate both of the following lines, regardless of the setting of *LOWER/*UPPER or the SIREDIT X&#039;01&#039; bit:&lt;br /&gt;
&lt;br /&gt;
  This is sometimes hard to find due to mixed&lt;br /&gt;
  case, while “this is” is all lower case.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;dt&amp;gt;X&#039;20&#039; &lt;br /&gt;
&amp;lt;dd&amp;gt;Provide case-insensitive search strings for the replace command, while still retaining the case as entered on the replacement string, assuming that either *LOWER is in effect or the X&#039;01&#039; bit of SIREDIT is set. Under these conditions, and using the text from the previous example, the command:&lt;br /&gt;
&lt;br /&gt;
  r/this is/This Is/* all&lt;br /&gt;
&lt;br /&gt;
will change occurrences on both lines, resulting in:&lt;br /&gt;
&lt;br /&gt;
  This Is sometimes hard to find due to mixed&lt;br /&gt;
  case, while “This Is” is all lower case.&lt;br /&gt;
&lt;br /&gt;
In addition to the SIREDIT parameter, the Sirius Mods provide some additional fullscreen&lt;br /&gt;
editor commands.&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
[[Category:User Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3256</id>
		<title>SIREDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3256"/>
		<updated>2010-10-05T15:46:50Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;User resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;br /&gt;
[[Category:User Parameters]]&lt;br /&gt;
[[Category:Parameters]]&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3255</id>
		<title>SIREDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3255"/>
		<updated>2010-10-05T15:44:50Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Create Stub&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;User&lt;br /&gt;
&amp;lt;dt&amp;gt;Where set&lt;br /&gt;
&amp;lt;dd&amp;gt;User resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;All&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3254</id>
		<title>SIREDIT parameter</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=SIREDIT_parameter&amp;diff=3254"/>
		<updated>2010-10-05T15:43:52Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Created page with &amp;quot;&amp;lt;dl&amp;gt; &amp;lt;dt&amp;gt;Default value &amp;lt;dd&amp;gt;0 &amp;lt;dt&amp;gt;Parameter type &amp;lt;dd&amp;gt;System &amp;lt;dt&amp;gt;Where set &amp;lt;dd&amp;gt;System manager resettable &amp;lt;dt&amp;gt;Related products &amp;lt;dd&amp;gt;A;; &amp;lt;dt&amp;gt;Introduced &amp;lt;dd&amp;gt;Before Sirius Mods 6.7 ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;System manager resettable&lt;br /&gt;
&amp;lt;dt&amp;gt;Related products&lt;br /&gt;
&amp;lt;dd&amp;gt;A;;&lt;br /&gt;
&amp;lt;dt&amp;gt;Introduced&lt;br /&gt;
&amp;lt;dd&amp;gt;Before [[Sirius Mods]] 6.7&lt;br /&gt;
&amp;lt;/dl&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3205</id>
		<title>Text and Html statements</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3205"/>
		<updated>2010-10-05T15:26:54Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Copy of the chapter in Janus Soap Manual with formatting changes for Wiki&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The &#039;&#039;&#039;HTML&#039;&#039;&#039; or &#039;&#039;&#039;TEXT&#039;&#039;&#039; statement==&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; (or &#039;&#039;&#039;Text&#039;&#039;&#039;) statement in User Language is a general purpose alternative to a&lt;br /&gt;
series of Print statements for producing a fair amount of literal data. Primarily for use&lt;br /&gt;
with Janus Web Server (hence the name Html), it is available with many Sirius&lt;br /&gt;
products. It is most useful when PRINT output is captured or directed by some means.&lt;br /&gt;
It is also quite useful for populating a StringList with a large amount of mostly constant&lt;br /&gt;
text. This latter capability is provided by the To option of the &#039;&#039;&#039;Html/Text&#039;&#039;&#039; statement.&lt;br /&gt;
&lt;br /&gt;
In this section, “HTML block” refers to either the &#039;&#039;&#039;Html&#039;&#039;&#039; or &#039;&#039;&#039;Text&#039;&#039;&#039; block.&lt;br /&gt;
&lt;br /&gt;
The Html block can be used to produce print output of largely literal or static data. For&lt;br /&gt;
example, sending output to a browser with Janus Web Server often requires a significant&lt;br /&gt;
quantity of static text for HTML directives. Rather than placing this static data inside&lt;br /&gt;
quotes in a Print statement, the Html block will automatically assign text as print output.&lt;br /&gt;
Any Model 204 expression, including simple %variable values or $function invocations,&lt;br /&gt;
can be placed inside an Html block, as long as it is enclosed inside the expression start&lt;br /&gt;
and end characters. The default start and end characters are the curly brackets ( { )&lt;br /&gt;
and ( } ).&lt;br /&gt;
&lt;br /&gt;
The following is an example of an &#039;&#039;&#039;Html&#039;&#039;&#039; statement specification:&lt;br /&gt;
&lt;br /&gt;
  HTML&lt;br /&gt;
  &amp;lt;form method=&amp;quot;POST&amp;quot; action=&amp;quot;processform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  Last name: &amp;lt;input type=&amp;quot;text&amp;quot;&lt;br /&gt;
  name=&amp;quot;lname&amp;quot; value=&amp;quot;{%LNAME}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
  END HTML&lt;br /&gt;
&lt;br /&gt;
The syntax of the &#039;&#039;&#039;Html&#039;&#039;&#039; and &#039;&#039;&#039;Text&#039;&#039;&#039; blocks is shown below:&lt;br /&gt;
&lt;br /&gt;
  HTML [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
  TEXT [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;options&#039;&#039;, &#039;&#039;body&#039;&#039;, and &#039;&#039;block_end_line&#039;&#039; are discussed below.&lt;br /&gt;
&lt;br /&gt;
The components of the Html or Text block are discussed in the following sections. The Html (or Text) block can be used in contexts other than the production of a web page. For example, it can be used:&lt;br /&gt;
* To store lines in a temporary procedure or sequential dataset, using the USE command&lt;br /&gt;
* To populate a StringList, using the To option on the Html/Text statement&lt;br /&gt;
* To populate a $list, using the $LIST_CAPTURE function&lt;br /&gt;
* To send lines over a Janus Sockets connection, using the $SOCK_CAPTURE function&lt;br /&gt;
* To prepare output processed by some other program, when the output is created by something like a BATCH2 or RCL connection to Model 204 Here are some advantages of the Html/Text block:&lt;br /&gt;
* User Language is visually close to the output.&lt;br /&gt;
* Literal text does not need to be enclosed in apostrophes.&lt;br /&gt;
* The Print keyword is not necessary.&lt;br /&gt;
* Any valid Model 204 expression can be included inside an Html block, not just literals, %variables, fieldnames, $functions, and a few other constructs.&lt;br /&gt;
* The With and And keywords are not needed between expressions.&lt;br /&gt;
* Apostrophes do not need to be doubled, as in: &lt;br /&gt;
&lt;br /&gt;
  PRINT &amp;lt;nowiki&amp;gt;&#039;Just say &#039;&#039;No&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of an Html block using JavaScript to illustrate applications of the &#039;&#039;&#039;Html/Text&#039;&#039;&#039; options:&lt;br /&gt;
&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;My Javascript Page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  !{$SIR_DATE(&#039;Wkd Mon DD YYYY HH:MI:SS&#039;)}!&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  name=prompt(&amp;quot;Person&#039;s name&amp;quot;,&amp;quot;Type name here&amp;quot;);&lt;br /&gt;
  END HTML&lt;br /&gt;
  %S1=&#039;if (name==&amp;quot;&#039;&lt;br /&gt;
  FR WHERE RECTYPE=PHONE&lt;br /&gt;
  PRINT %S1 WITH NAME -&lt;br /&gt;
  WITH &#039;&amp;quot;) {document.write(&amp;quot;&#039; WITH EXTN WITH &#039;&amp;quot;)}&#039;&lt;br /&gt;
  %S1=&#039;else if (name==&amp;quot;&#039;&lt;br /&gt;
  END FOR&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  else {alert (&amp;quot;Unkown person&amp;quot;)};&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Html&#039;&#039;&#039; statement options used in this example:&lt;br /&gt;
* Nocont is used to turn off continuations signified by trailing dashes. In the JavaScript, dashes are used in an input line that prevents browsers without JavaScript from displaying script as literal output.&lt;br /&gt;
* Exprs and Expre let you use characters other than the curly brackets ( { } ) to demarcate expressions. The curly bracket characters are necessary in JavaScript.&lt;br /&gt;
&lt;br /&gt;
New in Sirius Mods version 6.0, the Html block is available to any customer who owns any of the following products:&lt;br /&gt;
* &#039;&#039;Fast/Unload User Language Interface&#039;&#039;&lt;br /&gt;
*&#039;&#039; Janus SOAP&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Sockets&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Web Server&#039;&#039;&lt;br /&gt;
* &#039;&#039;Sirius Functions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; block is also available if the Limited Janus Web Server capability is available.&lt;br /&gt;
==Options: Html or Text block options==&lt;br /&gt;
The various options for an Html or Text block are introduced after the Html or Text&lt;br /&gt;
keyword. They are described in the following subsections.&lt;br /&gt;
===Data, Print, Audit, or Trace===&lt;br /&gt;
These keywords indicate that the Html block consists of only the text that follows the&lt;br /&gt;
keyword on the logical line: that is, there is no End Html statement to end the block.&lt;br /&gt;
&lt;br /&gt;
Prior to Sirius Mods version 7.2, only the Data keyword had this effect, and the Print,&lt;br /&gt;
Audit, and Trace keywords did not exist.&lt;br /&gt;
&lt;br /&gt;
Any Html statement keywords that appear after a Data, Print, Audit, or Trace keyword&lt;br /&gt;
are processed not as keywords but simply as text. If you want to specify keywords in&lt;br /&gt;
addition to a Data, Print, Audit, or Trace keyword, they must appear before Data, Print,&lt;br /&gt;
Audit, or Trace to be treated as a keyword.&lt;br /&gt;
&lt;br /&gt;
All other Html block processing, including expression processing, is performed on the&lt;br /&gt;
line as if it were inside an Html block. The exception is Nodummy processing, because&lt;br /&gt;
dummy string replacement is performed before the Html statement is parsed.&lt;br /&gt;
&lt;br /&gt;
====Data or Print====&lt;br /&gt;
Either of these keywords can be thought of as providing a single-line&lt;br /&gt;
Html/Text statement which can still be much easier to type and read&lt;br /&gt;
than a User Language PRINT statement, as in:&lt;br /&gt;
&lt;br /&gt;
  HTML DATA Don&#039;t need to worry about apostrophes&lt;br /&gt;
  TEXT PRINT {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the second statement in the&lt;br /&gt;
preceding example.&lt;br /&gt;
&lt;br /&gt;
  PrintText {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; statement has the same effect as a Text Print statement.&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; keyword is simply a merging and reordering of &#039;&#039;Text&lt;br /&gt;
Print&#039;&#039; to emphasize the principle action. The lone difference between&lt;br /&gt;
PrintText and Text Print is that PrintText cannot be used if you want to&lt;br /&gt;
include other Html/Text options, as in:&lt;br /&gt;
&lt;br /&gt;
  text noexpr print The set is {2, 3, 5, 8, 13, ...}&lt;br /&gt;
&lt;br /&gt;
The Data keyword is available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later. The Print&lt;br /&gt;
and PrintText keywords are available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later.&lt;br /&gt;
&lt;br /&gt;
====Audit====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that functions&lt;br /&gt;
like a User Language AUDIT statement, that is, routing subsequent text&lt;br /&gt;
to the audit trail.&lt;br /&gt;
&lt;br /&gt;
For example, this statement directs the text content to the audit trail:&lt;br /&gt;
&lt;br /&gt;
  text audit It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  AuditText It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
As with the PrintText keyword above, the AuditText statement has the&lt;br /&gt;
same effect as a Text Audit statement, except it cannot be used if you&lt;br /&gt;
want to include additional Html/Text options.&lt;br /&gt;
&lt;br /&gt;
The Audit keyword is available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later. The&lt;br /&gt;
AuditText keyword is available as of &#039;&#039;Sirius Mods 7.2&#039;&#039;.&lt;br /&gt;
====Trace====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that is the&lt;br /&gt;
same as a User Language TRACE statement, that is, routing&lt;br /&gt;
subsequent text to the trace destination (which may be the audit trail,&lt;br /&gt;
print device, or CCATEMP trace table, or a combination of them).&lt;br /&gt;
For example, this statement directs the text content by default to the&lt;br /&gt;
audit trail:&lt;br /&gt;
&lt;br /&gt;
  text trace This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  TraceText This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
As with the PrintText and AudiText keywords above, the TraceText&lt;br /&gt;
statement has the same effect as a Text Trace statement, except it&lt;br /&gt;
cannot be used if you want to include additional Html/Text options.&lt;br /&gt;
The Trace and TraceText keywords are available as of &#039;&#039;Sirius Mods 7.2.&#039;&#039;&lt;br /&gt;
The Trace statement is described in detail in the SirFact Reference&lt;br /&gt;
Manual.&lt;br /&gt;
&lt;br /&gt;
====Ent_print====&lt;br /&gt;
The Ent_print keyword overrides the current $ENT_PRINT setting for character entity&lt;br /&gt;
translation over the Html block. Ent_print must be followed by one of these keywords:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Off&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No character entity translation will occur over the Html block.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;On&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;All data printed by the Html statement will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Var&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Only the results of expressions will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Character entity translation is the process of converting a single character that might be&lt;br /&gt;
problematic in certain contexts to a more verbose but non-problematic equivalent. For&lt;br /&gt;
example, if a “less than” sign (&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;) appears in HTML text, it should typically be represented&lt;br /&gt;
as &amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; to prevent an HTML processor from mistakenly interpreting it as the start of an&lt;br /&gt;
HTML tag.&lt;br /&gt;
&lt;br /&gt;
When entity translation is performed, the default translations are “&amp;amp;” to &amp;lt;nowiki&amp;gt;“&amp;amp;amp;”&amp;lt;/nowiki&amp;gt;, “&amp;lt;” to&lt;br /&gt;
&amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; and the double quotation mark character (&amp;quot;) to &amp;lt;nowiki&amp;gt;“&amp;amp;quot;”&amp;lt;/nowiki&amp;gt;. These defaults should&lt;br /&gt;
be sufficient for most HTML and XML applications (though XML might also require&lt;br /&gt;
translation of the single quotation mark character (&#039;) to &amp;lt;nowiki&amp;gt;“&amp;amp;apos;”&amp;lt;/nowiki&amp;gt; if attributes are&lt;br /&gt;
enclosed in single quotation marks), but they can be modified with the $ENT_TAB&lt;br /&gt;
function.&lt;br /&gt;
&lt;br /&gt;
The Ent_print keyword is a compile-time option that affects only what is inside the Html&lt;br /&gt;
block and that is not affected by evaluation time setting of $ENT_PRINT, even within the&lt;br /&gt;
Html block. If no Ent_print keyword is present on the Html statement, character entity&lt;br /&gt;
translation is controlled by the evaluation-time $ENT_PRINT setting.&lt;br /&gt;
Automatic character entity translation and the Ent_print keyword on the Html/Text&lt;br /&gt;
statement are only available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later.&lt;br /&gt;
====LiteralsToTemp====&lt;br /&gt;
The LiteralsToTempt option indicates that the literal data in the statement is stored in&lt;br /&gt;
CCATEMP rather than STBL, avoiding excessive demands on STBL space. Designed&lt;br /&gt;
for a Text statement with an unusually large amount of literal data, this is an alternative&lt;br /&gt;
to setting the X&#039;01&#039; bit of the SIRCOMP user parameter (which performs the same&lt;br /&gt;
function).&lt;br /&gt;
====Nocom or Nocomments====&lt;br /&gt;
The Nocomments (abbreviated Nocom) option indicates that lines beginning with an&lt;br /&gt;
asterisk (*) are not comment lines. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; HTML NOCOM&lt;br /&gt;
  * This line will go to the output&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Nocont or Nocontinuations====&lt;br /&gt;
The Nocontinuations (abbreviated Nocont) option causes trailing dashes to cease&lt;br /&gt;
being treated as line continuations. For example, the following statement will cause the&lt;br /&gt;
output to appear on two separate lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; HTML NOCONT&lt;br /&gt;
  English:             B-&lt;br /&gt;
  Social Studies:      C&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Nodum or Nodummy====&lt;br /&gt;
The Nodummy (abbreviated Nodum) option stops dummy string substitution. For&lt;br /&gt;
example, the following statement will cause the literal string ?&amp;amp;W to be output without&lt;br /&gt;
global variable substitution:&lt;br /&gt;
&lt;br /&gt;
  HTML NODUM&lt;br /&gt;
  Hello, ?&amp;amp;W&lt;br /&gt;
  END HTML&lt;br /&gt;
====Noell or Noellipses====&lt;br /&gt;
With the Noellipses (abbreviated Noell) option, a trailing ellipsis (...) is not treated as&lt;br /&gt;
a concatenation operator. For example:&lt;br /&gt;
&lt;br /&gt;
  HTML NOELL&lt;br /&gt;
  These lines are not joined...&lt;br /&gt;
  They will appear on different lines.&lt;br /&gt;
   END HTML&lt;br /&gt;
====Noexpr or Noexpressions====&lt;br /&gt;
If you do not want expression substitution, specify Noexpr or Noexpressions. For&lt;br /&gt;
example:&lt;br /&gt;
  HTML NOEXPR&lt;br /&gt;
  {This will be sent directly to output}&lt;br /&gt;
  END HTML&lt;br /&gt;
====Raw====&lt;br /&gt;
The Raw option acts as Nocom, Nocont, Nodum, Noell, and Noexpr all at once.&lt;br /&gt;
 ====Noend====&lt;br /&gt;
The Noend option eliminates the block end line. Thus, the block will terminate at the&lt;br /&gt;
end of the procedure. For example:&lt;br /&gt;
  PROC FOO&lt;br /&gt;
  HTML NOEND&lt;br /&gt;
  Now we are in HTML.&lt;br /&gt;
  END HTML&lt;br /&gt;
  Still in HTML.&lt;br /&gt;
  END PROC&lt;br /&gt;
&lt;br /&gt;
====Exprs or Exprstart====&lt;br /&gt;
The Exprstart (abbreviated Exprs) option specifies a string, up to three characters&lt;br /&gt;
long, that begins an expression within the block body. The default is a left curly brace&lt;br /&gt;
( { ). For example:&lt;br /&gt;
&lt;br /&gt;
  HTML EXPRS go EXPRE stp&lt;br /&gt;
  The answer is go8*9stp&lt;br /&gt;
  HTML END&lt;br /&gt;
&lt;br /&gt;
It is probably best to use start and end sequences that are not likely to occur in the literal&lt;br /&gt;
text in the Html/Text block and that clearly demarcate expressions from literal text. The&lt;br /&gt;
go and stp in the example above are actually not very good choices.&lt;br /&gt;
&lt;br /&gt;
If the expression start string occurs in the input text, you can “double” the expression&lt;br /&gt;
start and end strings, instead of using the Exprs and Expre options. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;HTML&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  {{alert(&amp;quot;User error&amp;quot;)}}&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to handle the curly braces in the script above is shown in the Html block example at the beginning of this chapter: that is, specifying &#039;&#039;&#039;HTML EXPRS &#039;!{&#039;EXPRE &#039;}!&#039;&#039;&#039;&#039; and&#039;&#039;&#039; !{alert(&amp;quot;User error&amp;quot;)!&#039;&#039;&#039;}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you use multiple special characters to demarcate expressions, you are advised&lt;br /&gt;
to enclose those characters in single quotation marks (as above) in your Exprs and&lt;br /&gt;
Expre specifications. Otherwise, multiple-character combinations involving certain&lt;br /&gt;
special characters (including these six, for example: = ¬ ( ) &amp;lt; &amp;gt; ) cause M204.0580&lt;br /&gt;
errors.&lt;br /&gt;
====Expre or Exprend====&lt;br /&gt;
The Exprend (abbreviated Expre) option specifies a string that ends an expression&lt;br /&gt;
within the block body. The default is a right curly brace ( } ).&lt;br /&gt;
====End====&lt;br /&gt;
To set your own block_end_line, you can use the End option. If the text of the line you&lt;br /&gt;
are specifying contains spaces, enclose it in single quotation marks, as in:&lt;br /&gt;
  END &#039;END TEXT BLOCK&#039;&lt;br /&gt;
The default block_end_line value is &#039;&#039;&#039;End Html&#039;&#039;&#039; (for the Html block) or &#039;&#039;&#039;End Text&#039;&#039;&#039; (for the&lt;br /&gt;
Text block).&lt;br /&gt;
====To %stringList | Audit | Print | Trace====&lt;br /&gt;
The To option lets you direct the contents of the Html or Text block to a StringList or to&lt;br /&gt;
the destinations associated with the User Language statements Audit, Print, or Trace.&lt;br /&gt;
To %stringlist&lt;br /&gt;
Here is how Text To populates a StringList with some names:&lt;br /&gt;
  %jumps is object stringList&lt;br /&gt;
  ...&lt;br /&gt;
  %jumps = new&lt;br /&gt;
  text to %jumps&lt;br /&gt;
  Axel&lt;br /&gt;
  Flip&lt;br /&gt;
  Lutz&lt;br /&gt;
  Salchow&lt;br /&gt;
  Toe Loop&lt;br /&gt;
  Wally&lt;br /&gt;
  end text&lt;br /&gt;
&lt;br /&gt;
There are many advantages to using Html To or Text To over a plain Html statement&lt;br /&gt;
wih $LIST_CAPTURE:&lt;br /&gt;
* $LIST_CAPTURE or an equivalent is not available for StringLists.&lt;br /&gt;
* Because Html To does not go through generic Print processing, it has a somewhat more efficient processing path, that is, it uses less CPU.&lt;br /&gt;
* Because Html To does not go through generic Print processing, the generated quads take somewhat less space.&lt;br /&gt;
* An Html To block does not affect the current $LIST_CAPTURE setting, so it eliminates the need to worry about saving and restoring the $LIST_CAPTURE setting.&lt;br /&gt;
* A To option on an Html statement is simply less and cleaner code than an Html statement inside a $LIST_CAPTURE bracket.&lt;br /&gt;
* If an expression inside an Html To block invokes a User Language method, and that method does a Print statement, the output of that Print statement does not end up on the StringList target of the Html statement. Inside a $LIST_CAPTURE bracket, the output of such a Print statement ends up on the $LIST_CAPTURE&#039;s target $list.&lt;br /&gt;
&lt;br /&gt;
The To option of the Html/Text statement appends to the target StringList, so it does not&lt;br /&gt;
instantiate the stringList if it is null. In fact, a null StringList target for an Html To results&lt;br /&gt;
in a null-pointer request-cancelling error.&lt;br /&gt;
&lt;br /&gt;
Even if the ultimate target of an Html/Text statement is a plain $list, the Html To can still&lt;br /&gt;
be used to gain some of the benefits of this structure without much extra code by using&lt;br /&gt;
the Stringlist object MoveFromId and MoveToId methods:&lt;br /&gt;
&lt;br /&gt;
  %htmlList is object stringList&lt;br /&gt;
  %list is float&lt;br /&gt;
  ...&lt;br /&gt;
  %list = $listNew&lt;br /&gt;
  ...&lt;br /&gt;
  %htmlList = new&lt;br /&gt;
  %htmlList:modeFromId(%list)&lt;br /&gt;
  text to %htmlList&lt;br /&gt;
  This gets added to the $list.&lt;br /&gt;
  end text&lt;br /&gt;
  %htmlList:modeToId(%list)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To Audit, To Print, To Trace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These options direct the contents of an Html or Text block or line to the destinations&lt;br /&gt;
associated with the User Language statements Audit, Print, or Trace. Respectively&lt;br /&gt;
these destinations are the journal/audit trail, the current print output device, or the trace&lt;br /&gt;
destination (which may be the audit trail, print device, or CCATEMP trace table, or a&lt;br /&gt;
combination of them).&lt;br /&gt;
&lt;br /&gt;
For example, the following statement directs the Text block content to the audit trail:&lt;br /&gt;
&lt;br /&gt;
  text to audit&lt;br /&gt;
  Now ({$time}) is the time for all good men&lt;br /&gt;
  to come to the aid of their company.&lt;br /&gt;
  end text&lt;br /&gt;
&lt;br /&gt;
To direct a single line of output, you can use the Data keyword (&#039;&#039;Data, Print, Audit, or&lt;br /&gt;
Trace&#039;&#039;)  as in the following:&lt;br /&gt;
&lt;br /&gt;
  text to audit Data It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
Or, simpler, you can use the Audit keyword like this:&lt;br /&gt;
&lt;br /&gt;
  text Audit It ({$time}) was the best of times&lt;br /&gt;
====Body: Html or Text block body====&lt;br /&gt;
Each line of an Html or Text block, up to the block_end_line, creates a line of literal&lt;br /&gt;
output, with the following substitutions:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Expressions&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; An expression is begun by a left brace ( { ) or a user-defined string specified with the Exprs option, and it is ended by a right brace ( } ) or a user-defined string specified with the Expre option. Text within the expression is evaluated as if it were the right-hand side of a User Language assignment; that value is produced, rather than literal output.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Dummy strings&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;  Normally, as in other Model 204 input, dummy strings are substituted under the control of the SUB parameter. This can be suppressed with the Nodummy option, which may be useful if your block contains strings like “what the heck??!!”.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Continuation&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;  Continuation allows text from multiple lines to be printed on one line by adding a hyphen (-) to all preceding lines in the block. All spacing and indentation following the hyphen is ignored. This option works&lt;br /&gt;
inside an expression.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Ellipses&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Ellipses allow text from multiple command lines to be printed on one line by adding three dots (...) to all preceding command lines. Leading spaces will be included. This option will not work inside an expression.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Indentation&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Except for continuation lines, the output of a line is indented by as many spaces as the input is indented relative to the Html or Text statement that begins the block.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
====block_end_line: Html or Text block end====&lt;br /&gt;
By default, the line that ends an Html or Text block is End Html for an Html block, or it&lt;br /&gt;
is End Text for a Text block. You can specify your own end line with the End option,&lt;br /&gt;
as described above in “End”.&lt;br /&gt;
====Printing of expression results====&lt;br /&gt;
Model 204 expressions enclosed in the expression start and end characters are printed&lt;br /&gt;
as if the result of the expression were placed literally in the place of the expression in the&lt;br /&gt;
HTML block. For example, Text Print {$date} produces a result like 08-02-29.&lt;br /&gt;
====Character entity substitution====&lt;br /&gt;
Under &#039;&#039;Sirius Mods 6.2&#039;&#039; and later, the result of the expression might undergo character&lt;br /&gt;
entity substitution under control of the $ENT_PRINT setting or the Ent_print parameter&lt;br /&gt;
on the Html/Text statement. An expression can explicitly override the default&lt;br /&gt;
$ENT_PRINT and Ent_print processing by immediately following the expression start&lt;br /&gt;
character(s) with one of the following special characters:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Perform character entity substitution regardless of the current $ENT_PRINT&lt;br /&gt;
setting and the Ent_print setting on the Html statement.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Do not perform character entity substitution, regardless of the current&lt;br /&gt;
$ENT_PRINT setting and the Ent_print setting on the Html statement.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Do not print the results of the expression. This can be useful if embedding a $function that itself prints output, such as $LIST_PRINT or $WEB_SEL, or a $function that simply sets some environmental parameter (such as $WEB_SET or $RESETN) whose return value should not be displayed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The asterisk (*) suppresses the printing of the return code but not the&lt;br /&gt;
output from a $LIST_PRINT or $WEB_SEL function.&lt;br /&gt;
&lt;br /&gt;
In the following example, character entity substitution is explicitly suppressed for the&lt;br /&gt;
contents of %FONT and explicitly forced for %COMMENT, and the return code from&lt;br /&gt;
$LIST_PRINT is suppressed:&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;HTML&lt;br /&gt;
  {!%FONT}This is in a fancy font&amp;lt;/font&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;comment&amp;quot; value=&amp;quot;{&amp;amp;%COMMENT}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;And here&#039;s some stuff&amp;lt;br&amp;gt;&lt;br /&gt;
  {*$LIST_PRINT(%LIST)}&lt;br /&gt;
  END HTML&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====The {~} directive====&lt;br /&gt;
The special expression {~} directs the compiler to replace this expression with the literal&lt;br /&gt;
chartacter content of the next expression appearing on the same line. So PrintText&lt;br /&gt;
{~} {$date} produces &#039;&#039;&#039;$date 08-02-29&#039;&#039;&#039;. The evaluation of the expression following&lt;br /&gt;
{~} is carried out as usual.&lt;br /&gt;
===Table Usage===&lt;br /&gt;
While the &#039;&#039;&#039;Html/Text&#039;&#039;&#039; statement can provide a convenient typing shorthand relative to a&lt;br /&gt;
host of Print statements, and it can make code considerably more readable, it does not&lt;br /&gt;
necessarily use any less table space than the comparable Print statements.&lt;br /&gt;
&lt;br /&gt;
Under &#039;&#039;Sirius Mods version 6.6&#039;&#039; and later, however, table space can be saved with the&lt;br /&gt;
Html/Text statement, as follows:&lt;br /&gt;
&lt;br /&gt;
* By using the To clause and sending the Html/Text statement output directly to a StringList, the amount of QTBL space used is reduced.&lt;br /&gt;
* If the X&#039;01&#039; bit is set in the SIRCOMP user parameter when a program is compiled, string literals are saved in CCATEMP rather than STBL. Since Html/Text statements often have a large quantity of literal text, they can use a lot of STBL space, so the STBL space savings of the SIRCOMP X&#039;01&#039; bit can be great.&lt;br /&gt;
&lt;br /&gt;
The drawback to having string literals in CCATEMP rather than STBL is that the access path to the data is somewhat longer, that is, slightly more CPU is required to&lt;br /&gt;
access it. When the Html/Text statement uses a To clause, the extra overhead of&lt;br /&gt;
CCATEMP data access is reduced, because Html/Text To processing keeps the&lt;br /&gt;
CCATEMP pages holding literal data open over as many literals as possible.&lt;br /&gt;
&lt;br /&gt;
Furthermore, for pre-compiled APSY procedures, the literals in CCATEMP do not&lt;br /&gt;
need to be APSY loaded, and they are shared among all users of a procedure.&lt;br /&gt;
Finally, if a user with a large number of Html/Text statement literals is serverswapped,&lt;br /&gt;
there is less data to server-swap if literals are kept in CCATEMP&lt;br /&gt;
(although, the data in CCATEMP does take buffer pool space and might require&lt;br /&gt;
CCATEMP I/O).&lt;br /&gt;
&lt;br /&gt;
So there is probably no good general rule of thumb regarding whether the SIRCOMP&lt;br /&gt;
X&#039;01&#039; bit should be set. Probably, unless a site is struggling with server size problems, it&lt;br /&gt;
is best and simplest to just keep the literals in STBL.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3204</id>
		<title>Text and Html statements</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3204"/>
		<updated>2010-10-05T15:20:53Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Bold text&#039;&#039;&#039;==The &#039;&#039;&#039;HTML&#039;&#039;&#039; or &#039;&#039;&#039;TEXT&#039;&#039;&#039; statement==&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; (or &#039;&#039;&#039;Text&#039;&#039;&#039;) statement in User Language is a general purpose alternative to a&lt;br /&gt;
series of Print statements for producing a fair amount of literal data. Primarily for use&lt;br /&gt;
with Janus Web Server (hence the name Html), it is available with many Sirius&lt;br /&gt;
products. It is most useful when PRINT output is captured or directed by some means.&lt;br /&gt;
It is also quite useful for populating a StringList with a large amount of mostly constant&lt;br /&gt;
text. This latter capability is provided by the To option of the Html/Text statement.&lt;br /&gt;
&lt;br /&gt;
In this section, “HTML block” refers to either the Html or Text block.&lt;br /&gt;
&lt;br /&gt;
The Html block can be used to produce print output of largely literal or static data. For&lt;br /&gt;
example, sending output to a browser with Janus Web Server often requires a significant&lt;br /&gt;
quantity of static text for HTML directives. Rather than placing this static data inside&lt;br /&gt;
quotes in a Print statement, the Html block will automatically assign text as print output.&lt;br /&gt;
Any Model 204 expression, including simple %variable values or $function invocations,&lt;br /&gt;
can be placed inside an Html block, as long as it is enclosed inside the expression start&lt;br /&gt;
and end characters. The default start and end characters are the curly brackets ( { )&lt;br /&gt;
and ( } ).&lt;br /&gt;
&lt;br /&gt;
The following is an example of an &#039;&#039;&#039;Html&#039;&#039;&#039; statement specification:&lt;br /&gt;
&lt;br /&gt;
  HTML&lt;br /&gt;
  &amp;lt;form method=&amp;quot;POST&amp;quot; action=&amp;quot;processform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  Last name: &amp;lt;input type=&amp;quot;text&amp;quot;&lt;br /&gt;
  name=&amp;quot;lname&amp;quot; value=&amp;quot;{%LNAME}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
  END HTML&lt;br /&gt;
&lt;br /&gt;
The syntax of the &#039;&#039;&#039;Html&#039;&#039;&#039; and &#039;&#039;&#039;Text&#039;&#039;&#039; blocks is shown below:&lt;br /&gt;
&lt;br /&gt;
  HTML [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
  TEXT [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;options&#039;&#039;, &#039;&#039;body&#039;&#039;, and &#039;&#039;block_end_line&#039;&#039; are discussed below.&lt;br /&gt;
&lt;br /&gt;
The components of the Html or Text block are discussed in the following sections. The Html (or Text) block can be used in contexts other than the production of a web page. For example, it can be used:&lt;br /&gt;
* To store lines in a temporary procedure or sequential dataset, using the USE command&lt;br /&gt;
* To populate a StringList, using the To option on the Html/Text statement&lt;br /&gt;
* To populate a $list, using the $LIST_CAPTURE function&lt;br /&gt;
* To send lines over a Janus Sockets connection, using the $SOCK_CAPTURE function&lt;br /&gt;
* To prepare output processed by some other program, when the output is created by something like a BATCH2 or RCL connection to Model 204 Here are some advantages of the Html/Text block:&lt;br /&gt;
* User Language is visually close to the output.&lt;br /&gt;
* Literal text does not need to be enclosed in apostrophes.&lt;br /&gt;
* The Print keyword is not necessary.&lt;br /&gt;
* Any valid Model 204 expression can be included inside an Html block, not just literals, %variables, fieldnames, $functions, and a few other constructs.&lt;br /&gt;
* The With and And keywords are not needed between expressions.&lt;br /&gt;
* Apostrophes do not need to be doubled, as in: &lt;br /&gt;
&lt;br /&gt;
  PRINT &amp;lt;nowiki&amp;gt;&#039;Just say &#039;&#039;No&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of an Html block using JavaScript to illustrate applications of the &#039;&#039;&#039;Html/Text&#039;&#039;&#039; options:&lt;br /&gt;
&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;My Javascript Page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  !{$SIR_DATE(&#039;Wkd Mon DD YYYY HH:MI:SS&#039;)}!&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  name=prompt(&amp;quot;Person&#039;s name&amp;quot;,&amp;quot;Type name here&amp;quot;);&lt;br /&gt;
  END HTML&lt;br /&gt;
  %S1=&#039;if (name==&amp;quot;&#039;&lt;br /&gt;
  FR WHERE RECTYPE=PHONE&lt;br /&gt;
  PRINT %S1 WITH NAME -&lt;br /&gt;
  WITH &#039;&amp;quot;) {document.write(&amp;quot;&#039; WITH EXTN WITH &#039;&amp;quot;)}&#039;&lt;br /&gt;
  %S1=&#039;else if (name==&amp;quot;&#039;&lt;br /&gt;
  END FOR&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  else {alert (&amp;quot;Unkown person&amp;quot;)};&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Html&#039;&#039;&#039; statement options used in this example:&lt;br /&gt;
* Nocont is used to turn off continuations signified by trailing dashes. In the JavaScript, dashes are used in an input line that prevents browsers without JavaScript from displaying script as literal output.&lt;br /&gt;
* Exprs and Expre let you use characters other than the curly brackets ( { } ) to demarcate expressions. The curly bracket characters are necessary in JavaScript.&lt;br /&gt;
&lt;br /&gt;
New in Sirius Mods version 6.0, the Html block is available to any customer who owns any of the following products:&lt;br /&gt;
* &#039;&#039;Fast/Unload User Language Interface&#039;&#039;&lt;br /&gt;
*&#039;&#039; Janus SOAP&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Sockets&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Web Server&#039;&#039;&lt;br /&gt;
* &#039;&#039;Sirius Functions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; block is also available if the Limited Janus Web Server capability is available.&lt;br /&gt;
==Options: Html or Text block options==&lt;br /&gt;
The various options for an Html or Text block are introduced after the Html or Text&lt;br /&gt;
keyword. They are described in the following subsections.&lt;br /&gt;
===Data, Print, Audit, or Trace===&lt;br /&gt;
These keywords indicate that the Html block consists of only the text that follows the&lt;br /&gt;
keyword on the logical line: that is, there is no End Html statement to end the block.&lt;br /&gt;
&lt;br /&gt;
Prior to Sirius Mods version 7.2, only the Data keyword had this effect, and the Print,&lt;br /&gt;
Audit, and Trace keywords did not exist.&lt;br /&gt;
&lt;br /&gt;
Any Html statement keywords that appear after a Data, Print, Audit, or Trace keyword&lt;br /&gt;
are processed not as keywords but simply as text. If you want to specify keywords in&lt;br /&gt;
addition to a Data, Print, Audit, or Trace keyword, they must appear before Data, Print,&lt;br /&gt;
Audit, or Trace to be treated as a keyword.&lt;br /&gt;
&lt;br /&gt;
All other Html block processing, including expression processing, is performed on the&lt;br /&gt;
line as if it were inside an Html block. The exception is Nodummy processing, because&lt;br /&gt;
dummy string replacement is performed before the Html statement is parsed.&lt;br /&gt;
&lt;br /&gt;
====Data or Print====&lt;br /&gt;
Either of these keywords can be thought of as providing a single-line&lt;br /&gt;
Html/Text statement which can still be much easier to type and read&lt;br /&gt;
than a User Language PRINT statement, as in:&lt;br /&gt;
&lt;br /&gt;
  HTML DATA Don&#039;t need to worry about apostrophes&lt;br /&gt;
  TEXT PRINT {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the second statement in the&lt;br /&gt;
preceding example.&lt;br /&gt;
&lt;br /&gt;
  PrintText {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; statement has the same effect as a Text Print statement.&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; keyword is simply a merging and reordering of &#039;&#039;Text&lt;br /&gt;
Print&#039;&#039; to emphasize the principle action. The lone difference between&lt;br /&gt;
PrintText and Text Print is that PrintText cannot be used if you want to&lt;br /&gt;
include other Html/Text options, as in:&lt;br /&gt;
&lt;br /&gt;
  text noexpr print The set is {2, 3, 5, 8, 13, ...}&lt;br /&gt;
&lt;br /&gt;
The Data keyword is available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later. The Print&lt;br /&gt;
and PrintText keywords are available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later.&lt;br /&gt;
&lt;br /&gt;
====Audit====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that functions&lt;br /&gt;
like a User Language AUDIT statement, that is, routing subsequent text&lt;br /&gt;
to the audit trail.&lt;br /&gt;
&lt;br /&gt;
For example, this statement directs the text content to the audit trail:&lt;br /&gt;
&lt;br /&gt;
  text audit It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  AuditText It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
As with the PrintText keyword above, the AuditText statement has the&lt;br /&gt;
same effect as a Text Audit statement, except it cannot be used if you&lt;br /&gt;
want to include additional Html/Text options.&lt;br /&gt;
&lt;br /&gt;
The Audit keyword is available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later. The&lt;br /&gt;
AuditText keyword is available as of &#039;&#039;Sirius Mods 7.2&#039;&#039;.&lt;br /&gt;
====Trace====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that is the&lt;br /&gt;
same as a User Language TRACE statement, that is, routing&lt;br /&gt;
subsequent text to the trace destination (which may be the audit trail,&lt;br /&gt;
print device, or CCATEMP trace table, or a combination of them).&lt;br /&gt;
For example, this statement directs the text content by default to the&lt;br /&gt;
audit trail:&lt;br /&gt;
&lt;br /&gt;
  text trace This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  TraceText This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
As with the PrintText and AudiText keywords above, the TraceText&lt;br /&gt;
statement has the same effect as a Text Trace statement, except it&lt;br /&gt;
cannot be used if you want to include additional Html/Text options.&lt;br /&gt;
The Trace and TraceText keywords are available as of &#039;&#039;Sirius Mods 7.2.&#039;&#039;&lt;br /&gt;
The Trace statement is described in detail in the SirFact Reference&lt;br /&gt;
Manual.&lt;br /&gt;
&lt;br /&gt;
====Ent_print====&lt;br /&gt;
The Ent_print keyword overrides the current $ENT_PRINT setting for character entity&lt;br /&gt;
translation over the Html block. Ent_print must be followed by one of these keywords:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Off&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No character entity translation will occur over the Html block.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;On&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;All data printed by the Html statement will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Var&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Only the results of expressions will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Character entity translation is the process of converting a single character that might be&lt;br /&gt;
problematic in certain contexts to a more verbose but non-problematic equivalent. For&lt;br /&gt;
example, if a “less than” sign (&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;) appears in HTML text, it should typically be represented&lt;br /&gt;
as &amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; to prevent an HTML processor from mistakenly interpreting it as the start of an&lt;br /&gt;
HTML tag.&lt;br /&gt;
&lt;br /&gt;
When entity translation is performed, the default translations are “&amp;amp;” to &amp;lt;nowiki&amp;gt;“&amp;amp;amp;”&amp;lt;/nowiki&amp;gt;, “&amp;lt;” to&lt;br /&gt;
&amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; and the double quotation mark character (&amp;quot;) to &amp;lt;nowiki&amp;gt;“&amp;amp;quot;”&amp;lt;/nowiki&amp;gt;. These defaults should&lt;br /&gt;
be sufficient for most HTML and XML applications (though XML might also require&lt;br /&gt;
translation of the single quotation mark character (&#039;) to &amp;lt;nowiki&amp;gt;“&amp;amp;apos;”&amp;lt;/nowiki&amp;gt; if attributes are&lt;br /&gt;
enclosed in single quotation marks), but they can be modified with the $ENT_TAB&lt;br /&gt;
function.&lt;br /&gt;
&lt;br /&gt;
The Ent_print keyword is a compile-time option that affects only what is inside the Html&lt;br /&gt;
block and that is not affected by evaluation time setting of $ENT_PRINT, even within the&lt;br /&gt;
Html block. If no Ent_print keyword is present on the Html statement, character entity&lt;br /&gt;
translation is controlled by the evaluation-time $ENT_PRINT setting.&lt;br /&gt;
Automatic character entity translation and the Ent_print keyword on the Html/Text&lt;br /&gt;
statement are only available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later.&lt;br /&gt;
====LiteralsToTemp====&lt;br /&gt;
The LiteralsToTempt option indicates that the literal data in the statement is stored in&lt;br /&gt;
CCATEMP rather than STBL, avoiding excessive demands on STBL space. Designed&lt;br /&gt;
for a Text statement with an unusually large amount of literal data, this is an alternative&lt;br /&gt;
to setting the X&#039;01&#039; bit of the SIRCOMP user parameter (which performs the same&lt;br /&gt;
function).&lt;br /&gt;
====Nocom or Nocomments====&lt;br /&gt;
The Nocomments (abbreviated Nocom) option indicates that lines beginning with an&lt;br /&gt;
asterisk (*) are not comment lines. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; HTML NOCOM&lt;br /&gt;
  * This line will go to the output&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Nocont or Nocontinuations====&lt;br /&gt;
The Nocontinuations (abbreviated Nocont) option causes trailing dashes to cease&lt;br /&gt;
being treated as line continuations. For example, the following statement will cause the&lt;br /&gt;
output to appear on two separate lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; HTML NOCONT&lt;br /&gt;
  English:             B-&lt;br /&gt;
  Social Studies:      C&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Nodum or Nodummy====&lt;br /&gt;
The Nodummy (abbreviated Nodum) option stops dummy string substitution. For&lt;br /&gt;
example, the following statement will cause the literal string ?&amp;amp;W to be output without&lt;br /&gt;
global variable substitution:&lt;br /&gt;
&lt;br /&gt;
  HTML NODUM&lt;br /&gt;
  Hello, ?&amp;amp;W&lt;br /&gt;
  END HTML&lt;br /&gt;
====Noell or Noellipses====&lt;br /&gt;
With the Noellipses (abbreviated Noell) option, a trailing ellipsis (...) is not treated as&lt;br /&gt;
a concatenation operator. For example:&lt;br /&gt;
&lt;br /&gt;
  HTML NOELL&lt;br /&gt;
  These lines are not joined...&lt;br /&gt;
  They will appear on different lines.&lt;br /&gt;
   END HTML&lt;br /&gt;
====Noexpr or Noexpressions====&lt;br /&gt;
If you do not want expression substitution, specify Noexpr or Noexpressions. For&lt;br /&gt;
example:&lt;br /&gt;
  HTML NOEXPR&lt;br /&gt;
  {This will be sent directly to output}&lt;br /&gt;
  END HTML&lt;br /&gt;
====Raw====&lt;br /&gt;
The Raw option acts as Nocom, Nocont, Nodum, Noell, and Noexpr all at once.&lt;br /&gt;
 ====Noend====&lt;br /&gt;
The Noend option eliminates the block end line. Thus, the block will terminate at the&lt;br /&gt;
end of the procedure. For example:&lt;br /&gt;
  PROC FOO&lt;br /&gt;
  HTML NOEND&lt;br /&gt;
  Now we are in HTML.&lt;br /&gt;
  END HTML&lt;br /&gt;
  Still in HTML.&lt;br /&gt;
  END PROC&lt;br /&gt;
&lt;br /&gt;
====Exprs or Exprstart====&lt;br /&gt;
The Exprstart (abbreviated Exprs) option specifies a string, up to three characters&lt;br /&gt;
long, that begins an expression within the block body. The default is a left curly brace&lt;br /&gt;
( { ). For example:&lt;br /&gt;
&lt;br /&gt;
  HTML EXPRS go EXPRE stp&lt;br /&gt;
  The answer is go8*9stp&lt;br /&gt;
  HTML END&lt;br /&gt;
&lt;br /&gt;
It is probably best to use start and end sequences that are not likely to occur in the literal&lt;br /&gt;
text in the Html/Text block and that clearly demarcate expressions from literal text. The&lt;br /&gt;
go and stp in the example above are actually not very good choices.&lt;br /&gt;
&lt;br /&gt;
If the expression start string occurs in the input text, you can “double” the expression&lt;br /&gt;
start and end strings, instead of using the Exprs and Expre options. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;HTML&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  {{alert(&amp;quot;User error&amp;quot;)}}&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to handle the curly braces in the script above is shown in the Html block example at the beginning of this chapter: that is, specifying &#039;&#039;&#039;HTML EXPRS &#039;!{&#039;EXPRE &#039;}!&#039;&#039;&#039;&#039; and&#039;&#039;&#039; !{alert(&amp;quot;User error&amp;quot;)!&#039;&#039;&#039;}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you use multiple special characters to demarcate expressions, you are advised&lt;br /&gt;
to enclose those characters in single quotation marks (as above) in your Exprs and&lt;br /&gt;
Expre specifications. Otherwise, multiple-character combinations involving certain&lt;br /&gt;
special characters (including these six, for example: = ¬ ( ) &amp;lt; &amp;gt; ) cause M204.0580&lt;br /&gt;
errors.&lt;br /&gt;
====Expre or Exprend====&lt;br /&gt;
The Exprend (abbreviated Expre) option specifies a string that ends an expression&lt;br /&gt;
within the block body. The default is a right curly brace ( } ).&lt;br /&gt;
====End====&lt;br /&gt;
To set your own block_end_line, you can use the End option. If the text of the line you&lt;br /&gt;
are specifying contains spaces, enclose it in single quotation marks, as in:&lt;br /&gt;
  END &#039;END TEXT BLOCK&#039;&lt;br /&gt;
The default block_end_line value is &#039;&#039;&#039;End Html&#039;&#039;&#039; (for the Html block) or &#039;&#039;&#039;End Text&#039;&#039;&#039; (for the&lt;br /&gt;
Text block).&lt;br /&gt;
====To %stringList | Audit | Print | Trace====&lt;br /&gt;
The To option lets you direct the contents of the Html or Text block to a StringList or to&lt;br /&gt;
the destinations associated with the User Language statements Audit, Print, or Trace.&lt;br /&gt;
To %stringlist&lt;br /&gt;
Here is how Text To populates a StringList with some names:&lt;br /&gt;
  %jumps is object stringList&lt;br /&gt;
  ...&lt;br /&gt;
  %jumps = new&lt;br /&gt;
  text to %jumps&lt;br /&gt;
  Axel&lt;br /&gt;
  Flip&lt;br /&gt;
  Lutz&lt;br /&gt;
  Salchow&lt;br /&gt;
  Toe Loop&lt;br /&gt;
  Wally&lt;br /&gt;
  end text&lt;br /&gt;
&lt;br /&gt;
There are many advantages to using Html To or Text To over a plain Html statement&lt;br /&gt;
wih $LIST_CAPTURE:&lt;br /&gt;
* $LIST_CAPTURE or an equivalent is not available for StringLists.&lt;br /&gt;
* Because Html To does not go through generic Print processing, it has a somewhat more efficient processing path, that is, it uses less CPU.&lt;br /&gt;
* Because Html To does not go through generic Print processing, the generated quads take somewhat less space.&lt;br /&gt;
* An Html To block does not affect the current $LIST_CAPTURE setting, so it eliminates the need to worry about saving and restoring the $LIST_CAPTURE setting.&lt;br /&gt;
* A To option on an Html statement is simply less and cleaner code than an Html statement inside a $LIST_CAPTURE bracket.&lt;br /&gt;
* If an expression inside an Html To block invokes a User Language method, and that method does a Print statement, the output of that Print statement does not end up on the StringList target of the Html statement. Inside a $LIST_CAPTURE bracket, the output of such a Print statement ends up on the $LIST_CAPTURE&#039;s target $list.&lt;br /&gt;
&lt;br /&gt;
The To option of the Html/Text statement appends to the target StringList, so it does not&lt;br /&gt;
instantiate the stringList if it is null. In fact, a null StringList target for an Html To results&lt;br /&gt;
in a null-pointer request-cancelling error.&lt;br /&gt;
&lt;br /&gt;
Even if the ultimate target of an Html/Text statement is a plain $list, the Html To can still&lt;br /&gt;
be used to gain some of the benefits of this structure without much extra code by using&lt;br /&gt;
the Stringlist object MoveFromId and MoveToId methods:&lt;br /&gt;
&lt;br /&gt;
  %htmlList is object stringList&lt;br /&gt;
  %list is float&lt;br /&gt;
  ...&lt;br /&gt;
  %list = $listNew&lt;br /&gt;
  ...&lt;br /&gt;
  %htmlList = new&lt;br /&gt;
  %htmlList:modeFromId(%list)&lt;br /&gt;
  text to %htmlList&lt;br /&gt;
  This gets added to the $list.&lt;br /&gt;
  end text&lt;br /&gt;
  %htmlList:modeToId(%list)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To Audit, To Print, To Trace&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
These options direct the contents of an Html or Text block or line to the destinations&lt;br /&gt;
associated with the User Language statements Audit, Print, or Trace. Respectively&lt;br /&gt;
these destinations are the journal/audit trail, the current print output device, or the trace&lt;br /&gt;
destination (which may be the audit trail, print device, or CCATEMP trace table, or a&lt;br /&gt;
combination of them).&lt;br /&gt;
&lt;br /&gt;
For example, the following statement directs the Text block content to the audit trail:&lt;br /&gt;
&lt;br /&gt;
  text to audit&lt;br /&gt;
  Now ({$time}) is the time for all good men&lt;br /&gt;
  to come to the aid of their company.&lt;br /&gt;
  end text&lt;br /&gt;
&lt;br /&gt;
To direct a single line of output, you can use the Data keyword (&#039;&#039;Data, Print, Audit, or&lt;br /&gt;
Trace&#039;&#039;)  as in the following:&lt;br /&gt;
&lt;br /&gt;
  text to audit Data It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
Or, simpler, you can use the Audit keyword like this:&lt;br /&gt;
&lt;br /&gt;
  text Audit It ({$time}) was the best of times&lt;br /&gt;
====Body: Html or Text block body====&lt;br /&gt;
Each line of an Html or Text block, up to the block_end_line, creates a line of literal&lt;br /&gt;
output, with the following substitutions:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Expressions&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; An expression is begun by a left brace ( { ) or a user-defined string specified with the Exprs option, and it is ended by a right brace ( } ) or a user-defined string specified with the Expre option. Text within the expression is evaluated as if it were the right-hand side of a User Language assignment; that value is produced, rather than literal output.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Dummy strings&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;  Normally, as in other Model 204 input, dummy strings are substituted under the control of the SUB parameter. This can be suppressed with the Nodummy option, which may be useful if your block contains strings like “what the heck??!!”.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Continuation&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;  Continuation allows text from multiple lines to be printed on one line by adding a hyphen (-) to all preceding lines in the block. All spacing and indentation following the hyphen is ignored. This option works&lt;br /&gt;
inside an expression.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Ellipses&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Ellipses allow text from multiple command lines to be printed on one line by adding three dots (...) to all preceding command lines. Leading spaces will be included. This option will not work inside an expression.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;Indentation&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Except for continuation lines, the output of a line is indented by as many spaces as the input is indented relative to the Html or Text statement that begins the block.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
====block_end_line: Html or Text block end====&lt;br /&gt;
By default, the line that ends an Html or Text block is End Html for an Html block, or it&lt;br /&gt;
is End Text for a Text block. You can specify your own end line with the End option,&lt;br /&gt;
as described above in “End”.&lt;br /&gt;
====Printing of expression results====&lt;br /&gt;
Model 204 expressions enclosed in the expression start and end characters are printed&lt;br /&gt;
as if the result of the expression were placed literally in the place of the expression in the&lt;br /&gt;
HTML block. For example, Text Print {$date} produces a result like 08-02-29.&lt;br /&gt;
====Character entity substitution====&lt;br /&gt;
Under &#039;&#039;Sirius Mods 6.2&#039;&#039; and later, the result of the expression might undergo character&lt;br /&gt;
entity substitution under control of the $ENT_PRINT setting or the Ent_print parameter&lt;br /&gt;
on the Html/Text statement. An expression can explicitly override the default&lt;br /&gt;
$ENT_PRINT and Ent_print processing by immediately following the expression start&lt;br /&gt;
character(s) with one of the following special characters:&lt;br /&gt;
&amp;lt;table border=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; Perform character entity substitution regardless of the current $ENT_PRINT&lt;br /&gt;
setting and the Ent_print setting on the Html statement.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;!&#039;&#039;&#039; &amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Do not perform character entity substitution, regardless of the current&lt;br /&gt;
$ENT_PRINT setting and the Ent_print setting on the Html statement.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;*&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Do not print the results of the expression. This can be useful if embedding a $function that itself prints output, such as $LIST_PRINT or $WEB_SEL, or a $function that simply sets some environmental parameter (such as $WEB_SET or $RESETN) whose return value should not be displayed.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The asterisk (*) suppresses the printing of the return code but not the&lt;br /&gt;
output from a $LIST_PRINT or $WEB_SEL function.&lt;br /&gt;
&lt;br /&gt;
In the following example, character entity substitution is explicitly suppressed for the&lt;br /&gt;
contents of %FONT and explicitly forced for %COMMENT, and the return code from&lt;br /&gt;
$LIST_PRINT is suppressed:&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;HTML&lt;br /&gt;
  {!%FONT}This is in a fancy font&amp;lt;/font&amp;gt;&lt;br /&gt;
  &amp;lt;input type=&amp;quot;text&amp;quot; name=&amp;quot;comment&amp;quot; value=&amp;quot;{&amp;amp;%COMMENT}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;And here&#039;s some stuff&amp;lt;br&amp;gt;&lt;br /&gt;
  {*$LIST_PRINT(%LIST)}&lt;br /&gt;
  END HTML&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====The {~} directive====&lt;br /&gt;
The special expression {~} directs the compiler to replace this expression with the literal&lt;br /&gt;
chartacter content of the next expression appearing on the same line. So PrintText&lt;br /&gt;
{~} {$date} produces &#039;&#039;&#039;$date 08-02-29&#039;&#039;&#039;. The evaluation of the expression following&lt;br /&gt;
{~} is carried out as usual.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3203</id>
		<title>Text and Html statements</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Text_and_Html_statements&amp;diff=3203"/>
		<updated>2010-10-05T14:58:20Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Created page with &amp;quot;==The &amp;#039;&amp;#039;&amp;#039;HTML&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;TEXT&amp;#039;&amp;#039;&amp;#039; statement== The &amp;#039;&amp;#039;&amp;#039;Html&amp;#039;&amp;#039;&amp;#039; (or &amp;#039;&amp;#039;&amp;#039;Text&amp;#039;&amp;#039;&amp;#039;) statement in User Language is a general purpose alternative to a series of Print statements for producin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==The &#039;&#039;&#039;HTML&#039;&#039;&#039; or &#039;&#039;&#039;TEXT&#039;&#039;&#039; statement==&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; (or &#039;&#039;&#039;Text&#039;&#039;&#039;) statement in User Language is a general purpose alternative to a&lt;br /&gt;
series of Print statements for producing a fair amount of literal data. Primarily for use&lt;br /&gt;
with Janus Web Server (hence the name Html), it is available with many Sirius&lt;br /&gt;
products. It is most useful when PRINT output is captured or directed by some means.&lt;br /&gt;
It is also quite useful for populating a StringList with a large amount of mostly constant&lt;br /&gt;
text. This latter capability is provided by the To option of the Html/Text statement.&lt;br /&gt;
&lt;br /&gt;
In this section, “HTML block” refers to either the Html or Text block.&lt;br /&gt;
&lt;br /&gt;
The Html block can be used to produce print output of largely literal or static data. For&lt;br /&gt;
example, sending output to a browser with Janus Web Server often requires a significant&lt;br /&gt;
quantity of static text for HTML directives. Rather than placing this static data inside&lt;br /&gt;
quotes in a Print statement, the Html block will automatically assign text as print output.&lt;br /&gt;
Any Model 204 expression, including simple %variable values or $function invocations,&lt;br /&gt;
can be placed inside an Html block, as long as it is enclosed inside the expression start&lt;br /&gt;
and end characters. The default start and end characters are the curly brackets ( { )&lt;br /&gt;
and ( } ).&lt;br /&gt;
&lt;br /&gt;
The following is an example of an &#039;&#039;&#039;Html&#039;&#039;&#039; statement specification:&lt;br /&gt;
&lt;br /&gt;
  HTML&lt;br /&gt;
  &amp;lt;form method=&amp;quot;POST&amp;quot; action=&amp;quot;processform&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  Last name: &amp;lt;input type=&amp;quot;text&amp;quot;&lt;br /&gt;
  name=&amp;quot;lname&amp;quot; value=&amp;quot;{%LNAME}&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;/form&amp;gt;&lt;br /&gt;
  END HTML&lt;br /&gt;
&lt;br /&gt;
The syntax of the &#039;&#039;&#039;Html&#039;&#039;&#039; and &#039;&#039;&#039;Text&#039;&#039;&#039; blocks is shown below:&lt;br /&gt;
&lt;br /&gt;
  HTML [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
or &lt;br /&gt;
&lt;br /&gt;
  TEXT [options]&lt;br /&gt;
  body&lt;br /&gt;
  block_end_line&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;options&#039;&#039;, &#039;&#039;body&#039;&#039;, and &#039;&#039;block_end_line&#039;&#039; are discussed below.&lt;br /&gt;
&lt;br /&gt;
The components of the Html or Text block are discussed in the following sections. The Html (or Text) block can be used in contexts other than the production of a web page. For example, it can be used:&lt;br /&gt;
* To store lines in a temporary procedure or sequential dataset, using the USE command&lt;br /&gt;
* To populate a StringList, using the To option on the Html/Text statement&lt;br /&gt;
* To populate a $list, using the $LIST_CAPTURE function&lt;br /&gt;
* To send lines over a Janus Sockets connection, using the $SOCK_CAPTURE function&lt;br /&gt;
* To prepare output processed by some other program, when the output is created by something like a BATCH2 or RCL connection to Model 204 Here are some advantages of the Html/Text block:&lt;br /&gt;
* User Language is visually close to the output.&lt;br /&gt;
* Literal text does not need to be enclosed in apostrophes.&lt;br /&gt;
* The Print keyword is not necessary.&lt;br /&gt;
* Any valid Model 204 expression can be included inside an Html block, not just literals, %variables, fieldnames, $functions, and a few other constructs.&lt;br /&gt;
* The With and And keywords are not needed between expressions.&lt;br /&gt;
* Apostrophes do not need to be doubled, as in: &lt;br /&gt;
&lt;br /&gt;
  PRINT &amp;lt;nowiki&amp;gt;&#039;Just say &#039;&#039;No&#039;&#039;&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following is an example of an Html block using JavaScript to illustrate applications of the &#039;&#039;&#039;Html/Text&#039;&#039;&#039; options:&lt;br /&gt;
&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;My Javascript Page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  !{$SIR_DATE(&#039;Wkd Mon DD YYYY HH:MI:SS&#039;)}!&lt;br /&gt;
  &amp;lt;br&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  &amp;lt;!--&lt;br /&gt;
  name=prompt(&amp;quot;Person&#039;s name&amp;quot;,&amp;quot;Type name here&amp;quot;);&lt;br /&gt;
  END HTML&lt;br /&gt;
  %S1=&#039;if (name==&amp;quot;&#039;&lt;br /&gt;
  FR WHERE RECTYPE=PHONE&lt;br /&gt;
  PRINT %S1 WITH NAME -&lt;br /&gt;
  WITH &#039;&amp;quot;) {document.write(&amp;quot;&#039; WITH EXTN WITH &#039;&amp;quot;)}&#039;&lt;br /&gt;
  %S1=&#039;else if (name==&amp;quot;&#039;&lt;br /&gt;
  END FOR&lt;br /&gt;
  HTML NOCONT EXPRS &#039;!{&#039; EXPRE &#039;}!&#039;&lt;br /&gt;
  else {alert (&amp;quot;Unkown person&amp;quot;)};&lt;br /&gt;
  --&amp;gt;&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
  &amp;lt;/html&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Html&#039;&#039;&#039; statement options used in this example:&lt;br /&gt;
* Nocont is used to turn off continuations signified by trailing dashes. In the JavaScript, dashes are used in an input line that prevents browsers without JavaScript from displaying script as literal output.&lt;br /&gt;
* Exprs and Expre let you use characters other than the curly brackets ( { } ) to demarcate expressions. The curly bracket characters are necessary in JavaScript.&lt;br /&gt;
&lt;br /&gt;
New in Sirius Mods version 6.0, the Html block is available to any customer who owns any of the following products:&lt;br /&gt;
* &#039;&#039;Fast/Unload User Language Interface&#039;&#039;&lt;br /&gt;
*&#039;&#039; Janus SOAP&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Sockets&#039;&#039;&lt;br /&gt;
* &#039;&#039;Janus Web Server&#039;&#039;&lt;br /&gt;
* &#039;&#039;Sirius Functions&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;Html&#039;&#039;&#039; block is also available if the Limited Janus Web Server capability is available.&lt;br /&gt;
==Options: Html or Text block options==&lt;br /&gt;
The various options for an Html or Text block are introduced after the Html or Text&lt;br /&gt;
keyword. They are described in the following subsections.&lt;br /&gt;
===Data, Print, Audit, or Trace===&lt;br /&gt;
These keywords indicate that the Html block consists of only the text that follows the&lt;br /&gt;
keyword on the logical line: that is, there is no End Html statement to end the block.&lt;br /&gt;
&lt;br /&gt;
Prior to Sirius Mods version 7.2, only the Data keyword had this effect, and the Print,&lt;br /&gt;
Audit, and Trace keywords did not exist.&lt;br /&gt;
&lt;br /&gt;
Any Html statement keywords that appear after a Data, Print, Audit, or Trace keyword&lt;br /&gt;
are processed not as keywords but simply as text. If you want to specify keywords in&lt;br /&gt;
addition to a Data, Print, Audit, or Trace keyword, they must appear before Data, Print,&lt;br /&gt;
Audit, or Trace to be treated as a keyword.&lt;br /&gt;
&lt;br /&gt;
All other Html block processing, including expression processing, is performed on the&lt;br /&gt;
line as if it were inside an Html block. The exception is Nodummy processing, because&lt;br /&gt;
dummy string replacement is performed before the Html statement is parsed.&lt;br /&gt;
&lt;br /&gt;
====Data or Print====&lt;br /&gt;
Either of these keywords can be thought of as providing a single-line&lt;br /&gt;
Html/Text statement which can still be much easier to type and read&lt;br /&gt;
than a User Language PRINT statement, as in:&lt;br /&gt;
&lt;br /&gt;
  HTML DATA Don&#039;t need to worry about apostrophes&lt;br /&gt;
  TEXT PRINT {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the second statement in the&lt;br /&gt;
preceding example.&lt;br /&gt;
&lt;br /&gt;
  PrintText {%I} + {%J} = {%I + %J}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; statement has the same effect as a Text Print statement.&lt;br /&gt;
The &#039;&#039;&#039;PrintText&#039;&#039;&#039; keyword is simply a merging and reordering of &#039;&#039;Text&lt;br /&gt;
Print&#039;&#039; to emphasize the principle action. The lone difference between&lt;br /&gt;
PrintText and Text Print is that PrintText cannot be used if you want to&lt;br /&gt;
include other Html/Text options, as in:&lt;br /&gt;
&lt;br /&gt;
  text noexpr print The set is {2, 3, 5, 8, 13, ...}&lt;br /&gt;
&lt;br /&gt;
The Data keyword is available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later. The Print&lt;br /&gt;
and PrintText keywords are available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later.&lt;br /&gt;
&lt;br /&gt;
====Audit====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that functions&lt;br /&gt;
like a User Language AUDIT statement, that is, routing subsequent text&lt;br /&gt;
to the audit trail.&lt;br /&gt;
&lt;br /&gt;
For example, this statement directs the text content to the audit trail:&lt;br /&gt;
&lt;br /&gt;
  text audit It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  AuditText It ({$time}) was the best of times&lt;br /&gt;
&lt;br /&gt;
As with the PrintText keyword above, the AuditText statement has the&lt;br /&gt;
same effect as a Text Audit statement, except it cannot be used if you&lt;br /&gt;
want to include additional Html/Text options.&lt;br /&gt;
&lt;br /&gt;
The Audit keyword is available in &#039;&#039;Sirius Mods 7.2&#039;&#039; and later. The&lt;br /&gt;
AuditText keyword is available as of &#039;&#039;Sirius Mods 7.2&#039;&#039;.&lt;br /&gt;
====Trace====&lt;br /&gt;
This keyword provides a single-line Html/Text statement that is the&lt;br /&gt;
same as a User Language TRACE statement, that is, routing&lt;br /&gt;
subsequent text to the trace destination (which may be the audit trail,&lt;br /&gt;
print device, or CCATEMP trace table, or a combination of them).&lt;br /&gt;
For example, this statement directs the text content by default to the&lt;br /&gt;
audit trail:&lt;br /&gt;
&lt;br /&gt;
  text trace This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
The following is an equivalent alternative to the preceding example.&lt;br /&gt;
&lt;br /&gt;
  TraceText This day ({$date}) is unlike any other&lt;br /&gt;
&lt;br /&gt;
As with the PrintText and AudiText keywords above, the TraceText&lt;br /&gt;
statement has the same effect as a Text Trace statement, except it&lt;br /&gt;
cannot be used if you want to include additional Html/Text options.&lt;br /&gt;
The Trace and TraceText keywords are available as of &#039;&#039;Sirius Mods 7.2.&#039;&#039;&lt;br /&gt;
The Trace statement is described in detail in the SirFact Reference&lt;br /&gt;
Manual.&lt;br /&gt;
&lt;br /&gt;
====Ent_print====&lt;br /&gt;
The Ent_print keyword overrides the current $ENT_PRINT setting for character entity&lt;br /&gt;
translation over the Html block. Ent_print must be followed by one of these keywords:&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Off&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;No character entity translation will occur over the Html block.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;On&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;All data printed by the Html statement will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;Var&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Only the results of expressions will undergo character entity translation.&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Character entity translation is the process of converting a single character that might be&lt;br /&gt;
problematic in certain contexts to a more verbose but non-problematic equivalent. For&lt;br /&gt;
example, if a “less than” sign (&#039;&#039;&#039;&amp;lt;&#039;&#039;&#039;) appears in HTML text, it should typically be represented&lt;br /&gt;
as &amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; to prevent an HTML processor from mistakenly interpreting it as the start of an&lt;br /&gt;
HTML tag.&lt;br /&gt;
&lt;br /&gt;
When entity translation is performed, the default translations are “&amp;amp;” to &amp;lt;nowiki&amp;gt;“&amp;amp;amp;”&amp;lt;/nowiki&amp;gt;, “&amp;lt;” to&lt;br /&gt;
&amp;lt;nowiki&amp;gt;“&amp;amp;lt;”&amp;lt;/nowiki&amp;gt; and the double quotation mark character (&amp;quot;) to &amp;lt;nowiki&amp;gt;“&amp;amp;quot;”&amp;lt;/nowiki&amp;gt;. These defaults should&lt;br /&gt;
be sufficient for most HTML and XML applications (though XML might also require&lt;br /&gt;
translation of the single quotation mark character (&#039;) to &amp;lt;nowiki&amp;gt;“&amp;amp;apos;”&amp;lt;/nowiki&amp;gt; if attributes are&lt;br /&gt;
enclosed in single quotation marks), but they can be modified with the $ENT_TAB&lt;br /&gt;
function.&lt;br /&gt;
&lt;br /&gt;
The Ent_print keyword is a compile-time option that affects only what is inside the Html&lt;br /&gt;
block and that is not affected by evaluation time setting of $ENT_PRINT, even within the&lt;br /&gt;
Html block. If no Ent_print keyword is present on the Html statement, character entity&lt;br /&gt;
translation is controlled by the evaluation-time $ENT_PRINT setting.&lt;br /&gt;
Automatic character entity translation and the Ent_print keyword on the Html/Text&lt;br /&gt;
statement are only available in &#039;&#039;Sirius Mods 6.2&#039;&#039; and later.&lt;br /&gt;
====LiteralsToTemp====&lt;br /&gt;
The LiteralsToTempt option indicates that the literal data in the statement is stored in&lt;br /&gt;
CCATEMP rather than STBL, avoiding excessive demands on STBL space. Designed&lt;br /&gt;
for a Text statement with an unusually large amount of literal data, this is an alternative&lt;br /&gt;
to setting the X&#039;01&#039; bit of the SIRCOMP user parameter (which performs the same&lt;br /&gt;
function).&lt;br /&gt;
====Nocom or Nocomments====&lt;br /&gt;
The Nocomments (abbreviated Nocom) option indicates that lines beginning with an&lt;br /&gt;
asterisk (*) are not comment lines. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt; HTML NOCOM&lt;br /&gt;
  * This line will go to the output&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
====Nocont or Nocontinuations====&lt;br /&gt;
The Nocontinuations (abbreviated Nocont) option causes trailing dashes to cease&lt;br /&gt;
being treated as line continuations. For example, the following statement will cause the&lt;br /&gt;
output to appear on two separate lines:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; HTML NOCONT&lt;br /&gt;
  English:             B-&lt;br /&gt;
  Social Studies:      C&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Nodum or Nodummy====&lt;br /&gt;
The Nodummy (abbreviated Nodum) option stops dummy string substitution. For&lt;br /&gt;
example, the following statement will cause the literal string ?&amp;amp;W to be output without&lt;br /&gt;
global variable substitution:&lt;br /&gt;
&lt;br /&gt;
  HTML NODUM&lt;br /&gt;
  Hello, ?&amp;amp;W&lt;br /&gt;
  END HTML&lt;br /&gt;
====Noell or Noellipses====&lt;br /&gt;
With the Noellipses (abbreviated Noell) option, a trailing ellipsis (...) is not treated as&lt;br /&gt;
a concatenation operator. For example:&lt;br /&gt;
&lt;br /&gt;
  HTML NOELL&lt;br /&gt;
  These lines are not joined...&lt;br /&gt;
  They will appear on different lines.&lt;br /&gt;
   END HTML&lt;br /&gt;
====Noexpr or Noexpressions====&lt;br /&gt;
If you do not want expression substitution, specify Noexpr or Noexpressions. For&lt;br /&gt;
example:&lt;br /&gt;
  HTML NOEXPR&lt;br /&gt;
  {This will be sent directly to output}&lt;br /&gt;
  END HTML&lt;br /&gt;
====Raw====&lt;br /&gt;
The Raw option acts as Nocom, Nocont, Nodum, Noell, and Noexpr all at once.&lt;br /&gt;
 ====Noend====&lt;br /&gt;
The Noend option eliminates the block end line. Thus, the block will terminate at the&lt;br /&gt;
end of the procedure. For example:&lt;br /&gt;
  PROC FOO&lt;br /&gt;
  HTML NOEND&lt;br /&gt;
  Now we are in HTML.&lt;br /&gt;
  END HTML&lt;br /&gt;
  Still in HTML.&lt;br /&gt;
  END PROC&lt;br /&gt;
&lt;br /&gt;
====Exprs or Exprstart====&lt;br /&gt;
The Exprstart (abbreviated Exprs) option specifies a string, up to three characters&lt;br /&gt;
long, that begins an expression within the block body. The default is a left curly brace&lt;br /&gt;
( { ). For example:&lt;br /&gt;
&lt;br /&gt;
  HTML EXPRS go EXPRE stp&lt;br /&gt;
  The answer is go8*9stp&lt;br /&gt;
  HTML END&lt;br /&gt;
&lt;br /&gt;
It is probably best to use start and end sequences that are not likely to occur in the literal&lt;br /&gt;
text in the Html/Text block and that clearly demarcate expressions from literal text. The&lt;br /&gt;
go and stp in the example above are actually not very good choices.&lt;br /&gt;
&lt;br /&gt;
If the expression start string occurs in the input text, you can “double” the expression&lt;br /&gt;
start and end strings, instead of using the Exprs and Expre options. For example:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;nowiki&amp;gt;HTML&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  {{alert(&amp;quot;User error&amp;quot;)}}&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
  END HTML&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An alternative way to handle the curly braces in the script above is shown in the Html block example at the beginning of this chapter: that is, specifying &#039;&#039;&#039;HTML EXPRS &#039;!{&#039;EXPRE &#039;}!&#039;&#039;&#039;&#039; and&#039;&#039;&#039; !{alert(&amp;quot;User error&amp;quot;)!&#039;&#039;&#039;}.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If you use multiple special characters to demarcate expressions, you are advised&lt;br /&gt;
to enclose those characters in single quotation marks (as above) in your Exprs and&lt;br /&gt;
Expre specifications. Otherwise, multiple-character combinations involving certain&lt;br /&gt;
special characters (including these six, for example: = ¬ ( ) &amp;lt; &amp;gt; ) cause M204.0580&lt;br /&gt;
errors.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3199</id>
		<title>Category:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3199"/>
		<updated>2010-10-04T19:07:08Z</updated>

		<summary type="html">&lt;p&gt;Dessick: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Charting using Janus Web Server and FusionCharts Free]]&lt;br /&gt;
==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site. Once you have downloaded the JavaScript files, you will need to upload them to a Model 204 file.  The easiest way to do this is to use the Sirius FTP capability. (See the Sirius Janus Sockets Manual, Chapter 12).  If you do not have Janus Sockets, you can use HTTP PUT or a Mainframe FTP package to get the files to your machine and subsequently to a Model 204 Procedure file.   &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then add a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XML_2DPie1.gif|frame|alt=Sample 2D Pie Chart|Sample 2D Pie Chart]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3196</id>
		<title>Category:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3196"/>
		<updated>2010-10-04T17:08:50Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Added sample chart image&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Charting using Janus Web Server and FusionCharts Free]]&lt;br /&gt;
==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site.  &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then ad a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:XML_2DPie1.gif|frame|alt=Sample 2D Pie Chart|Sample 2D Pie Chart]]&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=File:XML_2DPie1.gif&amp;diff=3202</id>
		<title>File:XML 2DPie1.gif</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=File:XML_2DPie1.gif&amp;diff=3202"/>
		<updated>2010-10-04T16:58:31Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Sample 2D Pie Chart from FusionChartsFree&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sample 2D Pie Chart from FusionChartsFree&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3195</id>
		<title>Category:Tutorial</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Category:Tutorial&amp;diff=3195"/>
		<updated>2010-10-04T16:52:58Z</updated>

		<summary type="html">&lt;p&gt;Dessick: Using FusionCharts Free with Janus Web Server to display business charts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Charting using Janus Web Server and FusionCharts Free]]&lt;br /&gt;
==Background==&lt;br /&gt;
You&#039;ve created a beautiful web site, but the only thing missing is a way to easily add bar graphs, pie charts or other business graphics.  Fortunately,  there is an easy way to do this at little or no cost using FusionCharts Free from [http://www.fusioncharts.com/free InfoSoft Global Ltd.]   &#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports a generous number of business charts.  Of course for more sophisticated options there is a more full featured version, for which you must pay a license fee.&lt;br /&gt;
&lt;br /&gt;
==Chart Types Supported==&lt;br /&gt;
&#039;&#039;&#039;FusionCharts Free&#039;&#039;&#039; supports the following chart types:&lt;br /&gt;
*Bar Charts (2D and 3D)&lt;br /&gt;
*Pie Charts (2D and 3D)&lt;br /&gt;
*Doughnut Charts&lt;br /&gt;
*Line Charts&lt;br /&gt;
*Area Charts&lt;br /&gt;
*Stacked Charts&lt;br /&gt;
*Combination (Line &amp;amp; Bar) Charts&lt;br /&gt;
*Candlestick Charts &lt;br /&gt;
*Funnel Charts&lt;br /&gt;
*Gantt Charts&lt;br /&gt;
&lt;br /&gt;
There are 22 different charts, which are rendered as Adobe Flash (.swf) files in the browser using JavaScript.  &lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
The first step in using Fusion Charts is of course downloading the source.  This can be found on the [http://www.fusioncharts.com/free FusionCharts Free] web site.  &#039;&#039;&#039;Hint&#039;&#039;&#039;: when you upload the files to your Janus Web Procedure file, upload them as &#039;&#039;binary&#039;&#039; files to avoid the dreaded &amp;quot;Code Page&amp;quot; issue.  You must then ad a Janus Web Rule to send them to the browser as &amp;quot;binary&amp;quot;.  The data that will populate your chart will come from an XML file that is either created by another program specified by a URL, or coded directly in the charting program.&lt;br /&gt;
&lt;br /&gt;
==Using FusionCharts Free with Janus Web==&lt;br /&gt;
Once you have uploaded your  FusionCharts Free  JavaScript files to your server and added appropriate Janus Web Rules to send them to the browser, you are ready to code a Janus Web application to chart your data. You might also need to add a web rule to use Adobe Flash for .swf files.  I find the &amp;quot;Data URL&amp;quot; method (see FusionCharts Free documentation) the easiest.  In your Janus Web Program, you would add a container for your chart and the JavaScript code to call the chart-type JavaScrip and also your data URL.  &#039;&#039;&#039;Note:&#039;&#039;&#039; If your data URL program is being passed parameters, the URL must be URL Encoded using the Sirius URLENCODE function or the JavaScript &amp;quot;escape()&amp;quot; method.&lt;br /&gt;
&lt;br /&gt;
In the &amp;lt;head&amp;gt; of your HTML file you will need to include the following:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;SCRIPT LANGUAGE=&amp;quot;Javascript&amp;quot; SRC=&amp;quot;/FusionCharts/FusionCharts.js&amp;quot;&amp;gt;&amp;lt;/SCRIPT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may need to modify the path name depending on your Janus Web Rules.  &lt;br /&gt;
&lt;br /&gt;
You will then add the following code in the &amp;lt;body&amp;gt; of the HTML:&lt;br /&gt;
   &amp;lt;nowiki&amp;gt;...&lt;br /&gt;
   HTML&lt;br /&gt;
  &amp;lt;div id=&amp;quot;chart1div&amp;quot;&amp;gt;This text is replaced by the chart&lt;br /&gt;
  &amp;lt;/div&amp;gt;&lt;br /&gt;
  &amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;&lt;br /&gt;
   var chart1 = new FusionCharts(&amp;quot;Pie2D.swf&amp;quot;, &amp;quot;ChId1&amp;quot;, &amp;quot;600&amp;quot;, &amp;quot;400&amp;quot;, &amp;quot;0&amp;quot;, &amp;quot;0&amp;quot;); &lt;br /&gt;
   //To pass parameters, URLEncode the dataURL. Use escape() in JavaScript &lt;br /&gt;
   chart1.setDataURL(escape(&amp;quot;Data.URL?id=1&amp;amp;subId=2&amp;quot;));&lt;br /&gt;
   chart1.render(&amp;quot;chart1div&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
   END HTML&lt;br /&gt;
   ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Assuming you have coded up everything properly, the FusionCharts Column2D.swf JavaScript will call the Data.URL User Language program which will return an XML file properly formatted for creating a FusionCharts 2D Column Chart.  Here is an example of a Column2D XML File:&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;graph caption=&#039;Pie Chart&#039; decimalPrecision=&#039;0&#039; showPercentageValues=&#039;0&#039; showNames=&#039;1&#039; numberPrefix=&#039;$&#039; showValues=&#039;1&#039; showPercentageInLabel=&#039;0&#039; pieYScale=&#039;45&#039; pieBorderAlpha=&#039;100&#039; pieRadius=&#039;100&#039; animation=&#039;0&#039; shadowXShift=&#039;4&#039; shadowYShift=&#039;4&#039; shadowAlpha=&#039;40&#039; pieFillAlpha=&#039;95&#039; pieBorderColor=&#039;FFFFFF&#039;&amp;gt; &lt;br /&gt;
   &amp;lt;set value=&#039;25&#039; name=&#039;Item A&#039; color=&#039;AFD8F8&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;17&#039; name=&#039;Item B&#039; color=&#039;F6BD0F&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;23&#039; name=&#039;Item C&#039; color=&#039;8BBA00&#039; isSliced=&#039;1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;65&#039; name=&#039;Item D&#039; color=&#039;A66EDD&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;set value=&#039;22&#039; name=&#039;Item E&#039; color=&#039;F984A1&#039;/&amp;gt;&lt;br /&gt;
   &amp;lt;/graph&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debugging==&lt;br /&gt;
If you see the dreaded JavaScript Error at the bottom of the page, it could be caused by one of the following:&lt;br /&gt;
*You actually made an error typing your JavaScript.  &#039;&#039;Remember JavaScript is case sensitive.&#039;&#039;&lt;br /&gt;
*There is a problem with your Janus Web Rules.  Check &#039;&#039;&#039;SIRSCAN&#039;&#039;&#039; and look for Janus Web Rule problems&lt;br /&gt;
*There is a problem with the DataURL program or Janus Web Rules&lt;br /&gt;
*Your XML data is not in the proper format or is not well-formed&lt;br /&gt;
&lt;br /&gt;
==Additional Capabilities==&lt;br /&gt;
You can add even more punch to your FusionCharts data, you can add a &#039;&#039;drill-down&#039;&#039; capability by adding a URL to the XML data for a particular Bar or Slice of a chart.  You would need to add the &#039;&#039;link&#039;&#039; property to the &#039;&#039;set&#039;&#039; value for a bar or slice.&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;set name=&#039;Jan&#039; value=&#039;17400&#039; link=&#039;n-DemoLinkPages/DemoLink1.html&#039; color=&#039;AFD8F8&#039; /&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The n- prefix to the link indicates that it is to open in a new window.  Leave this off if you want to replace the active page.&lt;/div&gt;</summary>
		<author><name>Dessick</name></author>
	</entry>
</feed>