918 lines
26 KiB
HTML
918 lines
26 KiB
HTML
<!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>Create User Queue (QUSCRTUQ) API</title>
|
|
<!-- Begin Header Records =========================================== -->
|
|
<!-- 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. -->
|
|
<!-- QCLRDTAQ SCRIPT A converted by B2H R4.1 (346) (CMS) by PMHALL at -->
|
|
<!-- RCHVMW2 on 7 Oct 1998 at 16:10:02 -->
|
|
<!-- Change History: -->
|
|
<!-- YYMMDD USERID Change description -->
|
|
<!-- File cleanup completed Feb 2002 by v2cdijab -->
|
|
<!-- End Header Records -->
|
|
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
|
|
</head>
|
|
<body>
|
|
<a name="Top_Of_Page"></a>
|
|
<!-- Java sync-link -->
|
|
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
|
|
</script>
|
|
|
|
<h2>Create User Queue (QUSCRTUQ) API</h2>
|
|
|
|
<div class="box" style="width: 70%;">
|
|
<br>
|
|
Required Parameter Group:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">1</td>
|
|
<td align="left" valign="top" width="50%">Qualified user queue name</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(20)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2</td>
|
|
<td align="left" valign="top">Extended attribute</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">3</td>
|
|
<td align="left" valign="top">Queue type</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(1)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Key length</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">Maximum message size</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">6</td>
|
|
<td align="left" valign="top">Initial number of messages</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">7</td>
|
|
<td align="left" valign="top">Additional number of messages</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">Public authority</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">9</td>
|
|
<td align="left" valign="top">Text description</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(50)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Optional Parameter Group 1:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">10</td>
|
|
<td align="left" valign="top" width="50%">Replace</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">11</td>
|
|
<td align="left" valign="top">Error code</td>
|
|
<td align="left" valign="top">I/O</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Optional Parameter Group 2:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">12</td>
|
|
<td align="left" valign="top" width="50%">Domain</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">13</td>
|
|
<td align="left" valign="top">Pointers</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Optional Parameter Group 3:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">14</td>
|
|
<td align="left" valign="top" width="50%">Number of queue extensions</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">15</td>
|
|
<td align="left" valign="top">Reclaim storage</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(1)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: Yes<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The Create User Queue (QUSCRTUQ) API creates a user queue in either the user
|
|
domain or the system domain, based on the input parameters. A user-domain user
|
|
queue can be directly manipulated with MI instructions. If you are running at
|
|
security level 40 or greater, you cannot directly manipulate a system-domain
|
|
user queue using MI instructions.</p>
|
|
|
|
<p> If the number of queue extensions is not specified, user queues can grow to
|
|
a maximum of 16MB in size, though some of that is used for the queue
|
|
definition. If the number of queue extensions is specified and non-zero, the
|
|
queue will be extended by the number of additional messages specified until
|
|
either the number of queue extensions is reached or the storage limit of 2GB is reached.</p>
|
|
|
|
<p>The system can automatically extend user queues, so you should create a
|
|
small queue and allow the system to extend the queue as needed. Smaller queues
|
|
provide better performance and use less storage. However, the system does not
|
|
automatically reduce the size of the queue if it is too large. If you specify
|
|
the additional number of messages as 0, the system does not extend the user
|
|
queue you create when the queue is full.</p>
|
|
|
|
<p>To decrease the size of a user queue, a user must delete the queue and
|
|
create it again.</p>
|
|
|
|
<p>There are no APIs to manipulate user queue entries. If you must access a
|
|
user queue object in a library that does not permit user-domain user objects,
|
|
you must use data queue objects. For information about data queues, refer to
|
|
the <a href="../rbam6/clpro.htm">CL Programming</a> topic.</p>
|
|
|
|
<p>If you need to know into which domain the user queue object was created, use
|
|
either of the following APIs to retrieve that information:</p>
|
|
|
|
<ul>
|
|
<li>Retrieve Object Description (QUSROBJD) API</li>
|
|
|
|
<li>List Object (QUSLOBJ) API</li>
|
|
</ul>
|
|
|
|
<strong>Note:</strong> For performance reasons, the *USRQ object is created
|
|
before checking to see if it exists in the library specified for the qualified
|
|
user queue name. If you have an application using this API repeatedly, even if
|
|
you are using *NO for the replace parameter, permanent system addresses will be
|
|
used.
|
|
|
|
<p><strong>Note:</strong>User queues created with either the number of queue
|
|
extensions parameter specified with a positive, non-zero number or the reclaim
|
|
storage parameter specified to reclaim the user queue storage are not eligible
|
|
to save to a pre-V4R5 system.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<dl>
|
|
<dt><em>Library Authority</em></dt>
|
|
|
|
<dd>*READ and *ADD.</dd>
|
|
|
|
<dt><em>User Queue Authority</em></dt>
|
|
|
|
<dd>*OBJMGT, *OBJEXIST, and *READ. These authorities are required only if the
|
|
replace parameter is used and if there is an existing user queue to
|
|
replace.</dd>
|
|
|
|
<dt><em>User Queue Lock</em></dt>
|
|
|
|
<dd>*EXCL. This applies to both the user queue being created and an existing
|
|
user queue being replaced.</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Qualified user queue name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(20)
|
|
|
|
<p>The first 10 characters contain the user queue name, and the second 10
|
|
characters contain the name of the library where the user queue is located. The
|
|
only special value supported is *CURLIB.</p>
|
|
|
|
<p>User queues created in the QTEMP and QRPLOBJ libraries are not forced to
|
|
permanent storage; they are deleted when those libraries are cleared at
|
|
sign-off and system IPL, respectively.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Extended attribute</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The extended attribute of the user queue. For example, an object type of
|
|
*FILE has an extended attribute of PF (physical file), LF (logical file), DSPF
|
|
(display file), SAVF (save file), and so on.</p>
|
|
|
|
<p>The extended attribute must be a valid *NAME. You can enter this parameter
|
|
in uppercase, lowercase, or mixed case. The API automatically converts it to
|
|
uppercase.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Queue type</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(1)
|
|
|
|
<p>The sequence in which messages are to be dequeued from the queue. The valid
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>F</em></td>
|
|
<td align="left" valign="top">First-in first-out</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>K</em></td>
|
|
<td align="left" valign="top">Keyed</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>L</em></td>
|
|
<td align="left" valign="top">Last-in first-out</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Key length</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The length in bytes of the message key from 1 to 256 if you specify the
|
|
queue type as keyed. If you specify that the queue is not a keyed queue, the
|
|
value must be 0.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Maximum message size</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The maximum allowed size of messages to be placed on the queue. The API
|
|
truncates messages that are longer than the value you specify. The maximum size
|
|
allowed is 64 000 bytes.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Initial number of messages</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The initial number of messages that the queue can contain.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Additional number of messages</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The amount to increase the maximum number of messages value when the queue
|
|
is full. When this parameter is set to 0, the queue is not extended if an
|
|
overflow occurs and an error message is sent to the program attempting to place
|
|
a message on the queue.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Public authority</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The authority you give to the users who do not have specific private or
|
|
group authority to the user queue. Once the user queue has been created, its
|
|
public authority stays the same when it is moved to another library or restored
|
|
from backup media.</p>
|
|
|
|
<p>If the replace parameter is used and a user queue exists to be replaced,
|
|
this parameter is ignored. All authorities are transferred from the replaced
|
|
user queue to the new one.</p>
|
|
|
|
<p>The valid values for this parameter are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*ALL</em></td>
|
|
<td align="left" valign="top">The user can perform all authorized operations on
|
|
the user queue.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Authorization list name</em></td>
|
|
<td align="left" valign="top">The user queue is secured by the specified
|
|
authorization list, and its public authority is set to *AUTL. The specified
|
|
authorization list must exist on the system when this API is issued. If it does
|
|
not exist, the create process fails, and an error message is returned to the
|
|
application.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*CHANGE</em></td>
|
|
<td align="left" valign="top">The user has read, add, update, and delete
|
|
authority to the user queue and can read the object description.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*EXCLUDE</em></td>
|
|
<td align="left" valign="top">The user cannot access the user queue in any
|
|
way.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*LIBCRTAUT</em></td>
|
|
<td align="left" valign="top">The public authority for the user queue is taken
|
|
from the CRTAUT value for the target library when the object is created. If the
|
|
CRTAUT value for the library changes later, that change does not affect user
|
|
queues already created. If the CRTAUT value contains an authorization list name
|
|
and that authorization list secures an object, do not delete the list. If you
|
|
do, the next time you call this API with the *LIBCRTAUT parameter, it will
|
|
fail.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*USE</em></td>
|
|
<td align="left" valign="top">The user can read the object description and the
|
|
user queue's contents but cannot change them.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Text description</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(50)
|
|
|
|
<p>A brief description of the user queue.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Optional Parameter Group 1</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Replace</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>Whether to replace an existing user queue. Valid values for this parameter
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*NO</em></td>
|
|
<td align="left" valign="top">Do not replace an existing user queue of the same
|
|
name and library. *NO is the default.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*YES</em></td>
|
|
<td align="left" valign="top">Replace an existing user queue of the same name
|
|
and library.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>The user queue being replaced is destroyed if both:</p>
|
|
|
|
<ul>
|
|
<li>The user queue you are replacing is in the user domain.</li>
|
|
|
|
<li>The allow user domain (QALWUSRDMN) system value is not set to *ALL or does
|
|
not contain the library QRPLOBJ.</li>
|
|
</ul>
|
|
|
|
<p>If the QRPLOBJ library is specified in the QALWUSRDMN system value, then the
|
|
replaced user-domain user queue is moved to the QRPLOBJ library. If the user
|
|
queue is in the system domain, it is moved to the QRPLOBJ library, which is
|
|
cleared at system IPL. For details about authorities, ownership, and renaming,
|
|
see the discussion of the REPLACE parameter in <a href=
|
|
"../rbam6/rbam6clmain.htm">Control Language (CL)</a> information.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Error code</strong></dt>
|
|
|
|
<dd>I/O; CHAR(*)
|
|
|
|
<p>The structure in which to return error information. For the format of the
|
|
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>. If this
|
|
parameter is omitted, diagnostic and escape messages are issued to the
|
|
application.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Optional Parameter Group 2</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Domain</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The domain into which the user queue should be created. If this parameter is
|
|
not specified, the value of *DEFAULT will be assumed by the API. Valid values
|
|
for this parameter are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*DEFAULT</em></td>
|
|
<td align="left" valign="top">Allows the system to decide into which domain the
|
|
object should be created.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SYSTEM</em></td>
|
|
<td align="left" valign="top">Creates the user queue object into the system
|
|
domain. The API can always create a user queue into the system domain
|
|
regardless of the security level you are running at. However, system-domain
|
|
user queues can only be used at security level 30 and below because there are
|
|
no APIs to access user queues.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*USER</em></td>
|
|
<td align="left" valign="top">Attempts to create the user queue object into the
|
|
user domain. This is not always possible. If the library you are creating the
|
|
user queue into does not appear in the QALWUSRDMN system value, the API cannot
|
|
create the user queue into the user domain. An error message will be
|
|
returned.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>The API uses the following criteria to determine into which domain to create
|
|
the user queue. The destination library is the library you specified in the
|
|
qualified user queue name parameter. The optional domain parameter is the
|
|
information specified in the domain parameter.</p>
|
|
<p><a name="uq_domain"><strong>User Queue domain table</strong></a></p>
|
|
<table border width="80%">
|
|
<tr>
|
|
<th align="left" valign="bottom">QALWUSRDMN System Value</th>
|
|
<th align="left" valign="bottom">Destination Library</th>
|
|
<th align="left" valign="bottom">Optional Domain Parameter</th>
|
|
<th align="left" valign="bottom">Domain of Created Object</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">*ALL</td>
|
|
<td align="left" valign="bottom">Any</td>
|
|
<td align="left" valign="bottom">*DEFAULT</td>
|
|
<td align="left" valign="bottom">User domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">*ALL</td>
|
|
<td align="left" valign="bottom">Any</td>
|
|
<td align="left" valign="bottom">*SYSTEM</td>
|
|
<td align="left" valign="bottom">System domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">*ALL</td>
|
|
<td align="left" valign="bottom">Any</td>
|
|
<td align="left" valign="bottom">*USER</td>
|
|
<td align="left" valign="bottom">User domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">*DEFAULT</td>
|
|
<td align="left" valign="bottom">User domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">*SYSTEM</td>
|
|
<td align="left" valign="bottom">System domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">QTEMP</td>
|
|
<td align="left" valign="bottom">*USER</td>
|
|
<td align="left" valign="bottom">User domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">Does not contain library name</td>
|
|
<td align="left" valign="bottom">Library name</td>
|
|
<td align="left" valign="bottom">*DEFAULT</td>
|
|
<td align="left" valign="bottom">System domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">Does not contain library name</td>
|
|
<td align="left" valign="bottom">Library name</td>
|
|
<td align="left" valign="bottom">*SYSTEM</td>
|
|
<td align="left" valign="bottom">System domain</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="bottom">Does not contain library name</td>
|
|
<td align="left" valign="bottom">Library name</td>
|
|
<td align="left" valign="bottom">*USER</td>
|
|
<td align="left" valign="bottom">None; error is returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top" colspan="4"><strong>Note:</strong> The QALWUSRDMN
|
|
system value lists the libraries into which the user domain objects can be
|
|
created. The libraries include special value *ALL or a list of one or more
|
|
library names.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Pointers</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>Whether or not the user queue messages can contain pointer data or not. If
|
|
this parameter is not specified, *NO is assumed.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*YES</em></td>
|
|
<td align="left" valign="top">Messages can contain pointer and scalar data.
|
|
Messages to be enqueued must be 16-byte aligned, regardless of whether or not
|
|
the message contains pointer data. Only user-domain user queues can contain
|
|
pointer data; therefore, queues that support pointers cannot be created in or
|
|
restored to a library that is not permitted by system value QALWUSRDMN. User
|
|
queues that can contain pointers cannot be saved to a release prior to Version
|
|
2 Release 3 Modification Level 0.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*NO</em></td>
|
|
<td align="left" valign="top">Messages can contain scalar data only. (User
|
|
queues created prior to Version 2 Release 3 Modification Level 0 contain scalar
|
|
data only). The user queue can be in either the system domain or the user
|
|
domain.</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Optional Parameter Group 3</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Number of queue extensions</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The maximum number of extensions allowed for the user queue. A value of -1
|
|
indicates that the maximum number of extensions will be chosen by the machine.
|
|
If this parameter is not specified, 0 is assumed.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Reclaim storage</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(1)
|
|
|
|
<p>Whether storage reclaim will be attempted when the number of currently
|
|
enqueued messages in the user queue reaches zero. Allowable values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not reclaim storage when the user queues have
|
|
no currently enqueued messages. 0 is the default value.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Reclaim storage when the user queues have no
|
|
currently enqueued messages.</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Error Messages</h3>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<th align="left" valign="top">Message ID</th>
|
|
<th align="left" valign="top">Error Message Text</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF2143 E</td>
|
|
<td align="left" valign="top">Cannot allocate object &1 in &2 type
|
|
*&3.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF2144 E</td>
|
|
<td align="left" valign="top">Not authorized to &1 in &2 type
|
|
*&3.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF2283 E</td>
|
|
<td align="left" valign="top">Authorization list &1 does not exist.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF24B4 E</td>
|
|
<td align="left" valign="top">Severe error while addressing parameter
|
|
list.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3CF1 E</td>
|
|
<td align="left" valign="top">Error code parameter not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3CF2 E</td>
|
|
<td align="left" valign="top">Error(s) occurred during running of &1
|
|
API.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C02 E</td>
|
|
<td align="left" valign="top">User queue &1 not created.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C01 D</td>
|
|
<td align="left" valign="top">Object name &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C03 D</td>
|
|
<td align="left" valign="top">Extended attribute &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C05 D</td>
|
|
<td align="left" valign="top">Value &1 for authority parameter is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C06 D</td>
|
|
<td align="left" valign="top">Number of messages requested, &1, is too
|
|
large for this queue.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C07 D</td>
|
|
<td align="left" valign="top">Value &1 for queue type parameter is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C08 D</td>
|
|
<td align="left" valign="top">Initial number of queue messages specified,
|
|
&1, is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C09 D</td>
|
|
<td align="left" valign="top">Extension parameter value &1 for queue
|
|
overflow is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C10 D</td>
|
|
<td align="left" valign="top">Value &1 for key length parameter is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPD3C11 D</td>
|
|
<td align="left" valign="top">Value &1 for maximum message size parameter
|
|
is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C08 E</td>
|
|
<td align="left" valign="top">Initial number of queue messages specified,
|
|
&1, is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C09 E</td>
|
|
<td align="left" valign="top">Extension parameter value &1 for queue
|
|
overflow is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C10 E</td>
|
|
<td align="left" valign="top">Value &1 for key length parameter is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C11 E</td>
|
|
<td align="left" valign="top">Value &1 for maximum message size parameter
|
|
is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C2B E</td>
|
|
<td align="left" valign="top">Extended attribute &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C2D E</td>
|
|
<td align="left" valign="top">Value &1 for authority parameter is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C2E E</td>
|
|
<td align="left" valign="top">Number of messages requested, &1, is too
|
|
large for this queue.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C2F E</td>
|
|
<td align="left" valign="top">Value &1 for queue type parameter not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C29 E</td>
|
|
<td align="left" valign="top">Object name &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C34 E</td>
|
|
<td align="left" valign="top">Value &1 for replace option is not
|
|
valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C36 E</td>
|
|
<td align="left" valign="top">Number of parameters, &1, entered for this
|
|
API was not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C45 E</td>
|
|
<td align="left" valign="top">Value &1 not valid for domain parameter.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C46 E</td>
|
|
<td align="left" valign="top">Value &1 not valid for pointers
|
|
parameter.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C47 E</td>
|
|
<td align="left" valign="top">Pointers not valid for system domain user
|
|
queue.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C49 E</td>
|
|
<td align="left" valign="top">Request for user domain object cannot be
|
|
granted.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C90 E</td>
|
|
<td align="left" valign="top">Literal value cannot be changed.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C94 E</td>
|
|
<td align="left" valign="top">Value &1 not valid for reclaim storage
|
|
parameter.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF8100 E</td>
|
|
<td align="left" valign="top">All CPF81xx messages could be returned. xx is
|
|
from 01 to FF.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9810 E</td>
|
|
<td align="left" valign="top">Library &1 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9820 E</td>
|
|
<td align="left" valign="top">Not authorized to use library &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9830 E</td>
|
|
<td align="left" valign="top">Cannot assign library &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9838 E</td>
|
|
<td align="left" valign="top">User profile storage limit exceeded.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9870 E</td>
|
|
<td align="left" valign="top">Object &2 type *&5 already exists in
|
|
library &3.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9872 E</td>
|
|
<td align="left" valign="top">Program or service program &1 in library
|
|
&2 ended. Reason code &3.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
|
|
|
|
<hr>
|
|
API introduced: V1R3
|
|
|
|
<hr>
|
|
<table align="center" cellpadding="2" cellspacing="2">
|
|
<tr align="center">
|
|
<td valign="middle" align="center"><a href="#">Top</a> | <a href="obj1.htm">
|
|
Object APIs</a> | <a href="aplist.htm">APIs by category</a></td>
|
|
</tr>
|
|
</table>
|
|
</body>
|
|
</html>
|
|
|