1773 lines
49 KiB
HTML
1773 lines
49 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 Information (QWCRLCKI) 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. -->
|
|
<!-- Change History: -->
|
|
<!-- YYMMDD USERID Change description -->
|
|
<!-- File created for V5R2 -->
|
|
<!-- File cleanup completed Dec 2001 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 type="text/javascript" language="Javascript" src="../rzahg/synch.js">
|
|
</script>
|
|
|
|
<h2>Retrieve Lock Information (QWCRLCKI) API</h2>
|
|
|
|
<div class="box" style="width: 80%;">
|
|
<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%">Receiver variable</td>
|
|
<td align="left" valign="top" width="15%">Output</td>
|
|
<td align="left" valign="top" width="25%">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 name</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">Object identification</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">Object identification format</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(8)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">6</td>
|
|
<td align="left" valign="top">Number of key fields to be returned</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">Key of fields to be returned</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Array(*) of Binary(4)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">Filters</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">9</td>
|
|
<td align="left" valign="top">Filter format</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(8)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">10</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>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: Yes<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The Retrieve Lock Information (QWCRLCKI) API generates a list of information
|
|
about lock holders of the item specified.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<dl>
|
|
<dt><em>Object Library Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><em>Object Library ASP Device Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
</dl>
|
|
|
|
<p><strong>Note:</strong> If the user does not have *EXECUTE authority to the
|
|
object's library and *EXECUTE authority to the object library's ASP device, the
|
|
user must have *JOBCTL authority or GUI thread control authority.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Receiver variable</strong></dt>
|
|
|
|
<dd>OUTPUT; CHAR(*)
|
|
|
|
<p>The receiver variable that receives the information requested. You can
|
|
specify the size of the area to be smaller than the format requested as long as
|
|
you specify the length parameter correctly. As a result, the API returns only
|
|
the data that the area can hold. For example, this may mean that the number of
|
|
lock information entries returned in the receiver variable doesn't match the
|
|
value in the number of lock information entries available.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Length of receiver variable</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The length of the receiver variable provided. The length of the receiver
|
|
variable parameter may be specified up to the size of the receiver variable
|
|
specified in the user program. If the length of the receiver variable specified
|
|
is larger then the allocated size of the receiver variable specified in the
|
|
user program, the results are not predictable. The minimum length is 8
|
|
bytes.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Format name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p>The name of the format used to retrieve lock information. You can specify
|
|
this format:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>LCKI0100</em></td>
|
|
<td align="left" valign="top">Lock Information Format. See <a href="#LCKI0100">
|
|
LCKI0100 Format</a> for more information.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Object identification</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)
|
|
|
|
<p>The information that is used to identify the entity that may be locked. See
|
|
<a href="#FmtObjId">Format of Object Identification</a> for more
|
|
information.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Object identification format</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p>The format of the entity identification information. Possible format names
|
|
are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>LOBJ0100</em></td>
|
|
<td align="left" valign="top">Object name. See <a href="#LOBJ0100">LOBJ0100
|
|
Format</a> for more information on this format.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>LOBJ0200</em></td>
|
|
<td align="left" valign="top">Object lock handle. See <a href="#LOBJ0200">
|
|
LOBJ0200 Format</a> for more information on this format.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Number of key fields to be returned</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The number of key fields to be returned in the LCKI0100 format. If the lock
|
|
holder type returned is a lock space then the values returned in the key fields
|
|
will be blank or zero.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Key of fields to be returned.</strong></dt>
|
|
|
|
<dd>INPUT; ARRAY(*) of BINARY(4)
|
|
|
|
<p>The list of fields returned in the LCKI0100 format. For a list of valid
|
|
fields, see <a href="#ValidKeys">Valid Keys</a>.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Filters</strong></dt>
|
|
|
|
<dd>INPUT;CHAR(*)
|
|
|
|
<p>Filters used for the lock information that is returned. See the <a href=
|
|
"#FilterFormat">Filter Format</a> for further information.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Filter format</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p>The format of the lock filter used on the returned data. The possible format
|
|
name is:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>LKFL0100</em></td>
|
|
<td align="left" valign="top">See <a href="#LKFL0100">LKFL0100 Format</a> for
|
|
details on the filters contained in this format.</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="FmtObjId">Format of Object Identification</a></h3>
|
|
|
|
<p>The formats for the object identification are specified.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="LOBJ0100">LOBJ0100 Format</a></h3>
|
|
|
|
<p>An external object is specified in this format. See the field descriptions
|
|
for restrictions that may exist.</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%">Object identification size</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="center" valign="top">E</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">24</td>
|
|
<td align="center" valign="top">18</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library ASP name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">34</td>
|
|
<td align="center" valign="top">22</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object type specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">44</td>
|
|
<td align="center" valign="top">2C</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Member name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">54</td>
|
|
<td align="center" valign="top">36</td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Reserved</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">Record lock indicator</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">60</td>
|
|
<td align="center" valign="top">3C</td>
|
|
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
|
|
<td align="left" valign="top">Relative record number</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Member name.</strong> Lock information is retrieved on the specified
|
|
member of a database file. This is valid only when a database file has been
|
|
specified for object parameters. For other than database files, use *NONE.
|
|
Special values used are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*NONE</em></td>
|
|
<td align="left" valign="top">No member locks are retrieved, but file level
|
|
locks are retrieved. If the qualified object name is not a database file, use
|
|
this value.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object identification size.</strong> The amount of data provided for
|
|
the LOBJ0100 format. This field must be set to 64.</p>
|
|
|
|
<p><strong>Object library ASP name specified.</strong> The name of the
|
|
auxiliary storage pool (ASP) device that contains the object's library. This
|
|
parameter must be * if the library portion of the qualified object name is
|
|
*CURLIB or *LIBL. Special values used are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top">*</td>
|
|
<td align="left" valign="top">The current thread's library name space will be
|
|
searched.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">*SYSBAS</td>
|
|
<td align="left" valign="top">The system ASP and defined basic user ASPs will
|
|
be searched.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object library name specified.</strong> The name of the library
|
|
where the object is located. You can use these special values for the library
|
|
name:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*CURLIB</em></td>
|
|
<td align="left" valign="top">The current library is used to locate the object.
|
|
If there is no current library, QGPL (general purpose library) is used.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*LIBL</em></td>
|
|
<td align="left" valign="top">The library list is used to locate the
|
|
object.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object name specified.</strong> The name of the external i5/OS
|
|
object whose lock information entries are to be placed in the list.</p>
|
|
|
|
<p><strong>Object type specified.</strong> The type of i5/OS object. For a
|
|
list of all the available external i5/OS object types, see the
|
|
<a href="../rbam6/rbam6clmain.htm">Control Language (CL)</a> topic.</p>
|
|
|
|
<p><strong>Record lock indicator.</strong> The indicator that controls the
|
|
retrieval of record locks that may exist if the object specified is a file and
|
|
member. If the object specified is not a database file and member or the
|
|
special value of <em>*ALL</em> is specified for member, then the value 0 must
|
|
be used for this field. One of the following values are required for this
|
|
field.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">No record lock information is retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">The record lock information in the specified file
|
|
and member will be returned.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Relative record number.</strong> The record number in the specified
|
|
database file and member for which lock information is to be returned. If the
|
|
object specified is not a database file and member, the value 0 must be used
|
|
for this field. The following special value is allowed:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Record lock information for all records in the
|
|
member should be returned.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Reserved.</strong> This field must be set to hexadecimal zeros.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="LOBJ0200">LOBJ0200 Format</a></h3>
|
|
|
|
<p>This format is used to find locks where a handle was passed that has been
|
|
returned in a previous lock call to the Retrieve Job Locks <a href=
|
|
"qwcrjblk.htm">(QWCRJBLK)</a> API. This call must have been made in the same
|
|
thread for the handle to be valid. The following fields are used if LOBJ0200
|
|
input format is specified.</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%">Object handle size</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(64)</td>
|
|
<td align="left" valign="top">Object lock handle</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Object lock handle.</strong> A value that identifies the object that
|
|
is stored from a previous API call. The handle is a temporary value. A storage
|
|
limitation will allow a thread to create up to 1 million valid handles. Once
|
|
the storage limit has been reached the oldest handle information will be
|
|
overwritten. This can cause a handle to no longer be valid.</p>
|
|
|
|
<p><strong>Object identification size.</strong> The amount of data provided for
|
|
the LOBJ0200 format. This field must be set to 68.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="FilterFormat">Filter Format</a></h3>
|
|
|
|
<p>The format of the lock filter used on the returned lock information.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="LKFL0100">LKFL0100</a> Format</h3>
|
|
|
|
<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">BINARY(4)</td>
|
|
<td align="left" valign="top">Filter lock scope</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">Filter lock status</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">16</td>
|
|
<td align="center" valign="top">10</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Filter lock holder type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">17</td>
|
|
<td align="center" valign="top">11</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Filter member lock type</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Filter lock holder type.</strong> Filters information that is
|
|
returned so it contains only information about a type of lock holder.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not filter on holder type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Return only locks with a holder type of job or
|
|
thread.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Return only locks with a holder type of lock
|
|
space.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Default</em></td>
|
|
<td align="left" valign="top">Do not filter on holder type.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Filter lock scope.</strong> Filters information that is returned so
|
|
it contains only information about locks that have a certain lock scope.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not filter on lock scope.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Return only the job scope locks.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Return only the thread scope locks.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">Return only the lock space scope locks.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Default</em></td>
|
|
<td align="left" valign="top">Do not filter on lock scope.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Filter lock state.</strong> Filters information that is returned so
|
|
it contains only information about locks that have a certain lock state.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not filter on lock state.</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>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Default</em></td>
|
|
<td align="left" valign="top">Do not filter on lock state.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Filter lock status.</strong> Filters information that is returned so
|
|
it contains only information about locks that have a certain lock status.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not filter on lock status.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Return only locks with a status of held.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Return only locks with a status of waiting.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">Return only locks with a status of
|
|
requested.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Default</em></td>
|
|
<td align="left" valign="top">Do not filter on lock status.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Filter member lock type.</strong> Filters information that is
|
|
returned so it contains only information about locks that have a certain member
|
|
lock type.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">Do not filter on member lock type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Return only locks with member lock type of
|
|
member.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Return only locks with member lock type of
|
|
data.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">Return only locks with member lock type of access
|
|
path.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>Default</em></td>
|
|
<td align="left" valign="top">Do not filter on member lock type.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<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.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>18</em></td>
|
|
<td align="left" valign="top">All filters will be required.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Lock Information Format</h3>
|
|
|
|
<p>The formats for the lock information.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="LCKI0100">LCKI0100 Format</a></h3>
|
|
|
|
<h3><a name="HDRMBRLIPV">Header Section</a></h3>
|
|
|
|
<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">Type of entity</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">12</td>
|
|
<td align="center" valign="top">C</td>
|
|
<td align="left" valign="top">CHAR(30)</td>
|
|
<td align="left" valign="top">Extended object name returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">42</td>
|
|
<td align="center" valign="top">2A</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library name returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">52</td>
|
|
<td align="center" valign="top">34</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object ASP name returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">62</td>
|
|
<td align="center" valign="top">3E</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library ASP name returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">72</td>
|
|
<td align="center" valign="top">48</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Object ASP number returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">76</td>
|
|
<td align="center" valign="top">4C</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Object library ASP number returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">80</td>
|
|
<td align="center" valign="top">50</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object type returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">90</td>
|
|
<td align="center" valign="top">5A</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Extended object attribute returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">100</td>
|
|
<td align="center" valign="top">64</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Number of lock information entries available</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">104</td>
|
|
<td align="center" valign="top">68</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Offset to list of lock information entries</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">108</td>
|
|
<td align="center" valign="top">6C</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Number of lock information entries returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">112</td>
|
|
<td align="center" valign="top">70</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of lock information entry</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Lock Information Entry Format</h3>
|
|
|
|
<table border width="80%">
|
|
<!-- cols="10 10 20 60" -->
|
|
<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="left" valign="top" rowspan="17" width="20%" colspan="2">These fields
|
|
repeat, in the order listed.</td>
|
|
<td align="left" valign="top" width="20%">CHAR(10)</td>
|
|
<td align="left" valign="top" width="60%">Lock state</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Lock status</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Lock scope</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(3)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Lock space identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(64)</td>
|
|
<td align="left" valign="top">Lock request handle</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Lock count</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Member name returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Member lock type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Relative record number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Displacement from lock information to holder
|
|
identification</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Displacement from lock information to key
|
|
information</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Number of keys returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Holder type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Holder identification</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Key information format</h3>
|
|
|
|
<table border width="80%">
|
|
<!-- cols="10 10 20 60" -->
|
|
<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" rowspan="7" colspan="2" width="20%">These
|
|
fields repeat, in the order listed, for each key selected.</td>
|
|
<td align="left" valign="top" width="20%">BINARY(4)</td>
|
|
<td align="left" valign="top" width="60%">Length of field information
|
|
returned</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Key field</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Type of data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(3)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Data</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3><a name="HDROBJFRE">Field Descriptions</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 lock information entries are returned.</p>
|
|
|
|
<p><strong>Data.</strong> The data returned for the key field.</p>
|
|
|
|
<p><strong>Displacement from lock information to holder
|
|
identification.</strong> The byte displacement from the start of the current
|
|
lock information entry to the holder identification.</p>
|
|
|
|
<p><strong>Displacement from lock information to key information.</strong> The
|
|
byte displacement from the start of the current lock information entry to the
|
|
key information requested.</p>
|
|
|
|
<p><strong>Extended object attribute returned.</strong> The extended attribute
|
|
of the object for which the list of locks is returned, such as a program or a
|
|
file type. Extended attributes further describe the object. For example, an
|
|
object type of *FILE may have an extended object attribute of PHY (physical
|
|
file), LGL (logical file), DSP (display file), SAV (save file), and so
|
|
forth.</p>
|
|
|
|
<p><strong>Extended object name returned.</strong> The name of the object for
|
|
which the lock information entries are placed in the list. This field will be
|
|
blank if the name is for an internal system object or an internal system object
|
|
space location, and the user does not have *JOBCTL special authority.</p>
|
|
|
|
<p><strong>Holder identification.</strong> This field contains information
|
|
about the lock holder. This can be either a qualified job name as described in
|
|
<a href="#Job">Job Format</a> specifier or a lock space identifier as described
|
|
in <a href="#Lock Space">Lock Space Format</a> specifier.</p>
|
|
|
|
<p><strong>Holder type.</strong> This value is set to indicate what type of
|
|
holder is holding or is waiting to hold a lock on the specified object.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">The lock holder is a job or thread. See the <a
|
|
href="#Job">Job Format</a> for more information.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">The lock holder is a lock space. See the <a href=
|
|
"#Lock Space">Lock Space Format</a> for more information.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Key field.</strong> The field returned. See <a href="#ValidKeys">
|
|
Valid Keys</a> for the list of valid keys.</p>
|
|
|
|
<p><strong>Length of data.</strong> The length of the data returned for the
|
|
field.</p>
|
|
|
|
<p><strong>Length of field information returned.</strong> The total length of
|
|
information returned for this field. This value is used to increment to the
|
|
next field in the list.</p>
|
|
|
|
<p><strong>Length of</strong> <strong> lock information entry.</strong> The
|
|
length of a lock information entry. This value is used to increment to the next
|
|
entry.</p>
|
|
|
|
<p><strong>Lock count.</strong> The number of identical locks.</p>
|
|
|
|
<p><strong>Lock request handle.</strong> This value is used to identify a
|
|
handle to lock request process information. Using the Retrieve Lock Request
|
|
Information (QWCRLRQI) API and passing in this handle you can retrieve
|
|
additional information about the program that requested this lock. See <a href=
|
|
"qwcrlrqi.htm">QWCRLRQI API</a> for additional information</p>
|
|
|
|
<p><strong>Lock scope.</strong> The scope 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">Job scope</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Thread scope</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Lock space scope</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Lock space identifier.</strong> This field contains a value only
|
|
when the lock scope value is lock space scope and the lock is being waited on
|
|
by a thread. This field will then contain the lock space ID value for which the
|
|
lock is being waited on.</p>
|
|
|
|
<p><strong>Lock state.</strong> The lock condition for the lock request. The
|
|
possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SHRRD</em></td>
|
|
<td align="left" valign="top">Lock shared for read.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SHRUPD</em></td>
|
|
<td align="left" valign="top">Lock shared for update.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SHRNUP</em></td>
|
|
<td align="left" valign="top">Lock shared no update.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*EXCLRD</em></td>
|
|
<td align="left" valign="top">Lock exclusive allow read.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*EXCL</em></td>
|
|
<td align="left" valign="top">Lock exclusive no read.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*RECRD</em></td>
|
|
<td align="left" valign="top">Lock is a record shared read lock</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*RECUP</em></td>
|
|
<td align="left" valign="top">Lock is a record exclusive update lock.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*RECINT</em></td>
|
|
<td align="left" valign="top">Lock is a record shared internal lock</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Lock status.</strong> The status of the lock. The lock may be a
|
|
single request or part of a multiple lock request for which some other object
|
|
specified in the request has been identified as unavailable. The possible
|
|
values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">The lock is currently held by the job or
|
|
thread.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">The job or thread is waiting for the lock
|
|
(synchronous).</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">The job or thread has a lock request outstanding
|
|
for the object (asynchronous).</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Member lock type.</strong> If the lock is on a member then this
|
|
field indicates the type of member lock, otherwise it will be blank. The
|
|
possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>Blank</em></td>
|
|
<td align="left" valign="top">The object type is not a member</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">Lock on the member control block</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Lock on the actual data within the member</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">Lock on the access path used to access a member's
|
|
data</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Member name returned.</strong> The name of the member that lock
|
|
information is being returned for. Blanks will be returned if the object is not
|
|
a member of a database file.</p>
|
|
|
|
<p><strong>Number of keys returned.</strong> The number of keys that were
|
|
returned.</p>
|
|
|
|
<p><strong>Number of lock information entries available.</strong> The number of
|
|
lock information entries that were found.</p>
|
|
|
|
<p><strong>Number of lock information entries returned.</strong> The number of
|
|
lock information entries that are returned.</p>
|
|
|
|
<p><strong>Object ASP name returned.</strong> The name of the ASP in which the
|
|
object is located. The following special values may also be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SYSBAS</em></td>
|
|
<td align="left" valign="top">The object 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 cannot be determined.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object ASP number returned.</strong> The numeric identifier of the
|
|
ASP containing the locked object. 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 object 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 object 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 object 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>Object library ASP name returned.</strong> The name of the ASP in
|
|
which the object's library is located. The following special values may also be
|
|
returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<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 cannot be determined.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object library ASP number returned.</strong> The numeric identifier
|
|
of the ASP device containing the object's library. The following special values
|
|
may also 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">2-32</td>
|
|
<td align="left" valign="top">The library is located in a basic user ASP.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">33-255</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>Object library name returned.</strong> The name of the library that
|
|
contains the object whose lock information entries are placed in the list.</p>
|
|
|
|
<p><strong>Object type returned.</strong> The type of object for which locks
|
|
are retrieved. For a list of all the available external i5/OS object types,
|
|
see <a href="../rbam6/rbam6objecttypes.htm">External object types</a> in the
|
|
Control Language (CL) topic.
|
|
For a list of all internal system object types, see
|
|
<a href="../apiref/conObject.htm">Internal object types</a>.</p>
|
|
|
|
<p><strong>Offset to list of lock information entries.</strong> The offset in
|
|
bytes from the beginning of the receiver variable to the first entry.</p>
|
|
|
|
<p><strong>Relative record number.</strong> The relative record number for
|
|
which record lock information is being returned. If this is not a record lock
|
|
then this value will be zero.</p>
|
|
|
|
<p><strong>Reserved.</strong> An unused field.</p>
|
|
|
|
<p><strong>Type of data.</strong> The type of data returned.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>C</em></td>
|
|
<td align="left" valign="top">The data is returned in character format.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>B</em></td>
|
|
<td align="left" valign="top">The data is returned in binary format.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Type of entity.</strong> This is a value that will identify the type
|
|
of entity for which the lock information is returned. The following values may
|
|
be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">i5/OS external object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Member object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>3</em></td>
|
|
<td align="left" valign="top">i5/OS external object space location</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>4</em></td>
|
|
<td align="left" valign="top">Internal system object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>5</em></td>
|
|
<td align="left" valign="top">Internal system object space location</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3><a name="ValidKeys"><strong>Valid Keys</strong></a></h3>
|
|
|
|
<p>The following table contains a list of valid keys.</p>
|
|
|
|
<p>See <a href="WMAttrDesc.htm#HDRJOBRDE">Field Descriptions</a> in the Work
|
|
Management API Attributes Descriptions for the descriptions of the valid key
|
|
fields. All fields are scoped to the job unless specifically noted. See <a
|
|
href="WMAttrDesc.htm#HDRRJBSCPE">Considerations for Attribute Scope and Thread
|
|
Safety</a> in the Work Management API Attributes Descriptions for complete
|
|
information.</p>
|
|
|
|
<p><strong>Note:</strong> If the holder type is a lock space holder then
|
|
character fields will contain blanks and the binary fields will be zero.</p>
|
|
|
|
<table border width="80%">
|
|
<!-- cols="15 20 65" -->
|
|
<tr>
|
|
<th align="center" valign="bottom">Key</th>
|
|
<th align="left" valign="bottom">Type</th>
|
|
<th align="left" valign="bottom">Description</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0101</td>
|
|
<td align="left" valign="top">CHAR(4)</td>
|
|
<td align="left" valign="top">Active job status</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0103</td>
|
|
<td align="left" valign="top">CHAR(4)</td>
|
|
<td align="left" valign="top">Active job status for jobs ending</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0502</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">End status</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0601</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Function name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0602</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Function type</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">0902</td>
|
|
<td align="left" valign="top">CHAR(16)</td>
|
|
<td align="left" valign="top">Internal job identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">1014</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Job end reason</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">1307</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Message reply</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">2010</td>
|
|
<td align="left" valign="top">CHAR(4)</td>
|
|
<td align="left" valign="top">Thread status</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Holder ID</h3>
|
|
|
|
<p>This field contains an identifier for the job or lock space that is holding
|
|
or waiting to hold a lock on the specified object or space location.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="Job">Job Format</a></h3>
|
|
|
|
<p>For a job, the returned data in this field will be in this 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%">Holder identification size</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">Job 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">User name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">28</td>
|
|
<td align="center" valign="top">1C</td>
|
|
<td align="left" valign="top">CHAR(6)</td>
|
|
<td align="left" valign="top">Job number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">34</td>
|
|
<td align="center" valign="top">22</td>
|
|
<td align="left" valign="top">CHAR(8)</td>
|
|
<td align="left" valign="top">Thread identifier</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">42</td>
|
|
<td align="center" valign="top">2A</td>
|
|
<td align="left" valign="top">CHAR(2)</td>
|
|
<td align="left" valign="top">Reserved</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">44</td>
|
|
<td align="center" valign="top">2C</td>
|
|
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
|
|
<td align="left" valign="top">Thread handle</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Holder identification size.</strong> The size of the holder
|
|
identification.</p>
|
|
|
|
<!-- TRNOTE Please do not translate the following use of the word MACHINE. -->
|
|
<!-- TRNOTE It is from a referenced document and must remain in -->
|
|
<!-- TRNOTE its original form. -->
|
|
<p><strong>Job name.</strong> The simple job name of the job that issued the
|
|
lock request. If the job name is MACHINE and the job user name entry is blank,
|
|
the lock is held by an internal machine process.</p>
|
|
|
|
<p><strong>Job number.</strong> The system assigned job number of the job that
|
|
issued the lock request. This value will be blank if the job name is MACHINE
|
|
and the user name entry is blank.</p>
|
|
|
|
<p><strong>Thread handle.</strong> A value which addresses a particular thread
|
|
within a job holding a thread scope lock or the thread waiting for a lock,
|
|
otherwise this is zero. While the thread identifier uniquely identifies the
|
|
thread within the job, the thread handle can improve performance when
|
|
referencing the thread.</p>
|
|
|
|
<p><strong>Thread identifier.</strong> A value which uniquely identifies a
|
|
thread within a job holding a thread scope lock or the thread waiting for a
|
|
lock, otherwise this is zero.</p>
|
|
|
|
<p><strong>Reserved.</strong> This field will be blank.</p>
|
|
|
|
<p><strong>User name.</strong> The user name under which the job that issued
|
|
the lock request is started. If the job name is MACHINE and the lock is held by
|
|
an internal machine process then this field will be blank.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="Lock Space">Lock Space Format</a></h3>
|
|
|
|
<p>For a lock space the returned data in this field will be in this 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%">Holder identification size</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">CHAR(20)</td>
|
|
<td align="left" valign="top">Holder lock space identifier</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3>Field Descriptions</h3>
|
|
|
|
<p><strong>Holder identification size.</strong> The size of the holder
|
|
identification.</p>
|
|
|
|
<p><strong>Holder lock space identifier.</strong> The identifier of the lock
|
|
space that holds a lock.</p>
|
|
|
|
<p><strong>Reserved.</strong> A blank field.</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 align="left" valign="top">CPF0951 E</td>
|
|
<td align="left" valign="top">QSYS only valid library for object type
|
|
&2.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF18C2 E</td>
|
|
<td align="left" valign="top">Value for handle has expired.</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">CPF3C21 E</td>
|
|
<td align="left" valign="top">Format name &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">CPF3C31 E</td>
|
|
<td align="left" valign="top">Object type &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C3C E</td>
|
|
<td align="left" valign="top">Value for parameter &1 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">CPF3CF2 E</td>
|
|
<td align="left" valign="top">Error(s) occurred while running API &1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9801 E</td>
|
|
<td align="left" valign="top">Object &1 type &3 not found in library
|
|
&2.</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: V5R2
|
|
|
|
<hr>
|
|
<center>
|
|
<table cellpadding="2" cellspacing="2">
|
|
<tr align="center">
|
|
<td valign="middle" align="center"><a href="#Top">Top</a> | <a href="wm1.htm">
|
|
Work Management APIs</a> | <a href="aplist.htm">APIs by category</a></td>
|
|
</tr>
|
|
</table>
|
|
</center>
|
|
</body>
|
|
</html>
|
|
|