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

748 lines
21 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>Retrieve Lock Space Record Locks (QTRXRLRL) 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. -->
<!-- QTRXRLRL created by Randy Johnson, 5/24/01 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- 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>Retrieve Lock Space Record Locks (QTRXRLRL) API</h2>
<div class="box" style="width: 80%;">
<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%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Format of receiver information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Lock space identifier</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Lock filters</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">Format of lock filters</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">7</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: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve Lock Space Record Locks (QTRXRLRL) API lets you generate a list
of record locks held by the specified lock space. Record locks that are being
waited for on behalf of a lock space are not returned. Use the Retrieve Job
Record Locks (QDBRJBRL) or Retrieve Lock Information (QWCRLCKI) API to retrieve
record locks that are being waited for by a thread on behalf of a lock
space.</p>
<p>Lock information is returned for local physical files only. The Retrieve
Lock Space Record Locks API places the list in the specified receiver
variable.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Job authority</em></dt>
<dd>The caller of the API must be running under a user profile that has job
control (*JOBCTL) special authority.</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the list of record locks. The size of this
variable is specified in the length of receiver variable parameter.</p>
<p>See <a href="#HDRRCVF">Format of receiver information</a> for details on the
format of the receiver information.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of bytes that are provided in the Receiver variable parameter. At
least 16 bytes must be provided. If the size of the receiver variable provided
is less than the length of the list that is available, the list will be
truncated; this can be determined by examining the first two fields in the
receiver variable, the number of record locks returned, and the number of
record locks available. If the receiver variable length specified is greater
than the actual receiver variable, the results are unpredictable.</p>
</dd>
<dt><strong>Format of receiver information</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the information returned in the receiver variable. The
format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>RLRL0100</em></td>
<td align="left" valign="top">Record lock list. See <a href="#RLRL0100">
RLRL0100 Format</a> for details.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Lock space identifier</strong></dt>
<dd>INPUT; CHAR(20)
<p>The identifier of the lock space for which record locks are to be
returned.</p>
</dd>
<dt><strong>Lock filters</strong></dt>
<dd>INPUT;CHAR(*)
<p>Filters used for the lock information that is returned. See <a href=
"#lockfilters">Format of lock filters</a> for further information.</p>
</dd>
<dt><strong>Format of lock filters</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the lock filters used on the returned data. The possible
format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>RLRF0100</em></td>
<td align="left" valign="top">Lock filter format. See <a href="#RLRF0100">
RLRF0100 Format</a> for details.</td>
</tr>
</table>
<br>
</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="HDRRCVF"></a>Format of receiver information</h3>
<p>The format of the information returned in the receiver variable.</p>
<br>
<h3><a name="RLRL0100">RLRL0100 Format</a></h3>
<p>The following information is returned for the RLRL0100 format. For detailed
descriptions of the fields in the table, see <a href="#RLRL0100fd">Field
Descriptions</a> for RLRL0100 Format.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of record locks available</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of record locks returned</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to list of record locks</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Size of information for each record lock
returned</td>
</tr>
</table>
<br>
<br>
<p>Each record lock returned will have the following structure.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Database file name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file library name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database member name</td>
</tr>
<tr>
<td align="center" valign="top">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">31</td>
<td align="center" valign="top">1F</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Lock state</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
<td align="left" valign="top">Relative record number</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file ASP name</td>
</tr>
<tr>
<td align="center" valign="top">46</td>
<td align="center" valign="top">2E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file library ASP name</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Database file ASP number</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Database file library ASP number</td>
</tr>
</table>
<br>
<br>
<h3><a name="RLRL0100fd">Field Descriptions for RLRL0100 Format</a></h3>
<p><strong>Bytes available.</strong> The number of bytes of data available to
be returned. All available data is returned if enough space is provided.</p>
<p><strong>Bytes returned.</strong> The number of bytes of data returned. Only
complete entries are returned.</p>
<p><strong>Database file library ASP name.</strong> The name of the auxiliary
storage pool (ASP) that contains the library. The following special values also
may be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">The library is located in the system ASP or a
basic user ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.</td>
</tr>
</table>
<p><strong>Database file library ASP number.</strong> The numeric identifier of
the ASP containing the library. The following values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The library is located in the system ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">The library is located in a basic user ASP.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>33-255</em></td>
<td align="left" valign="top">The library is located in an independent
ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">The ASP number cannot be determined.</td>
</tr>
</table>
<p><strong>Database file library name.</strong> The name of the library that
contains the file.</p>
<p><strong>Database file name.</strong> The name of the file.</p>
<p><strong>Database member name.</strong> The name of the member.</p>
<p><strong>Database file ASP name.</strong> The name of the auxiliary storage
pool (ASP) that contains the file. The following special values also may be
returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">The file is located in the system ASP or a basic
user ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.</td>
</tr>
</table>
<p><strong>Database file ASP number.</strong> The numeric identifier of the ASP
containing the file. The following values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The file is located in the system ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">The file is located in a basic user ASP.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>33-255</em></td>
<td align="left" valign="top">The file is located in an independent ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">The ASP number cannot be determined.</td>
</tr>
</table>
<p><strong>Lock state.</strong> The state of the lock. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Shared Read.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Exclusive Update.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Shared Internal.</td>
</tr>
</table>
<p><strong>Number of record locks available.</strong> The number of record lock
structures that are available to be returned. If this field is the same as the
number of record locks returned field, all the record lock information has been
returned.</p>
<p><strong>Number of record locks returned.</strong> The number of record lock
structures that were returned to the caller of the API. If enough space is
provided in the receiver variable, all record locks are returned. If there is
more record lock information than can fit in the space provided, the number of
record locks returned is less than the number of record locks available.</p>
<p><strong>Offset to list of record locks.</strong> The byte offset from the
beginning of the receiver variable to the first record lock information
structure.</p>
<p><strong>Relative record number.</strong> The relative record number for
which record lock information is being returned.</p>
<p><strong>Reserved.</strong> An unused field.</p>
<p><strong>Size of information for each lock returned.</strong> The number of
bytes of each of the returned lock information structures. In future releases,
the amount of information returned for each lock may be expanded, so this value
should be used to move from one lock structure to another.</p>
<br>
<h3><a name="lockfilters"></a>Format of lock filters</h3>
<p>The format of the lock filters used on the returned lock information.</p>
<br>
<h3><a name="RLRF0100">RLRF0100 Format</a></h3>
<p>The following information is to be specified for the RLRF0100 format. For
detailed descriptions of the fields in the table, see <a href="#RLRF0100fd">
Field Descriptions</a> for RLFL100 Format.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Filter size</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Filter lock state</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file name</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file member name</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file library name</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file library ASP name</td>
</tr>
</table>
<br>
<br>
<h3><a name="RLRF0100fd">Field Descriptions for RLRF0100 Format</a></h3>
<p><strong>Filter lock state.</strong> Filters information that is returned so
that it contains only information about locks that have a certain lock state.
The default is do not filter on lock state value.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not filter on lock state value</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Return only the shared locks</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Return only the exclusive locks</td>
</tr>
</table>
<p><strong>Filter file library ASP name.</strong> The name of the library's
auxiliary storage pool (ASP) on which to filter. A special value of *SYSBAS can
be specified. A blank field will cause no filtering to be done on this field.
The default is to not filter on this field.</p>
<p><strong>Filter file library name.</strong> The library name on which to
filter. A blank field will cause no filtering to be done on this field. The
default is to not filter on this field.</p>
<p><strong>Filter file member name.</strong> The member name on which to
filter. A blank field will cause no filtering to be done on this field. The
default is to not filter on this field.</p>
<p><strong>Filter file name.</strong> The file name on which to filter. A blank
field will cause no filtering to be done on this field. The default is to not
filter on this field.</p>
<p><strong>Filter size.</strong> The size of the filter information passed.
Valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">No filtering will be performed. The default
values will be used for each filter.</td>
</tr>
<tr>
<td align="left" valign="top"><em>48</em></td>
<td align="left" valign="top">All filters will be required.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top" width="15%">CPF24B4 E</td>
<td align="left" valign="top" width="85%">Severe error while addressing
parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C19 E</td>
<td align="left" valign="top">Error occurred with receiver variable
specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is not
valid.</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">CPF3C3B E</td>
<td align="left" valign="top">Value for parameter &amp;2 for API &amp;1 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C3C E</td>
<td align="left" valign="top">Value for parameter &amp;1 not valid.</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 &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBDD1 E</td>
<td align="left" valign="top">Lock space &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPFBDD2 E</td>
<td align="left" valign="top">No authority to lock space &amp;1.</td>
</tr>
</table>
<br>
<hr>
API introduced: V5R2
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"wm1.htm">Work Management APIs</a> | <a href="aplist.htm"> APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>