1206 lines
34 KiB
HTML
1206 lines
34 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>List Object Locks (QWCLOBJL) 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. -->
|
|
<!-- WM SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
|
|
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
|
|
<!-- Change History: -->
|
|
<!-- YYMMDD USERID Change description -->
|
|
<!-- File cleanup completed Nov 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>List Object Locks (QWCLOBJL) 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%">Qualified user space 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">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">3</td>
|
|
<td align="left" valign="top">Qualified object name</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(20)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">4</td>
|
|
<td align="left" valign="top">Object type</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">5</td>
|
|
<td align="left" valign="top">Member name</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Char(10)</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>
|
|
Optional Parameter Group 1:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">7</td>
|
|
<td align="left" valign="top" width="50%">Path name</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(*)</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">8</td>
|
|
<td align="left" valign="top">Path name length</td>
|
|
<td align="left" valign="top">Input</td>
|
|
<td align="left" valign="top">Binary(4)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Optional Parameter Group 2:<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
<table width="100%">
|
|
<tr>
|
|
<td align="center" valign="top" width="10%">9</td>
|
|
<td align="left" valign="top" width="50%">Qualified object ASP name</td>
|
|
<td align="left" valign="top" width="20%">Input</td>
|
|
<td align="left" valign="top" width="20%">Char(10)</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
Default Public Authority: *USE<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
Threadsafe: No<br>
|
|
<!-- iddvc RMBR -->
|
|
<br>
|
|
</div>
|
|
|
|
<p>The List Object Locks (QWCLOBJL) API generates a list of lock information
|
|
about a specific object or database file member and places the list into the
|
|
specified user space. An object level or member level lock may be specified. If
|
|
it is a database file, you will get a lock on the member (if requested);
|
|
otherwise, the lock is on the object. This API provides information similar to
|
|
that provided by the Work with Object Lock (WRKOBJLCK) command.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Authorities and Locks</h3>
|
|
|
|
<dl>
|
|
<dt><em>User Space Authority</em></dt>
|
|
|
|
<dd>*CHANGE</dd>
|
|
|
|
<dt><em>User Space Library Authority</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><em>User Space Lock</em></dt>
|
|
|
|
<dd>*EXCLRD</dd>
|
|
|
|
<dt><em>ASP device</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
|
|
<dt><em>Object library</em></dt>
|
|
|
|
<dd>*EXECUTE</dd>
|
|
</dl>
|
|
|
|
<p>A user with *JOBCTL special authority is not required to have *EXECUTE
|
|
authority to either the auxiliary storage pool (ASP) device or the library
|
|
containing the object.</p>
|
|
|
|
<p>If a path name is specified, *X authority is required for directories in the
|
|
path reqardless of any special authorities the user may have.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Required Parameter Group</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Qualified user space name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(20)
|
|
|
|
<p>The name of the existing user space that is to receive the created list. The
|
|
first 10 characters contain the user space name, and the second 10 characters
|
|
contain the name of the library where the user space 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 user
|
|
space. 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 user
|
|
space.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Format name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(8)
|
|
|
|
<p>The name of the format used to list object locks. You can specify this
|
|
format:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>OBJL0100</em></td>
|
|
<td align="left" valign="top">The content and format of the lock information
|
|
being returned. For more information, see <a href="#HDRMBRLIP3">OBJL0100
|
|
Format</a>.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Qualified object name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(20)
|
|
|
|
<p>The name of the object whose locks are to be placed in the list. The first
|
|
10 characters contain the object name, and the second 10 characters contain the
|
|
name of the library where the object is located.</p>
|
|
|
|
<p>If you want to use a path name instead of a qualified object name, use this
|
|
special value for the object name:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*OBJPATH</em></td>
|
|
<td align="left" valign="top">Use the optional parameters, path name and path
|
|
name length, to specify the object name. When this special value is specified,
|
|
the member name field must be the special value *NONE and the Object type field
|
|
must be blanks.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<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>*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>
|
|
|
|
<br>
|
|
</dd>
|
|
|
|
<dt><strong>Object type</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The object type of operating system object for which the list of locks is
|
|
returned. Specify the predefined value that identifies the object type. See the
|
|
<a href="../rbam6/clpro.htm">CL Programming</a> topic for more information on allowed object
|
|
types. If a path name has been specified, then this field must contain
|
|
blanks.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Member name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>This parameter is valid only when a database file has been specified in the
|
|
qualified object name parameter. For other than database files, use *NONE.
|
|
Possible values are a specific name or a special value:</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. If a path name is being specified for the object name, use this
|
|
value.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*FIRST</em></td>
|
|
<td align="left" valign="top">The member locks for the first member in the
|
|
named file are retrieved.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*ALL</em></td>
|
|
<td align="left" valign="top">Member locks for all the members in the file are
|
|
retrieved.</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>Optional Parameter Group 1</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Path name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(*)
|
|
|
|
<p>The path name of the object whose locks are to be placed in the list. Both
|
|
absolute and relative path names are allowed. The patterns ? and * are not
|
|
allowed. The home directory of the user is not resolved, thus a tilde (~) in
|
|
the first character position is not treated as the home directory. This
|
|
parameter is assumed to be represented in the coded character set identifier
|
|
(CCSID) currently in effect for the job. If the CCSID of the job is 65535, this
|
|
parameter is assumed to be represented in the default CCSID of the job. The
|
|
path name delimiter must be a slash (/). If a symbolic link is specified, the
|
|
link is not followed.</p>
|
|
</dd>
|
|
|
|
<dt><strong>Path name length</strong></dt>
|
|
|
|
<dd>INPUT; BINARY(4)
|
|
|
|
<p>The length of the path name, in bytes.</p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3>Optional Parameter Group
|
|
2</h3>
|
|
|
|
<dl>
|
|
<dt><strong>Qualified object ASP name</strong></dt>
|
|
|
|
<dd>INPUT; CHAR(10)
|
|
|
|
<p>The name of the ASP device where the object's library is located. This
|
|
parameter must be * if the library portion of the qualified object name is
|
|
*CURLIB or *LIBL. It also must be * if the qualified object name is *OBJPATH.
|
|
If the object is a library and either an ASP device name or *SYSBAS is
|
|
specified, the library portion of the qualified object name must be QSYS. The
|
|
following special values may be specified:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="10 90" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*</em></td>
|
|
<td align="left" valign="top">The ASPs that are currently part of the thread's
|
|
library name space will be searched to locate the object.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*SYSBAS</em></td>
|
|
<td align="left" valign="top">The system ASP and all basic ASPs will be
|
|
searched to locate the object.</td>
|
|
</tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="Header_99">Format of the Generated List</a></h3>
|
|
|
|
<p>The file member list consists of:</p>
|
|
|
|
<ul>
|
|
<li>A user area</li>
|
|
|
|
<li>A generic header</li>
|
|
|
|
<li>An input parameter section</li>
|
|
|
|
<li>A header section</li>
|
|
|
|
<li>A list data section</li>
|
|
</ul>
|
|
|
|
<p>For details about the user area and generic header, see <a href="../apiref/usf.htm">
|
|
User Space Format for List APIs</a>. For details about the remaining items, see
|
|
the following sections. For detailed descriptions of the fields in the list
|
|
returned, see <a href="#HDROBJFRE">Field Descriptions</a>.</p>
|
|
|
|
<p>When you retrieve list entry information from a user space, you must use the
|
|
entry size returned in the generic header. The size of each entry may be padded
|
|
at the end. If you do not use the entry size, the result may not be valid. For
|
|
examples of how to process lists, see API <a href="../apiref/apiexmp.htm">
|
|
Examples</a>.</p>
|
|
|
|
<br>
|
|
|
|
|
|
<h3><a name="HDROBJIP1">Input Parameter Section</a></h3>
|
|
|
|
<table border="1" 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%">User space name specified</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">User space library name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="left" valign="top">CHAR(8)</td>
|
|
<td align="left" valign="top">Format name specified</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">Object name specified</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">Object library name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">48</td>
|
|
<td align="center" valign="top">30</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">58</td>
|
|
<td align="center" valign="top">3A</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Member name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">68</td>
|
|
<td align="center" valign="top">44</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Offset to path name specified</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">Length of path name specified</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">
|
|
76</td>
|
|
<td align="center" valign="top">4C</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"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Path name specified</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3><a name="HDRMBRLIPV">Header Section</a></h3>
|
|
|
|
<table border="1" 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%">User space name used</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">User space library name used</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">Object name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">30</td>
|
|
<td align="center" valign="top">1E</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">40</td>
|
|
<td align="center" valign="top">28</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">50</td>
|
|
<td align="center" valign="top">32</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">60</td>
|
|
<td align="center" valign="top">3C</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Shared file name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">70</td>
|
|
<td align="center" valign="top">46</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Shared file library name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">80</td>
|
|
<td align="center" valign="top">50</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Offset to path name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">84</td>
|
|
<td align="center" valign="top">54</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Length of path name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">
|
|
88</td>
|
|
<td align="center" valign="top">58</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object ASP name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">98</td>
|
|
<td align="center" valign="top">62</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Object library ASP name used</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="center" valign="top"> </td>
|
|
<td align="left" valign="top">CHAR(*)</td>
|
|
<td align="left" valign="top">Path name used</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3><a name="HDRMBRLIP3">OBJL0100 Format</a></h3>
|
|
|
|
<table border="1" 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%">Job 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">Job user name</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">20</td>
|
|
<td align="center" valign="top">14</td>
|
|
<td align="left" valign="top">CHAR(6)</td>
|
|
<td align="left" valign="top">Job number</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">26</td>
|
|
<td align="center" valign="top">1A</td>
|
|
<td align="left" valign="top">CHAR(10)</td>
|
|
<td align="left" valign="top">Lock state</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">36</td>
|
|
<td align="center" valign="top">24</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Lock status</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">40</td>
|
|
<td align="center" valign="top">28</td>
|
|
<td align="left" valign="top">BINARY(4)</td>
|
|
<td align="left" valign="top">Lock type</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(1)</td>
|
|
<td align="left" valign="top">Share</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">55</td>
|
|
<td align="center" valign="top">37</td>
|
|
<td align="left" valign="top">CHAR(1)</td>
|
|
<td align="left" valign="top">Lock scope</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="center" valign="top">56</td>
|
|
<td align="center" valign="top">38</td>
|
|
<td align="left" valign="top">CHAR(8)</td>
|
|
<td align="left" valign="top">Thread identifier</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<br>
|
|
<br>
|
|
|
|
|
|
<h3><a name="HDROBJFRE">Field Descriptions</a></h3>
|
|
|
|
<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>Format name specified.</strong> The name of the format used to list
|
|
object locks.</p>
|
|
|
|
<p><strong>Job name.</strong> The simple job name of the job that issued the
|
|
lock request. The following
|
|
special values also may be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>MACHINE</em></td>
|
|
<td align="left" valign="top">The lock is held by an internal machine process.
|
|
If this value is returned, the job number and job user name will be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*LCKSPC</em></td>
|
|
<td align="left" valign="top">The lock is attached to a lock space. If this
|
|
value is returned, the job number and job user name will be blank.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>*N</em></td>
|
|
<td align="left" valign="top">The job name cannot be determined.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Job number.</strong> The system-assigned job number of the job that
|
|
issued the lock request. The
|
|
following special value also may be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*N</em></td>
|
|
<td align="left" valign="top">The job number cannot be determined.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Job user name.</strong> The user name under which the job that
|
|
issued the lock request is run. The user name is the same as the user profile
|
|
name and can come from several different sources depending on the type of job.
|
|
The following special value also
|
|
may be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*N</em></td>
|
|
<td align="left" valign="top">The job user name cannot be determined.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Length of path name specified.</strong> The length, in bytes, of the
|
|
path name of the object that is specified on the call to the API.</p>
|
|
|
|
<p><strong>Length of path name used.</strong> The length, in bytes, of the path
|
|
name of the object for which the locks are placed in the list.</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 state.</strong> The lock condition for the lock request. The
|
|
possible values are:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*NONE</em></td>
|
|
<td align="left" valign="top">No lock exists.</td>
|
|
</tr>
|
|
|
|
<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>
|
|
</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>Lock type.</strong> The lock type to be processed. 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">Lock on the object</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>2</em></td>
|
|
<td align="left" valign="top">Lock on the member control block</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>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>4</em></td>
|
|
<td align="left" valign="top">Lock on the actual data within the member</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Member name.</strong> The name of the file member for which the lock
|
|
was requested. This field is blank if not applicable to object type.</p>
|
|
|
|
<p><strong>Member name specified.</strong> The member name of a database file
|
|
specified on the call to the API.</p>
|
|
|
|
<p><strong>Object ASP name
|
|
used.</strong> The name of the ASP device that contains the object for which
|
|
the locks are placed in the list. The following special value 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 object is located in the system ASP or a
|
|
basic user ASP.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Object library ASP name specified.</strong> The name of the ASP
|
|
device that contains the object specified on the call to the API. The following
|
|
special values may also be returned:</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="15 85" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>*</em></td>
|
|
<td align="left" valign="top">The ASPs that are currently part of the thread's
|
|
library name space will be searched to locate the object.</td>
|
|
</tr>
|
|
|
|
<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>
|
|
</table>
|
|
|
|
<p><strong>Object library ASP name used.</strong> The name of the ASP device
|
|
that contains the library of the object for which locks are placed in the list.
|
|
The following special value may also 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>
|
|
</table>
|
|
|
|
<p><strong>Object library name specified.</strong> The name of the library that
|
|
contains the object specified on the call to the API. This field is blank if a
|
|
path name was specified as the object name.</p>
|
|
|
|
<p><strong>Object library name used.</strong> The name of the library that
|
|
contains the object whose locks are placed in the list. This field is blank if
|
|
a path name was specified as the object name.</p>
|
|
|
|
<p><strong>Object name specified.</strong> The name of the object specified on
|
|
the call to the API. This field will contain the special value *OBJPATH if a
|
|
path name is specified.</p>
|
|
|
|
<p><strong>Object name used.</strong> The name of the object for which the
|
|
locks are placed in the list. This field will contain the special value
|
|
*OBJPATH if a path name is specified.</p>
|
|
|
|
<p><strong>Object type returned.</strong> The type of object for which locks
|
|
are retrieved. This field will contain blanks if a path name is specified.</p>
|
|
|
|
<p><strong>Object type specified.</strong> The type of object for which the
|
|
list of locks are requested. This field will contain blanks if a path name is
|
|
specified.</p>
|
|
|
|
<p><strong>Offset to path name specified.</strong> The offset to the path name
|
|
of the object that is specified on the call to the API.</p>
|
|
|
|
<p><strong>Offset to path name used.</strong> The offset to the path name of
|
|
the object for which the locks are placed in the list.</p>
|
|
|
|
<p><strong>Path name specified.</strong> The path name of the object that is
|
|
specified on the call to the API.</p>
|
|
|
|
<p><strong>Path name used.</strong> The actual path name of the object for
|
|
which the locks are placed in the list.</p>
|
|
|
|
<p><strong>Share.</strong> Whether shared file member locks are associated with
|
|
the file member.</p>
|
|
|
|
<table cellpadding="5">
|
|
<!-- cols="5 95" -->
|
|
<tr>
|
|
<td align="left" valign="top"><em>0</em></td>
|
|
<td align="left" valign="top">The file is not shared, the file is a physical
|
|
file, or the field is not applicable to object type.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top"><em>1</em></td>
|
|
<td align="left" valign="top">The file is shared.</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><strong>Shared file library name.</strong> The name of the library that
|
|
contains the shared file. This field is blank if not applicable to object type
|
|
or if there is no shared file. When this field has a value, it applies to all
|
|
entries in the list.</p>
|
|
|
|
<p><strong>Shared file name.</strong> The name of one shared file whose members
|
|
are locked. This field is blank if not applicable to object type or if there is
|
|
no shared file. When this field has a value, it applies to all entries in the
|
|
list.</p>
|
|
|
|
<p><strong>Thread identifier.</strong> The identifier of the thread that is
|
|
holding a thread-scoped lock or waiting for a lock. For locks that do not have a lock scope of thread scope,
|
|
the hexadecimal value 00000000 is returned.</p>
|
|
|
|
<p><strong>User space library name specified.</strong> The name of the library
|
|
that contains the user space specified in the call to the API.</p>
|
|
|
|
<p><strong>User space library name used.</strong> The name of the library that
|
|
contains the user space into which the generated list is put.</p>
|
|
|
|
<p><strong>User space name specified.</strong> The name of the user space
|
|
specified in the call to the API.</p>
|
|
|
|
<p><strong>User space name used.</strong> The user space used to return the
|
|
list of object locks.</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">CPFA0AB E</td>
|
|
<td align="left" valign="top">Object name not a directory.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFA0A3 E</td>
|
|
<td align="left" valign="top">Path name resolution causes looping.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFA0A7 E</td>
|
|
<td align="left" valign="top">Path name too long.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFA0A9 E</td>
|
|
<td align="left" valign="top">Object not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPFA09C E</td>
|
|
<td align="left" valign="top">Not authorized to object.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF0935 E</td>
|
|
<td align="left" valign="top">Cannot use member name for object type
|
|
&2.</td>
|
|
</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">CPF18A0 D</td>
|
|
<td align="left" valign="top">Object type field not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF18A1 D</td>
|
|
<td align="left" valign="top">Member name is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF18A2 D</td>
|
|
<td align="left" valign="top">Path name parameters not specified.</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">CPF3141 E</td>
|
|
<td align="left" valign="top">Member &1 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3CAA E</td>
|
|
<td align="left" valign="top">List is too large for user space &1.</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">CPF3C1B E</td>
|
|
<td align="left" valign="top">Object identifier not valid for lock type
|
|
&1.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF3C1C E</td>
|
|
<td align="left" valign="top">Lock type &1 not valid for file attribute
|
|
&2.</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">CPF3C31 E</td>
|
|
<td align="left" valign="top">Object type &1 is not valid.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">
|
|
CPF3C3A E</td>
|
|
<td align="left" valign="top">Value for parameter &2 for API &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">CPF9801 E</td>
|
|
<td align="left" valign="top">Object &2 in library &3 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9803 E</td>
|
|
<td align="left" valign="top">Cannot allocate object &2 in library
|
|
&3.</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">CPF9811 E</td>
|
|
<td align="left" valign="top">Program &1 in library &2 not found.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td align="left" valign="top">CPF9812 E</td>
|
|
<td align="left" valign="top">File &1 in library &2 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">CPF9825 E</td>
|
|
<td align="left" valign="top">Not authorized to device &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">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: V3R1
|
|
|
|
<hr>
|
|
<table align="center" 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>
|
|
</body>
|
|
</html>
|
|
|