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

1407 lines
39 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 Job Record Locks (QDBRJBRL) 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. -->
<!-- QDBRJBRL created by Mike Smith, 6/24/99 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- This file has undergone html cleanup on 1/8/02 by JET -->
<!-- 031103 45HKRS: Document JOBL0100 format. -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="top_Of_Page"></a>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Retrieve Job Record Locks (QDBRJBRL) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Format of receiver information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Job or thread identification information</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">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">6</td>
<td align="left" valign="top" width="50%">Format of job or thread
identification information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Lock filters</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Format of lock filters</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve Job Record Locks (QDBRJBRL) API lets you generate a list of
record locks that a specific job or thread is
holding or for which it is waiting. Lock information is returned for local
physical files only. The Retrieve Job Record Locks API places the list in the
specified receiver variable.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Object Authority</em></dt>
<dd>None</dd>
<dt><em>Object Library Authority</em></dt>
<dd>None</dd>
<dt><em>File Lock</em></dt>
<dd>None</dd>
<dt><em>Job Authority</em></dt>
<dd>The API must be called from
within the job for which the information is being retrieved, or the caller of
the API must be running under a user profile that is the same as the job user
identity of the job for which the information is being retrieved. Otherwise,
the caller of the API must be running under a user profile that has job control
(*JOBCTL) special authority.</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the list of record locks. The size of this
variable is specified in the Length of receiver variable parameter. See <a
href="#HDRRCVF">Format of receiver information</a> for details on the format of
the receiver information.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of bytes that are provided in the Receiver variable parameter. At
least 16 bytes must be provided. If the size of the receiver variable provided
is less than the length of the list that is available, the list will be
truncated; this can be determined by examining the first two fields in the
receiver variable, the number of record locks returned, and the number of
record locks available. If the receiver variable length specified is greater
than the actual receiver variable, the results are unpredictable.</p>
</dd>
<dt><strong>Format of receiver information</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the information returned in the receiver variable. The
possible format names are:
</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>RJBL0100</em></td>
<td align="left" valign="top">Record lock list. See <a href="#HDRRCVF1">
RJBL0100 Format</a> for details.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JOBL0100</em></td>
<td align="left" valign="top">Record lock list. See <a href="#HDRRCVF2">
JOBL0100 Format</a> for details.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Job or thread identification information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The information that is used to identify the job or thread for which the job
lock information is to be returned. See <a href="#HDRJOBF">Format of job or
thread identification information</a> for details.</p>
<p>If the Format of record identification information parameter is omitted,
format JIDI0100 is assumed. See <a href="#HDRJOBF0">JIDI0100 Format</a> for
details.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group</h3>
<dl>
<dt><strong>Format of job or thread identification information</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the job or thread identification information. The possible
format names are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>JIDI0100</em></td>
<td align="left" valign="top">This format is used to retrieve the locks that a
job is holding or waiting to hold. See <a href="#HDRJOBF0">JIDI0100 Format</a>
for details. This is the default if this parameter is omitted.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JIDF0100</em></td>
<td align="left" valign="top">This format is used to retrieve the locks that a
job or threads are holding or waiting to hold. See <a href="#HDRJOBF1">JIDF0100
Format</a> for details.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JIDF0200</em></td>
<td align="left" valign="top">This format is used to retrieve the locks that a
specific thread is holding or waiting to hold. See <a href="#HDRJOBF2">JIDF0200
Format</a> for details.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Lock filters</strong></dt>
<dd>INPUT;CHAR(*)
<p>Filters used for the lock information that is returned. See <a href=
"#HDRLKFF">Format of lock filters</a> for further information. If this
parameter is omitted, the returned lock information is not filtered.</p>
</dd>
<dt><strong>Format of lock filters</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the lock filters used on the returned data. The possible
format name is:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>RJFL0100</em></td>
<td align="left" valign="top">Lock filter format. See <a href="#HDRLKFF1">
RJFL0100 Format</a> for details.</td>
</tr>
</table>
<p>If this parameter is omitted, the returned lock information is not
filtered.</p>
</dd>
</dl>
<br>
<h3><a name="HDRRCVF"></a>Format of receiver information</h3>
<p>The format of the information returned in the receiver variable.</p>
<br>
<h3><a name="HDRRCVF1">RJBL0100 Format</a></h3>
<p>The following information is returned for the RJBL0100 format. For detailed
descriptions of the fields in the table, see <a href="#FLDRCVF1">RJBL0100
and JOBL0100 Format Field Descriptions</a>.</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%">Number of record locks available</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">Number of record locks returned</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">Offset to list of record locks</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">Size of information for each record lock
returned</td>
</tr>
</table>
<br>
<br>
<p>Each record lock returned will have the following structure.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Database file name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file library name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database member name</td>
</tr>
<tr>
<td align="center" valign="top">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Lock status</td>
</tr>
<tr>
<td align="center" valign="top">31</td>
<td align="center" valign="top">1F</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">
Lock state </td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
<td align="left" valign="top">Relative record number</td>
</tr>
<tr>
<td align="center" valign="top">
36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file ASP name</td>
</tr>
<tr>
<td align="center" valign="top">46</td>
<td align="center" valign="top">2E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file library ASP name</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Database file ASP number</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Database file library ASP number</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread identifier</td>
</tr>
<tr>
<td align="center" valign="top">72</td>
<td align="center" valign="top">48</td>
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
<td align="left" valign="top">Thread handle</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Lock space identifier</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Lock scope</td>
</tr>
<tr>
<td align="center" valign="top">97</td>
<td align="center" valign="top">61</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRCVF2">JOBL0100 Format</a></h3>
<p>The following information is returned for the JOBL0100 format. For detailed
descriptions of the fields in the table, see <a href="#FLDRCVF1">RJBL0100 and JOBL0100
Format Field Descriptions</a>.</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%">Number of record locks available</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">Number of record locks returned</td>
</tr>
</table>
<br>
<br>
<p>Each record lock returned will have the following structure.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Database file name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database file library name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Database member name</td>
</tr>
<tr>
<td align="center" valign="top">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">UNSIGNED BINARY(4)</td>
<td align="left" valign="top">Relative record number</td>
</tr>
<tr>
<td align="center" valign="top">34</td>
<td align="center" valign="top">22</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Lock status</td>
</tr>
</table>
<br>
<br>
<h3><a name="FLDRCVF1">RJBL0100 and JOBL0100 Format Field Descriptions</a></h3>
<p><strong>Database file library name.</strong> The name of the library that
contains the file.</p>
<p><strong>Database file name.</strong> The name of the file.</p>
<p><strong>Database member name.</strong> The name of the member.</p>
<p><strong>Database file ASP
name.</strong> The name of the auxiliary storage pool (ASP) that contains the
file. The following special values 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 file is located in the system ASP or a basic
user ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.</td>
</tr>
</table>
<p><strong>Database file ASP number.</strong> The numeric identifier of the ASP
containing the file. The following values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The file is located in the system ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">The file is located in a basic user ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>33-255</em></td>
<td align="left" valign="top">The file is located in an independent ASP.</td>
</tr>
<tr>
<td align="left" valign="top">-1</td>
<td align="left" valign="top">The ASP number cannot be determined.</td>
</tr>
</table>
<p><strong>Database file library ASP name.</strong> The name of the auxiliary
storage pool (ASP) that contains the library. The following special values also
may be returned:</p>
<table cellpadding="5">
<!-- cols="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 device cannot be
determined.</td>
</tr>
</table>
<p><strong>Database file library ASP number.</strong> The numeric identifier of
the ASP containing the library. The following values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The library is located in the system ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">The library is located in a basic user ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>33-255</em></td>
<td align="left" valign="top">The library is located in an independent
ASP.</td>
</tr>
<tr>
<td align="left" valign="top">-1</td>
<td align="left" valign="top">The ASP number cannot be determined.</td>
</tr>
</table>
<p><strong>Lock scope.</strong> The scope of the lock. The scope may be job,
thread scope, or lock space. 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">2</td>
<td align="left" valign="top">Lock space scope.</td>
</tr>
</table>
<p><strong>Lock space identifier.</strong> This field will contain 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 identifier of the lock space for
which the lock is being waited on.</p>
<p><strong>Lock state.</strong> The state of the lock. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Shared read.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Exclusive update.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Shared internal.</td>
</tr>
</table>
<p><strong>Lock status.</strong> The status 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">The record lock is held by the given job or
thread.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The job or thread given is waiting for the record
lock.</td>
</tr>
</table>
<p><strong>Number of record locks available.</strong> The number of record lock
structures that are available to be returned. If this field is the same as the
number of record locks returned field, all the record lock information has been
returned.</p>
<p><strong>Number of record locks returned.</strong> The number of record lock
structures that were returned to the caller of the API. If enough space is
provided in the receiver variable, all record locks are returned. If there is
more record lock information than can fit in the space provided, the number of
record locks returned is less than the number of record locks available.</p>
<p><strong>Offset to list of record locks.</strong> The byte offset from the
beginning of the receiver variable to the first record lock information
structure.</p>
<p><strong>Relative record number.</strong> The relative record number for
which record lock information is being returned.</p>
<p><strong>Reserved.</strong> An unused field.</p>
<p><strong>Size of information for each lock returned.</strong> The number of
bytes of each of the returned lock information structures. In future releases,
the amount of information returned for each lock may be expanded, so this value
should be used to move from one lock structure to another.</p>
<p><strong>Thread
handle.</strong> This is a value which is used to address a particular thread
holding a thread scope lock or the thread waiting for a lock. If the lock is a
job scope lock, this is zero.</p>
<p><strong>Thread identifier.</strong> The unique value that is used to
identify the thread holding a thread scope lock or the thread waiting for a
lock. If the lock is a job scope lock, this is zero.</p>
<br>
<h3><a name="HDRJOBF"></a>Format of job or thread identification
information</h3>
<p>The format of the information needed to identify the job or thread whose
locked object information is returned.</p>
<br>
<h3><a name="HDRJOBF0"></a>JIDI0100 Format</h3>
<p>The following information is to be specified for the JIDI0100 format. For
detailed descriptions of the fields in the table, see <a href="#FLDJOBF0">
JIDI0100 Format Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Job name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">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>
</table>
<br>
<br>
<h3><a name="FLDJOBF0"></a>JIDI0100 Format Field Descriptions</h3>
<p><strong>Job name.</strong> A specific job name.</p>
<p><strong>Job number.</strong> A specific job number.</p>
<p><strong>User name.</strong> A specific user profile name.</p>
<br>
<h3><a name="HDRJOBF1"></a>JIDF0100 Format</h3>
<p>The following information is to be specified for the JIDF0100 format. For
detailed descriptions of the fields in the table, see <a href="#FLDJOBF1">
JIDF0100 Format Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">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">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(16)</td>
<td align="left" valign="top">Internal job 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">BINARY(4)</td>
<td align="left" valign="top">Thread indicator</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="FLDJOBF1"></a>JIDF0100 Format Field Descriptions</h3>
<p><strong>Internal job identifier.</strong> The internal identifier for the
job. The List Job (QUSLJOB) API returns this identifier. If you do not specify
*INT for the job name parameter, this parameter must contain blanks. With this
parameter, the system can locate the job more quickly than with the job
name.</p>
<p><strong>Job name.</strong> A specific job name or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The job in which this program is running. The job
number and user name must contain blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*INT</em></td>
<td align="left" valign="top">The internal job identifier locates the job. The
job number and user name must contain blanks.</td>
</tr>
</table>
<p><strong>Job number.</strong> A specific job number, or blanks when the job
name specified is a special value.</p>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<p><strong>Thread identifier.</strong> A value which is used to uniquely
identify a thread within a job.</p>
<p><strong>Thread indicator.</strong> The value that is used to specify the
thread within the job for which information is to be retrieved. The following
values are supported:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Information should be retrieved for the thread
specified in the thread identifier field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Information should be retrieved for the thread in
which this program is running currently.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Information should be retrieved for the initial
thread of the identified job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">Information should be retrieved for the job and
its associated threads.</td>
</tr>
</table>
<p><strong>Note:</strong> For all supported values, the combination of the internal job
identifier, job name, job number, and user name fields must identify the job
containing the thread(s).</p>
<p><strong>User name.</strong> A specific user profile name, or blanks when the
job name specified is a special value.</p>
<br>
<h3><a name="HDRJOBF2"></a>JIDF0200 Format</h3>
<p>The following information is to be specified for the JIDF0200 format. For
detailed descriptions of the fields in the table, see <a href="#FLDJOBF2">
JIDF0200 Format Field Descriptions</a>.</p>
<table width="80%" border>
<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">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(16)</td>
<td align="left" valign="top">Internal job 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>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="FLDJOBF2"></a>JIDF0200 Format Field Descriptions</h3>
<p><strong>Internal job identifier.</strong> The internal identifier for the
job. The List Job (QUSLJOB) API returns this identifier. If you do not specify
*INT for the job name parameter, this parameter must contain blanks. With this
parameter, the system can locate the job more quickly than with a job name.</p>
<p><strong>Job name.</strong> A specific job name or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The job in which this program is running. The job
number and user name must contain blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*INT</em></td>
<td align="left" valign="top">The internal job identifier locates the job. The
job number and user name must contain blanks.</td>
</tr>
</table>
<p><strong>Job number.</strong> A specific job number, or blanks when the job
name specified is a special value.</p>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<strong>Thread handle.</strong> A value which is used to address a particular
thread within a job. A valid thread handle must be specified. The thread handle
is returned on several other interfaces.
<p><strong>Thread identifier.</strong> A value which is used to uniquely
identify a thread within a job.</p>
<p><strong>User name.</strong> A specific user profile name, or blanks when the
job name specified is a special value.</p>
<br>
<h3><a name="HDRLKFF"></a>Format of lock filters</h3>
<p>The format of the lock filters used on the returned lock information.</p>
<br>
<h3><a name="HDRLKFF1">RJFL0100 Format</a></h3>
<p>The following information is to be specified for the RJFL0100 format. For
detailed descriptions of the fields in the table, see <a href="#FLDLKFF1">
RJFL100 Format Field Descriptions</a>.</p>
<table width="80%" border>
<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(10)</td>
<td align="left" valign="top">Filter file name</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">Filter file member name</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file library name</td>
</tr>
<tr>
<td align="center" valign="top">46</td>
<td align="center" valign="top">2E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Filter file library ASP name</td>
</tr>
</table>
<br>
<h3><a name="FLDLKFF1">RJFL0100 Format Field Descriptions</a></h3>
<p><strong>Filter lock scope:</strong> This value is used to filter information
that is returned so that it contains only information about locks that have a
certain lock scope.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not filter on lock scope value</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">3</td>
<td align="left" valign="top">Return only the lock space scope locks</td>
</tr>
</table>
<p>Default: Do not filter on lock scope value</p>
<p><strong>Filter lock state:</strong> This value is used to filter information
that is returned so that it contains only information about locks that have a
certain lock state.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not filter on lock scope value</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Return only the shared locks</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Return only the exclusive locks</td>
</tr>
</table>
<p>Default: Do not filter on lock scope value</p>
<p><strong>Filter lock status:</strong> This value is used to filter
information that is returned so that it contains only information about locks
that have a certain lock status.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Do not filter on lock scope value</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">3</td>
<td align="left" valign="top">Return only locks with a status of
requested.</td>
</tr>
</table>
<p>Default: Do not filter on lock scope value</p>
<p><strong>Filter file library ASP name:</strong> The name of the library's
Auxiliary Storage Pool (ASP) to be filtered on. Special value of *SYSBAS can be
specified. A blank field will cause no filtering to be done on this field. The
default is not to filter on this field.</p>
<p><strong>Filter file library name:</strong> This is the library name to be
filtered on. A blank field will cause no filtering to be done on this field.
The default is not to filter on this field.</p>
<p><strong>Filter file member name:</strong> This is the member name to be
filtered on. A blank field will cause no filtering to be done on this field.
The default is not to filter on this field.</p>
<p><strong>Filter file name</strong>: This is the file name to be filtered on.
A blank field will cause no filtering to be done on this field. The default is
not to filter on this field.</p>
<p><strong>Filter size:</strong> The size of the filter information passed.
Valid values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">No filtering will be performed. The default
values will be used for each filter.</td>
</tr>
<tr>
<td align="left" valign="top"><em>56</em></td>
<td align="left" valign="top">All filters are required.</td>
</tr>
</table>
<br>
<br>
<h3>Error Messages</h3>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF0941 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 no longer in
system.</td>
</tr>
<tr>
<td align="left" valign="top">CPF18BF E</td>
<td align="left" valign="top">Thread &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1321 E</td>
<td align="left" valign="top">Job &amp;1 user &amp;2 job number &amp;3 not
found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF136A E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 not active.</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">CPF3C19 E</td>
<td align="left" valign="top">Error occurred with receiver variable
specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1E E</td>
<td align="left" valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C51 E</td>
<td align="left" valign="top">Internal job identifier not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C52 E</td>
<td align="left" valign="top">Internal job identifier no longer valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C53 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C57 E</td>
<td align="left" valign="top">Not authorized to retrieve job information.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C58 E</td>
<td align="left" valign="top">Job name specified is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C59 E</td>
<td align="left" valign="top">Internal identifier is not blanks and job name is
not *INT.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
</table>
<br>
<hr>
API introduced: V5R1
<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=
"file1.htm">Database and File APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>