<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=MQ%2F204_programming</id>
	<title>MQ/204 programming - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=MQ%2F204_programming"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;action=history"/>
	<updated>2026-05-01T02:05:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81848&amp;oldid=prev</id>
		<title>ELowell: /* MQ/204 restrictions */</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81848&amp;oldid=prev"/>
		<updated>2015-12-17T16:59:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;MQ/204 restrictions&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:59, 17 December 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l185&quot;&gt;Line 185:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 185:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;WebSphere MQ API method of asynchronously fetching messages (the WebSphere MQ option MQGMO_SET_SIGNAL).&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;li&amp;gt;WebSphere MQ API method of asynchronously fetching messages (the WebSphere MQ option MQGMO_SET_SIGNAL).&amp;lt;/li&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/ul&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==See also==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Template: MQ/204 topic list}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MQ/204]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:MQ/204]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81637&amp;oldid=prev</id>
		<title>ELowell: /* Greenwich Mean Time and MQPUT, MQPUT1, and MQGET time */</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81637&amp;oldid=prev"/>
		<updated>2015-11-11T20:28:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Greenwich Mean Time and MQPUT, MQPUT1, and MQGET time&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:28, 11 November 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l59&quot;&gt;Line 59:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 59:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If your site has chosen to reset the clock on your mainframe from Greenwich Mean Time to your local time, rather than keeping the mainframe on Greenwich Mean Time and calculating the local time offset, you might notice that the time-stamp for MQPUT statements is offset from the time-stamps of WebSphere MQ on PCs and other mainframes in your network. &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If your site has chosen to reset the clock on your mainframe from Greenwich Mean Time to your local time, rather than keeping the mainframe on Greenwich Mean Time and calculating the local time offset, you might notice that the time-stamp for MQPUT statements is offset from the time-stamps of WebSphere MQ on PCs and other mainframes in your network. &amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See [[SOUL &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;statement reference&lt;/del&gt;#Applying date and time-stamps to messages|Applying date and time-stamps to messages]] for a more detailed discussion.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MQ/204 and &lt;/ins&gt;SOUL &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;statements&lt;/ins&gt;#Applying date and time-stamps to messages|Applying date and time-stamps to messages]] for a more detailed discussion.&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Increase in STBL for MQ/204 sites===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Increase in STBL for MQ/204 sites===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81623&amp;oldid=prev</id>
		<title>ELowell at 19:47, 11 November 2015</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81623&amp;oldid=prev"/>
		<updated>2015-11-11T19:47:03Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:47, 11 November 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This topic provides programming tips for MQ/204, including a [[#&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Sample &lt;/del&gt;application|sample application]] and a list of [[#MQ/204 restrictions|unsupported features]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This topic provides programming tips for MQ/204, including a [[#&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;MQ/204 sample &lt;/ins&gt;application|sample application]] and a list of [[#MQ/204 restrictions|unsupported features]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Programming suggestions==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Programming suggestions==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81622&amp;oldid=prev</id>
		<title>ELowell: Created page with &quot;This topic provides programming tips for MQ/204, including a sample application and a list of unsupported features. ==Programm...&quot;</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=MQ/204_programming&amp;diff=81622&amp;oldid=prev"/>
		<updated>2015-11-11T19:46:08Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;This topic provides programming tips for MQ/204, including a &lt;a href=&quot;#Sample_application&quot;&gt;sample application&lt;/a&gt; and a list of &lt;a href=&quot;#MQ/204_restrictions&quot;&gt;unsupported features&lt;/a&gt;. ==Programm...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This topic provides programming tips for MQ/204, including a [[#Sample application|sample application]] and a list of [[#MQ/204 restrictions|unsupported features]].&lt;br /&gt;
==Programming suggestions==&lt;br /&gt;
&lt;br /&gt;
===Removing messages that cause errors===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Occasionally a message taken from a queue causes an error; that is, the error is in the message. When you back out and try to retrieve the message again, the error recurs.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
To break this back out loop, set the MARK_SKIP_BACKOUT option in a subsequent MQGET statement. When this option is set, the message taken from the queue under syncpoint control is not placed back on the queue when a user or the Online issues an MQBACK statement.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Removing messages that do not convert===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
By default WebSphere MQ tries to perform a data conversion, for example from EBCDIC to ASCII. If you issue an MQGET statement for a message that fails to convert, the message becomes stuck on the queue.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
To get the message off the queue, reissue the MQGET statement with the NO_CONVERT option. The message can now be taken off the queue, because the MQGET processing completes successfully, as in the following example:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MQGET&lt;br /&gt;
IF $STATUS=12 $STATUSD=8&lt;br /&gt;
  THEN&lt;br /&gt;
  MQGET... NO_CONVERT&lt;br /&gt;
  %CONVERTED_FLAG=0&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Saving a permanent local dynamic queue name===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If your application creates permanent local dynamic queues that make use of queue name patterns, you might want to save the name of the generated permanent local dynamic queue in case the run comes down unexpectedly.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
To save a permanent local dynamic queue name:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Issue an OPEN QUEUE statement with the MODEL and DYNAMICQNAME options that specifies the permanent local dynamic queue that you want to save.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Use the $MQ_QUEUENAME function to obtain the full external name of the queue.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&lt;br /&gt;
Store the full external queue name in a procedure that your run includes when it comes up. Or, you can store it in a database so a procedure that your run includes when it comes up can dynamically generate the DEFINE QUEUE command to identify the queue.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
When you decide to delete the queue, remove the queue name from the procedure or database.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Working with logically deleted queues===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
On z/OS, until the last message and request are closed, the queue is logically deleted but still exists. For example, you can still display the queue. However, you cannot retrieve messages or put messages on a logically deleted queue. During this state, any attempt to create a new queue, either local dynamic or predefined, with the same name fails. In the case of a local dynamic queue, the OPEN QUEUE statement fails with the reason code QRC_NAME_IN_USE. This is true for the application that logically deleted the queue, as well as for other applications.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
After the last reference to the queue is closed, the queue is physically deleted; you can now create a new queue with the same name. However, in the case of a temporary local dynamic queue, if any corresponding unresolved units of work are outstanding, the queue can be physically deleted only when the application, which is holding the queue open, terminates.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Occasionally a logically deleted, permanent local dynamic queue has uncommitted updates. In this case, the queue is physically deleted only after resolving the corresponding units of work, as well as closing all the handles. &amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Tuning MQ/204===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Consider the following ways to improve the performance of MQ/204:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Set the initial value of UBUFSZ accurately.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure that the number of MQ/204 subtasks is optimal. When this setting is too low, the elapsed time for individual users might be higher than necessary, because they must wait for a free subtask. Too many subtasks may cause additional z/OS expenses to control subtasks.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WebSphere MQ performance can be affected by message size. WebSphere MQ performance tends to be relatively better when large message sizes, above 4K, are used.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Tune WebSphere MQ according to the recommendations of WebSphere MQ system managers and documentation.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Greenwich Mean Time and MQPUT, MQPUT1, and MQGET time===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
WebSphere MQ uses Greenwich Mean Time (GMT) when storing messages, because it is a transport tool that can pass messages across multiple time zones. WebSphere MQ does not have a parameter that you can set to use local time rather than Greenwich Mean Time.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
If your site has chosen to reset the clock on your mainframe from Greenwich Mean Time to your local time, rather than keeping the mainframe on Greenwich Mean Time and calculating the local time offset, you might notice that the time-stamp for MQPUT statements is offset from the time-stamps of WebSphere MQ on PCs and other mainframes in your network. &amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
See [[SOUL statement reference#Applying date and time-stamps to messages|Applying date and time-stamps to messages]] for a more detailed discussion.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Increase in STBL for MQ/204 sites===&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
In Model 204 V6R3.0 and later, the increased STBL requirement is because MQ control blocks are kept in STBL, and they have increased in size by several hundred bytes. The increase depends on how many MQPUT and MQGET statements are compiled in any one transaction, so it will be the high water mark for the largest SOUL compilations.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MQ/204 sample application==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The following annotated application sends and retrieves two messages.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
Although omitted from the application to save space, do the following:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Issue a SETGRC command to check that the DEFINE commands and START command work.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Check $STATUS and $STATUSD after opening and closing the queues. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;B&lt;br /&gt;
%X=$SETG(&amp;#039;TIMES&amp;#039;,2)&lt;br /&gt;
END &lt;br /&gt;
&lt;br /&gt;
* The following commands define a queue manager, then a queue,&lt;br /&gt;
* and launch the queue manager. You must define a queue manager&lt;br /&gt;
* before you define a queue, because a queue cannot exist (or be&lt;br /&gt;
* defined) without a queue manager.&lt;br /&gt;
&lt;br /&gt;
DEFINE QM CCAQM1   WITH SCOPE=SYSTEM QMNAME=CSQ1&lt;br /&gt;
DEFINE Q  CCAQM1Q1 WITH SCOPE=SYSTEM QM=CCAQM1 - QNAME=DVCCA.TEST2.PS.Q01&lt;br /&gt;
START QM CCAQM1&lt;br /&gt;
&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
VARIABLES ARE UNDEFINED&lt;br /&gt;
%MSGID IS STRING LEN 24&lt;br /&gt;
%MSGID=$SUBSTR($USER,1,8) WITH $SUBSTR($DATE(2,&amp;#039;&amp;#039;),2) WITH -&lt;br /&gt;
$SUBSTR($TIME,1,2) WITH -&lt;br /&gt;
       $SUBSTR($TIME,4,2) WITH -&lt;br /&gt;
       $SUBSTR($TIME,7,2)&lt;br /&gt;
 PRINT &amp;#039;MESSAGE ID =&amp;quot;&amp;#039; %MSGID &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
 %X IS STRING LEN 4&lt;br /&gt;
 %X=$SETG(&amp;#039;MSGID&amp;#039;,%MSGID)&lt;br /&gt;
 %TEXT IS STRING LEN 255&lt;br /&gt;
 %INDEX IS FLOAT&lt;br /&gt;
&lt;br /&gt;
* Within the SUBROUTINE...END SUBROUTINE statement, the&lt;br /&gt;
* PRINT.STATUS subroutine checks whether $STATUS or $STATUSD is&lt;br /&gt;
* other than zero; if so, it prints the values. PRINT.STATUS&lt;br /&gt;
* subroutine is called several times during this application to&lt;br /&gt;
* provide queue information.&lt;br /&gt;
&lt;br /&gt;
 SUBROUTINE PRINT.STATUS&lt;br /&gt;
 IF $STATUS NE 0 OR $STATUSD NE 0 THEN&lt;br /&gt;
  PRINT &amp;#039;$STATUS/$STATUSD=&amp;#039; WITH $STATUS WITH &amp;#039;/&amp;#039; WITH $STATUSD&lt;br /&gt;
  SKIP 1 LINE&lt;br /&gt;
 END IF&lt;br /&gt;
RETURN&lt;br /&gt;
END SUBROUTINE&lt;br /&gt;
&lt;br /&gt;
* The following code opens a queue (CCAQM1Q1) and calls the&lt;br /&gt;
* PRINT.STATUS subroutine. The FOR loop creates a message and&lt;br /&gt;
* puts it on the queue (MQPUT statement).&lt;br /&gt;
&lt;br /&gt;
OPEN QUEUE CCAQM1Q1 OUTPUT&lt;br /&gt;
CALL PRINT.STATUS&lt;br /&gt;
PRINT &amp;#039;ADDING ?&amp;amp;TIMES MESSAGES&amp;#039;&lt;br /&gt;
FOR %INDEX FROM 1 TO ?&amp;amp;TIMES BY 1&lt;br /&gt;
*PRINT &amp;#039;ABOUT TO ADD FOLLOWING MESSAGE TO THE QUEUE&amp;#039;&lt;br /&gt;
 %TEXT=&amp;#039;!! THAT&amp;#039;&amp;#039;S AMAZING AT &amp;#039; WITH $TIME WITH &amp;#039; !!&amp;#039; -&lt;br /&gt;
   WITH %INDEX WITH &amp;#039; &amp;#039; WITH %MSGID&lt;br /&gt;
 PRINT %TEXT&lt;br /&gt;
 MQPUT %TEXT ON CCAQM1Q1 MSGID=%MSGID&lt;br /&gt;
 CALL PRINT.STATUS&lt;br /&gt;
END FOR&lt;br /&gt;
CLOSE QUEUE CCAQM1Q1&lt;br /&gt;
CALL PRINT.STATUS&lt;br /&gt;
END&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
VARIABLES ARE UNDEFINED&lt;br /&gt;
%TEXT IS STRING LEN 255&lt;br /&gt;
%MSGID IS STRING LEN 24&lt;br /&gt;
%MSGID=$GETG(&amp;#039;MSGID&amp;#039;)&lt;br /&gt;
SUBROUTINE PRINT.STATUS&lt;br /&gt;
IF $STATUS NE 0 OR $STATUSD NE 0 THEN&lt;br /&gt;
 PRINT &amp;#039;$STATUS/$STATUSD=&amp;#039; WITH $STATUS WITH &amp;#039;/&amp;#039; WITH $STATUSD&lt;br /&gt;
 SKIP 1 LINE&lt;br /&gt;
END IF&lt;br /&gt;
RETURN&lt;br /&gt;
END SUBROUTINE&lt;br /&gt;
OPEN QUEUE CCAQM1Q1&lt;br /&gt;
CALL PRINT.STATUS&lt;br /&gt;
PRINT &amp;#039;ATTEMPT TO RETRIEVE ?&amp;amp;TIMES MESSAGES&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* The following REPEAT loop retrieves the messages.&lt;br /&gt;
&lt;br /&gt;
REPEAT ?&amp;amp;TIMES TIMES&lt;br /&gt;
 MQGET %TEXT FROM CCAQM1Q1 NO_WAIT MSGID=%MSGID&lt;br /&gt;
 CALL PRINT.STATUS&lt;br /&gt;
 PRINT $TIME WITH &amp;#039; MQGET: &amp;#039; WITH %TEXT&lt;br /&gt;
END REPEAT&lt;br /&gt;
CLOSE QUEUE CCAQM1Q1&lt;br /&gt;
CALL PRINT.STATUS&lt;br /&gt;
END&amp;lt;/nowiki&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Sample output====&lt;br /&gt;
&amp;lt;p class=&amp;quot;code&amp;quot;&amp;gt;MESSAGE ID=&amp;quot;00003980501121739&amp;quot;&lt;br /&gt;
ADDING 2 MESSAGES&lt;br /&gt;
!! THAT&amp;#039;S AMAZING AT 12:17:39 !!1 00003980501121739&lt;br /&gt;
!! THAT&amp;#039;S AMAZING AT 12:17:40 !!2 00003980501121739&lt;br /&gt;
ATTEMPT TO RETRIEVE 2 MESSAGES&lt;br /&gt;
12:17:40 MQGET: !! THAT&amp;#039;S AMAZING AT 12:17:39 !!1 00003980501121739&lt;br /&gt;
12:17:40 MQGET: !! THAT&amp;#039;S AMAZING AT 12:17:40 !!2 00003980501121739&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MQ/204 restrictions==&lt;br /&gt;
&amp;lt;p&amp;gt;&lt;br /&gt;
The WebSphere MQ API supports a set of features that permits many functions to be performed with queues. The MQ/204 interface supports many, but not all these features. The following features are not supported:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;MQINQ and MQSET, query and set attributes of objects. &amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Direct access to the MQCONN and MQDISC calls or connection handles.&lt;br /&gt;
&amp;lt;p&amp;gt;Connections to queue managers are handled internally by OPEN QUEUE and CLOSE QUEUE statements. (See the WebSphere MQ documentation for a discussion of connection handles.)&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Direct access to the WebSphere MQ control blocks (get message options, put message options, and so on), except for the message descriptors on MQGET statements.&lt;br /&gt;
&amp;lt;p&amp;gt;MQ/204 is a higher level keyword based interface, which limits functions to those within the keyword interface.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;WebSphere MQ API method of asynchronously fetching messages (the WebSphere MQ option MQGMO_SET_SIGNAL).&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:MQ/204]]&lt;/div&gt;</summary>
		<author><name>ELowell</name></author>
	</entry>
</feed>