ibm-information-center/dist/eclipse/plugins/i5OS.ic.apis_5.4.0.1/qclrdtaq.htm

418 lines
10 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>Clear Data Queue (QCLRDTAQ) 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 -->
<!-- Edited by Kersten Jan 02 -->
<!--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>Clear Data Queue (QCLRDTAQ) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;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%">Data queue name</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">2</td>
<td align="left" valign="top">Library name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">3</td>
<td align="left" valign="top" width="50%">Key order</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(2)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Length of key data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Packed(3,0)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Key data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">6</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>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Conditional; see <a href="#usage_notes">Usage Notes</a>.<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Clear Data Queue (QCLRDTAQ) API clears all data from the specified data
queue, or clears messages that match the key specification from a keyed data
queue.</p>
<p>If the data queue was created with the AUTORCL keyword on the Create Data
Queue (CRTDTAQ) command set to *YES, when the queue is empty the storage
allocated to the data queue will be reduced to the storage needed for the
initial number of entries defined for the data queue.</p>
<p>Distributed data management (DDM) data queues are supported using this API.
This means that you can use this API to clear a data queue that exists on a
remote iSeries. Clearing messages by key is not supported for DDM data
queues.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Data Queue Authority</em></dt>
<dd>*OBJOPR and *READ</dd>
<dt><em>Data Queue Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Data Queue Lock</em></dt>
<dd>*EXCLRD</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Data queue name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the data queue being cleared.</p>
</dd>
<dt><strong>Library name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the library where the data queue resides.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3>Optional Parameter Group</h3>
<dl>
<dt><strong>Key order</strong></dt>
<dd>INPUT; CHAR(2)
<p>The comparison criteria between the keys of messages on the data queue and
the key data parameter.</p>
<p>Valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>GT</em></td>
<td align="left" valign="top">Greater than</td>
</tr>
<tr>
<td align="left" valign="top"><em>LT</em></td>
<td align="left" valign="top">Less than</td>
</tr>
<tr>
<td align="left" valign="top"><em>NE</em></td>
<td align="left" valign="top">Not equal</td>
</tr>
<tr>
<td align="left" valign="top"><em>EQ</em></td>
<td align="left" valign="top">Equal</td>
</tr>
<tr>
<td align="left" valign="top"><em>GE</em></td>
<td align="left" valign="top">Greater than or equal</td>
</tr>
<tr>
<td align="left" valign="top"><em>LE</em></td>
<td align="left" valign="top">Less than or equal</td>
</tr>
</table>
<p>This parameter is ignored if the length of key data is zero. A value of
blanks is recommended if the length of key data is zero.</p>
<p>For example, assume a keyed data queue contains these three entries:</p>
<table border width="50%">
<!-- width="50" -->
<!-- cols="30 70" -->
<tr>
<th align="center" valign="top">Physical Entry</th>
<th align="center" valign="top">3-Character Key</th>
</tr>
<tr>
<td align="center" valign="top" width="30%">1</td>
<td align="center" valign="top" width="70%">GGG</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="center" valign="top">XXX</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="center" valign="top">AAA</td>
</tr>
</table>
<p>If a key order of LT is specified with key data of XXX, entries 1 and 3
would be removed. If a key order of EQ is specified with key data of XXX, entry
2 would be removed.</p>
</dd>
<dt><strong>Length of key data</strong></dt>
<dd>INPUT; PACKED(3,0)
<p>The length of the key data parameter. If this parameter is specified, it
must be zero for nonkeyed data queues. For keyed data queues it must be either
zero or equal to the length specified on the KEYLEN parameter on the Create
Data Queue (CRTDTAQ) command. If this parameter is not specified or is zero,
all messages will be cleared from the data queue.</p>
</dd>
<dt><strong>Key data</strong></dt>
<dd>INPUT; CHAR(*)
<p>The data to be used for selecting messages to be removed from the data
queue.</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>.</p>
</dd>
</dl>
<br>
<h3><a name="usage_notes">Usage Notes</a></h3>
<p>This API can be used in a multithreaded job to clear messages from a local
data queue. It cannot be used in a job that allows multiple threads to clear
messages from a DDM data queue.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" 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 width="15%" valign="top">CPF24B4 E</td>
<td width="85%" valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C36 E</td>
<td align="left" valign="top">Number of parameters, &amp;1, entered for this
API was not valid.</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">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9502 E</td>
<td align="left" valign="top">Key length must be zero for data queue &amp;1 in
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9503 E</td>
<td align="left" valign="top">Cannot lock data queue &amp;1 in &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9504 E</td>
<td align="left" valign="top">An invalid search order was specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9506 E</td>
<td align="left" valign="top">Key length must be &amp;3 for data queue &amp;1
in &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9507 E</td>
<td align="left" valign="top">Invalid key length specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9510 E</td>
<td align="left" valign="top">Operation on DDM data queue &amp;1 in &amp;2
failed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9511 E</td>
<td align="left" valign="top">Function not supported for DDM data queue
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9523 E</td>
<td align="left" valign="top">Data queue function not successful.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V1R3
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"obj1.htm">Object API categories</a> | <a href="aplist.htm">API by
category</a></td>
</tr>
</table>
</body>
</html>