<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Using User Queue APIs</title>
<!-- All rights reserved. Licensed Materials Property of IBM          -->
<!-- US Government Users Restricted Rights                            -->
<!-- Use, duplication or disclosure restricted by                     -->
<!-- GSA ADP Schedule Contract with IBM Corp.                         -->
<!-- Change History:                                                  -->
<!--    YYMMDD USERID Change description                              -->
<!-- End Header Records  -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>

<a name="Top_Of_Page"></a> 

<h2>Using User Queue APIs</h2>

<p>You can use user queues to:</p>

<ul>
<li>Communicate between two processes asynchronously.</li>

<li>Store data in arrival sequence for later use.</li>

<li>Contain keyed messages.</li>

<li>Create a batch machine. (For an example, see 
<a href="../apiref/apiexcremac.htm">Creating a Batch Machine</a> in 
API Examples.)</li>

<li>Permit better performance than the data queue interface.</li>
</ul>

<p>You can save and restore a user queue; however, you can save or restore its
definition only. You cannot save or restore the messages in it. You cannot
restore a user queue if a user queue with the same name already exists in the
library. You must provide programs to use this object type to enqueue and
dequeue messages.</p>

<p> In addition to the user queue APIs, you can work with user queues through
the following:</p>

<ul>
<li>ILE C programming language</li>

<li>Delete User Queue (DLTUSRQ) command</li>

<li>Machine interface (MI) instructions</li>
</ul>

<p>For details about MI instructions, refer to the 
<a href="../rzatk/mitoc.htm">iSeries 
Machine Interface Instructions</a>, which provides detailed descriptions of the 
iSeries<SUP>(TM)</SUP> machine interface instruction fields and the formats of those fields.  
For details about the DLTUSRQ command, see the 
<a href="../rbam6/rbam6clmain.htm">Control Language</a> topic.</p>

<br>
 
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center">
<a href="obj1.htm">Object APIs</a> | 
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>