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

2408 lines
69 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>Open List of Jobs (QGYOLJOB) 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 on 16 July 2001 -->
<!-- 13 November 2001 Combine changed version with cleanup version -->
<!-- File tagging rechecked 20 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>Open List of Jobs (QGYOLJOB) API</h2>
<div class="box" style="width: 90%;">
<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="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">Receiver variable definition information</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Length of receiver variable definition
information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">List Information</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(80)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Number of records to return</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Sort information</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">Job selection information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Size of job selection information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">11</td>
<td align="left" valign="top">Number of fields to return</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">12</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">13</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 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">14</td>
<td align="left" valign="top" width="50%">Job selection format name</td>
<td align="left" valign="top" width="15%">Input</td>
<td align="left" valign="top" width="25%">Char(8)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">15</td>
<td align="left" valign="top" width="50%">Reset status statistics</td>
<td align="left" valign="top" width="15%">Input</td>
<td align="left" valign="top" width="25%">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="left" valign="top">General return data</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="left" valign="top">Length of general return data</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Conditional; see <a href="#usage_notes">Usage Notes</a>.<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Open List of Jobs (QGYOLJOB) API generates a list of jobs on the system.
The list is based on specified selection criteria. The filtered list may then
be sorted depending on the value of the sort parameter. Upon successful
completion of this API, a handle is returned in the list information parameter.
You may use this handle on subsequent calls to the following APIs:</p>
<dl>
<dd>Get List Entries (QGYGTLE)</dd>
<dd>Find List Entry (QGYFNDE)</dd>
<dd>Close List (QGYCLST)</dd>
</dl>
<br>
<h3>Authorities and Locks</h3>
<p>None.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is used to return the job information.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable. This must be large enough to hold at
least one record of information.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the job list to be returned. If format OLJB0200 is specified,
the fields that are selected by the caller are returned for each job in the
list. This format is slower than the OLJB0100 format. The performance varies
depending on the number of fields selected.</p>
<p>The possible format names follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>OLJB0100</em></td>
<td align="left" valign="top">Basic job list.</td>
</tr>
<tr>
<td align="left" valign="top"><em>OLJB0200</em></td>
<td align="left" valign="top">Basic job list with keyed return fields.</td>
</tr>
<tr>
<td align="left" valign="top"><em>OLJB0300</em></td>
<td align="left" valign="top">Active job list with keyed return fields.</td>
</tr>
</table>
<p>See <a href="#HDRLJOBRI">Format of Receiver Variable</a> for more
information.</p>
</dd>
<dt><strong>Receiver variable definition information</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is used to return the description of how the keyed portion
of the list is returned in the receiver variable. This variable is not filled
in if the OLJB0100 format is used. See <a href="#HDRLJOBFI">Format of Receiver
Variable Definition Information</a> for a description of the layout of this
parameter.</p>
</dd>
<dt><strong>Length of receiver variable definition information</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable definition information. This must be
large enough to hold the information for all key fields that are specified in
the key of fields to be returned parameter.</p>
</dd>
<dt><strong>List Information</strong></dt>
<dd>OUTPUT; CHAR(80)
<p>Information about the list that is created by this program. For a
description of the layout of this parameter, see <a href="../apiref/oli.htm">Format of
Open List Information</a>.</p>
</dd>
<dt><strong>Number of records to return</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of records in the list to put into the receiver variable after
filtering and sorting have been done.</p>
</dd>
<dt><strong>Sort information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information on what fields within the record of information to sort. See <a
href="#HDRLJOBSTI">Format of Sort Information</a> for a description of the
layout of this parameter.</p>
</dd>
<dt><strong>Job selection information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information that is used for selecting which jobs to include in the list.
See <a href="#HDRLJOBSLI">Format of Job Selection Information</a> for a
description on the layout of this parameter.</p>
</dd>
<dt><strong>Size of job selection information</strong></dt>
<dd>INPUT; BINARY(4)
<p>The size, in bytes, of the job selection information parameter. The minimum
value required for this parameter is 60 (or 108 with selection format
OLJS0200).</p>
</dd>
<dt><strong>Number of fields to return</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of fields to return. If this parameter is 0, the key of fields to
be returned parameter is not used, the receiver variable definition information
parameter is not modified, and the length of receiver variable definition
information must be 0. This field must be set to 0 when the format is set to
OLJB0100.</p>
</dd>
<dt><strong>Key of fields to be returned</strong></dt>
<dd>INPUT; ARRAY(*) of BINARY(4)
<p>The list of the fields to be returned. For a list of the valid key fields,
see <a href="qusljob.htm#HDRLKEYS">Valid Keys</a>. For a list of valid key
fields allowed on the OLJB0300 format, see <a href="#HDRKEY300">List of keys
supported for format OLJB0300</a>.</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 1</h3>
<dl>
<dt><strong>Job selection format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the job selection information input. If this parameter is not
specified, the OLJS0100 format is used. The possible format names follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>OLJS0100</em></td>
<td align="left" valign="top">Basic selection information.</td>
</tr>
<tr>
<td align="left" valign="top"><em>OLJS0200</em></td>
<td align="left" valign="top">Additional selection information.</td>
</tr>
</table>
<p>See the <a href="#HDRLJOBSLI">Format of Job Selection Information</a> for
more information.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 2</h3>
<p>Optional Parameter Group 2 applies only when the format is OLJB0300.</p>
<dl>
<dt><strong>Reset status statistics</strong></dt>
<dd>INPUT; CHAR(1)
<p>The elapsed time and all the key fields that are based on the elapsed time
are reset to zero. If a format other than OLJB0300 is specified, this field
needs to be zero. The default value for this field is zero. The following
special values may be specified:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The elapsed time and the key fields based on the
elapsed time are not reset.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The elapsed time and the key fields based on the
elapsed time are reset back to zero.</td>
</tr>
</table>
</dd>
<dt><strong>General return data</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>General output information that applies to the OLJB0300 format. See <a href=
"#HDRGENDT">General return data</a> for a description of the data returned.
This field is used only if the Length of general return data is greater than
8.</p>
</dd>
<dt><strong>Length of general return data</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the general output information. The general output information
field must be a minimum of 8 bytes or 0 when the format is not OLJB0300. The
default value for this field is 0.</p>
</dd>
</dl>
<br>
<h3><a name="HDRLJOBRI">Format of Receiver Variable</a></h3>
<p>The following tables describe the order and format of the data that is
returned in the receiver variable.</p>
<h3><a name="HDROLJBLS1">OLJB0100 Format</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%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Job 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 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(6)</td>
<td align="left" valign="top">Job number used</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(10)</td>
<td align="left" valign="top">Status</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Job type</td>
</tr>
<tr>
<td align="center" valign="top">53</td>
<td align="center" valign="top">35</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Job subtype</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>
</table>
<br>
<br>
<h3><a name="HDROLJBLS2">OLJB0200 Format</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%">CHAR(56)</td>
<td align="left" valign="top" width="60%">Everything in OLJB0100 format</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Job information status</td>
</tr>
<tr>
<td align="center" valign="top">57</td>
<td align="center" valign="top">39</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">This information repeats for each key
selected.</td>
<td align="left" valign="top">CHAR(*) or BINARY(4)</td>
<td align="left" valign="top">Data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROLJBLS3">OLJB0300 Format</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%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Job 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 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(6)</td>
<td align="left" valign="top">Job number used</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</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">30</td>
<td align="center" valign="top">1E</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Job type</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">Job subtype</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Total length of data returned</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" colspan="2">This information repeats for each key
selected.</td>
<td align="left" valign="top">CHAR(*) or BINARY(4)</td>
<td align="left" valign="top">Data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROJBFD1">Field Descriptions</a></h3>
<p><strong>Active job status.</strong> The active status of the initial thread
of the job. For the list of possible values, see the active job status field
under <a href="#HDROJBFD3">Field Descriptions</a>.</p>
<p><strong>Data.</strong> The data returned for the key field.</p>
<p><strong>Internal job identifier.</strong> A value that is sent to other APIs
to speed the process of locating the job on the system. Only APIs that are
described in this topic use this identifier. The identifier is not valid
following an initial program load (IPL). If you attempt to use it after an IPL,
an exception occurs.</p>
<p><strong>Job information status.</strong> Whether the information was
available for the job. The possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The information was available.</td>
</tr>
<tr>
<td align="left" valign="top"><em>L</em></td>
<td align="left" valign="top">The information was not available because the job
was not accessible.</td>
</tr>
</table>
<p><strong>Job name used.</strong> The name of the job as identified to the
system. For an interactive job, the system assigns the job the name of the
workstation where the job started. For a batch job, you specify the name in the
command when you submit the job.</p>
<p><strong>Job number used.</strong> The system-assigned job number.</p>
<p><strong>Job subtype.</strong> Additional information about the job type (if
any exists). Refer to <a href="qusrjobi.htm#HDRWRKJOB">Comparing Job Type and
Subtype with the Work with Active Job Command</a> in the Retrieve Job
Information (QUSRJOBI) API for information about how the job type field and the
job subtype field equate to the type field in the Work with Active Job
(WRKACTJOB) command. The possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The job has no special subtype.</td>
</tr>
<tr>
<td align="left" valign="top"><em>D</em></td>
<td align="left" valign="top">The job is a batch immediate job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>E</em></td>
<td align="left" valign="top">The job started with a procedure start
request.</td>
</tr>
<tr>
<td align="left" valign="top"><em>F</em></td>
<td align="left" valign="top">The job is an iSeries Advanced 36 machine server
job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>J</em></td>
<td align="left" valign="top">The job is a prestart job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>P</em></td>
<td align="left" valign="top">The job is a print driver job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>T</em></td>
<td align="left" valign="top">The job is a System/36 multiple requester
terminal (MRT) job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">The job is an alternate spool user.</td>
</tr>
</table>
<p><strong>Job type.</strong> The type of job. Refer to <a href="#HDRWRKJOB">
Comparing Job Type and Subtype with the Work with Active Job Command</a> in the
Retrieve Job Information (QUSRJOBI) API for information about how the job type
field and the job subtype field equate to the type field in the Work with
Active Job (WRKACTJOB) command. The possible values for this field follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">The job is an autostart job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>B</em></td>
<td align="left" valign="top">The job is a batch job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>I</em></td>
<td align="left" valign="top">The job is an interactive job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>M</em></td>
<td align="left" valign="top">The job is a subsystem monitor job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>R</em></td>
<td align="left" valign="top">The job is a spooled reader job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">The job is a system job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>W</em></td>
<td align="left" valign="top">The job is a spooled writer job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X</em></td>
<td align="left" valign="top">The job is the start-control program-function
(SCPF) system job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The job has no type. A possible reason is the job
was not found.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Status.</strong> The status of the job. The valid values follow:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*ACTIVE</em></td>
<td align="left" valign="top">The job has started, and it can use system
resources (processing unit, main storage, and so on). This value does not
guarantee that the job is currently running, however. For example, an active
job may be in one of the following states where it is not in a position to use
system resources:
<ul>
<li>The Hold Job (HLDJOB) command holds the job; the Release Job (RLSJOB)
command allows the job to run again.</li>
<li>The Transfer Group Job (TFRGRPJOB) or Transfer Secondary Job (TFRSECJOB)
command suspends the job. When control returns to the job, the job can run
again.</li>
<li>The job is disconnected using the Disconnect Job (DSCJOB) command. When the
interactive user signs back on, thereby connecting back into the job, the job
can run again.</li>
<li>The job is waiting for any reason. For example, when a job receives a reply
to an inquiry message, the job can start running again.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>*JOBQ</em></td>
<td align="left" valign="top">The job is currently on a job queue. The job may
have been previously active and was placed back on the job queue because of the
Transfer Job (TFRJOB) or Transfer Batch Job (TFRBCHJOB) command, or the job was
never active because it was just submitted.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OUTQ</em></td>
<td align="left" valign="top">The job has completed running and has spooled
output that has not yet printed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The job has no status. A possible reason is the
job was not found.</td>
</tr>
</table>
<p><strong>Total length of data returned.</strong> The length of the data
portion of the returned data. This includes the sum of all the keyed data for
the job.</p>
<p><strong>User name used.</strong> The user profile under which the job 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.</p>
<br>
<h3><a name="HDRLJOBFI">Format of Receiver Variable Definition
Information</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%">Number of fields returned</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="6" colspan="2">These fields repeat, in
the order listed, for each key selected.</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">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">BINARY(4)</td>
<td align="left" valign="top">Displacement to data</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROJBFD2">Field Descriptions</a></h3>
<p><strong>Displacement to data.</strong> The displacement from the beginning
of the job record to the value for this key.</p>
<p><strong>Key field.</strong> The field returned. See <a href=
"qusljob.htm#HDRLKEYS">Valid Keys</a> in the List Job (QUSLJOB) API for the
list of valid keys supported for the OLJB0200 format. See <a href="#HDRKEY300">
List of keys supported for format OLJB0300</a> for the list of valid keys
supported for the OLJB0300 format.</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
definition information returned for this field. This value is used to increment
to the next field in the list.</p>
<p><strong>Number of fields returned.</strong> The number of fields in each
record that is returned to the application.</p>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Type of data.</strong> The type of data that is 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>
<br>
<br>
<h3><a name="HDRLJOBSTI">Format of Sort Information</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%">Number of keys to sort on</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="5" colspan="2">Offsets vary. These
fields repeat for each sort key field.</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Sort key field starting position</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Sort key field length</td>
</tr>
<tr>
<td align="left" valign="top">BINARY(2)</td>
<td align="left" valign="top">Sort key field data type</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Sort order</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSRTFD">Field Descriptions</a></h3>
<p><strong>Number of keys to sort on.</strong> The number of fields within the
record structure to sort on. If 0 is specified, the list is not sorted.</p>
<p>The following special value is supported for format OLJB0200 only. Also, the
job selection information must be set to return only the jobs that are waiting
to run from a single job queue.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">The list of jobs that are waiting to run on the
specified job queue are returned in the order they will be selected off the job
queue to become active. When this special value is used, the job queue priority
(1005), data and time job was put on this job queue (0404), and the date and
time job is scheduled to run (0403) keys must be included in the list of key
fields to return.</td>
</tr>
</table>
<p>The following special value is supported for format OLJB0300 only.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>-2</em></td>
<td align="left" valign="top">The list of active jobs is returned grouped by
subsystem, with each subsystem monitor job followed by the jobs that are
running in that subsystem. The jobs are sorted alphabetically by subsystem
name, and then by job name within the subsystem. This sort order is similar to
the way the jobs are displayed on the Work with Active Jobs (WRKACTJOB
SEQ(*SBS)) display. When this special value is used, the subsystem description
name (1906) key must be included in the list of key fields to return.</td>
</tr>
</table>
<p><strong>Reserved.</strong> Reserved field. This field must be set to
hexadecimal or binary zero.</p>
<p><strong>Sort key field data type.</strong> The data type of the field to sort
on. Refer to the key data type field in the <a href="QLGSORT.htm">Sort</a>
(QLGSORT) API for information on the list of data types available.</p>
<p><strong>Sort key field length.</strong> The length of the field to sort
on.</p>
<p><strong>Sort key field starting position.</strong> Within the record of
information, the starting position of the field to sort on. A value of 1
represents the first position within the record.</p>
<p><strong>Sort order.</strong> Whether the list should be sorted in ascending
or descending order according to the key.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Sort in ascending order.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Sort in descending order.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLJOBSLI">Format of Job Selection Information</a></h3>
<p>The organization of the job selection information parameter is shown below.
A description of the fields in the parameter follows the table.</p>
<br>
<h3><a name="HDROLJSLS1">OLJS0100 Format</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%">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">0A</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(1)</td>
<td align="left" valign="top">Job type</td>
</tr>
<tr>
<td align="center" valign="top">27</td>
<td align="center" valign="top">1B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved (ignored)</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to primary job status array</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of primary job status entries</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">Offset to active job status array</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">Number of active job status entries</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">Offset to jobs on job queue status array</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of jobs on job queue status entries</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to job queue names array</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">Number of job queue names entries</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="4" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Primary job status</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(4)</td>
<td align="left" valign="top">Active job status</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Jobs on job queue status</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(20)</td>
<td align="left" valign="top">Job queue names</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROLJSLS2">OLJS0200 Format</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%">CHAR(60)</td>
<td align="left" valign="top" width="60%">Everything in fixed portion of
OLJS0100 format</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">Offset to current user profile array</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of current user profile entries</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 server type array</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">Number of server type entries</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">Offset to the active subsystem array</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">Number of active subsystem entries</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">Offset to the memory pool array</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of memory pool entries</td>
</tr>
<tr>
<td align="center" valign="top">92</td>
<td align="center" valign="top">5C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the job type - enhanced array</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of job type - enhanced entries</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">Offset to the qualified job name array</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">Number of qualified job name entries</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="7" colspan="2">The offsets to these
fields are specified in the previous offset variables.</td>
<td align="left" valign="top">ARRAY(*)</td>
<td align="left" valign="top">Arrays from OLJS0100 format</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Current user profile</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(30)</td>
<td align="left" valign="top">Server type</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(10)</td>
<td align="left" valign="top">Active subsystem</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Memory pool</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of BINARY(4)</td>
<td align="left" valign="top">Job type - enhanced</td>
</tr>
<tr>
<td align="left" valign="top">ARRAY(*) of CHAR(26)</td>
<td align="left" valign="top">Qualified job name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROJBFD3">Field Descriptions</a></h3>
<p><strong>Active job status.</strong> The active status of the initial threads
of the jobs to be included in the list. The possible values are the same as
those described for the Retrieve Job Information (QUSRJOBI) API in the <a href=
"qusrjobi.htm#HDRRTVJBUN">Usage Notes</a> for that API. (For compatibility with
previous releases, the CLDW status can be specified in the active job status
array. The CLDW status is not returned, however, for any jobs.)</p>
<p><strong>Active subsystem.</strong> The active subsystem under which the job
is currently running.</p>
<p><strong>Current user profile.</strong> The user profile under which the
initial thread of the job is currently running. This name may differ from the
user portion of the job name. The current user profile is blank for jobs that
are not active.</p>
<p><strong>Job name.</strong> A specific job name, a generic name, or one of
the following special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">Only the job in which this program is running.
The user name and job name fields must be blank.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURRENT</em></td>
<td align="left" valign="top">All jobs with the current job's name.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All jobs. The user name and job type fields must
be specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">This field must be blank when using the Qualified
job name array.</td>
</tr>
</table>
<p><strong>Job number.</strong> A specific job number or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">Jobs with the specified job name and user name,
regardless of the job number. The job name and user name fields must be
specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">This field must be blank when using the Qualified
job name array.</td>
</tr>
</table>
<p><strong>Job queue names.</strong> The job queue names. Jobs on these job
queues are included in the list. The first 10 characters contain the job queue
name, and the last 10 characters contain the library name.</p>
<p><strong>Jobs on job queue status.</strong> The status of the jobs on the job
queue to be included in the list. The possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>SCD</em></td>
<td align="left" valign="top">This job will run as scheduled.</td>
</tr>
<tr>
<td align="left" valign="top"><em>HLD</em></td>
<td align="left" valign="top">This job is being held on the job queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>RLS</em></td>
<td align="left" valign="top">This job is ready to be selected.</td>
</tr>
</table>
<p><strong>Job type.</strong> The type of job to be listed. The possible values
follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">This value lists all job types.</td>
</tr>
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">The job is an autostart job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>B</em></td>
<td align="left" valign="top">The job is a batch job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>I</em></td>
<td align="left" valign="top">The job is an interactive job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>M</em></td>
<td align="left" valign="top">The job is a subsystem monitor job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>R</em></td>
<td align="left" valign="top">The job is a spooled reader job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">The job is a system job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>W</em></td>
<td align="left" valign="top">The job is a spooled writer job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X</em></td>
<td align="left" valign="top">The job is the SCPF system job.</td>
</tr>
</table>
<p><strong>Job type - enhanced.</strong> The type of job to be listed. This
field combines the Job type and Job Subtype fields. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>0110</em></td>
<td align="left" valign="top">Autostart job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0200</em></td>
<td align="left" valign="top">All the batch job types.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0210</em></td>
<td align="left" valign="top">Batch job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0220</em></td>
<td align="left" valign="top">Batch immediate job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0230</em></td>
<td align="left" valign="top">Batch - System/36 multiple requester terminal
(MRT) job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0240</em></td>
<td align="left" valign="top">Batch - Alternate spool user</td>
</tr>
<tr>
<td align="left" valign="top"><em>0310</em></td>
<td align="left" valign="top">Communications job - procedure start request
job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0900</em></td>
<td align="left" valign="top">All interactive type jobs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0910</em></td>
<td align="left" valign="top">Interactive job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0920</em></td>
<td align="left" valign="top">Interactive job - Part of group.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0930</em></td>
<td align="left" valign="top">Interactive job - Part of system request
pair.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0940</em></td>
<td align="left" valign="top">Interactive job - Part of system request pair and
part of a group.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1600</em></td>
<td align="left" valign="top">All prestart jobs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1610</em></td>
<td align="left" valign="top">Prestart job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1620</em></td>
<td align="left" valign="top">Prestart batch job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1630</em></td>
<td align="left" valign="top">Prestart communications job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1810</em></td>
<td align="left" valign="top">Reader job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1910</em></td>
<td align="left" valign="top">Subsystem job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1920</em></td>
<td align="left" valign="top">System job.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2310</em></td>
<td align="left" valign="top">Writer job.</td>
</tr>
</table>
<p><strong>Memory pool.</strong> The identifier of the system memory pool in
which the job started running. The identifier is a number in the range of 1 -
64.</p>
<p><strong>Number of active job status entries.</strong> The number of entries
that are specified for the active job status array. If this value is 0, no
filtering is done on active job status. The offset to active job status array
and the active job status array fields are not used. If the value is not 0, the
primary job status array must include an array entry of *ACTIVE or the number
of primary job status array entries should be specified as 0 to indicate that
no filtering is done on the primary job status.</p>
<p><strong>Number of active subsystem entries.</strong> The number of entries
that are specified for the active subsystem array. If this value is 0, no
filtering is done on active subsystems, and the offset to the active subsystem
array and the active subsystem array fields are not used. This value must be 0
when format OLJB0100 or OLJB0200 is specified.</p>
<p><strong>Number of current user profile entries.</strong> The number of
entries that are specified for the current user profile array. If this value is
0, no filtering is done on the current user profile, and the offset to current
user profile array and the current user profile array fields are not used.</p>
<p><strong>Number of job queue names entries.</strong> The number of entries
that is specified for the job queue names array. If this value is 0, no
filtering is done on the job queue names. The offset to job queue names array
and the job queue names array fields are not used. If this value is not 0, the
primary job status array must include an array entry of *JOBQ or the number of
primary job status array entries should be specified as 0 to indicate that no
filtering is done on the primary job status. This value must be 0 when format
OLJB0300 is specified.</p>
<p><strong>Number of jobs on job queue status entries.</strong> The number of
entries that are specified for the jobs on job queue status array. If this
value is 0, no filtering is done on the jobs on job queue status array. The
offset to jobs on job queue status array and the jobs on job queue status array
fields are not used. If this value is not 0, the primary job status array must
include an array entry of *JOBQ or the number of primary job status array
entries should be specified as 0 to indicate that no filtering is done on the
primary job status. This value must be 0 when format OLJB0300 is specified.</p>
<p><strong>Number of job type - enhanced entries.</strong> The number of
entries that are specified for the job type - enhanced array. If this value is
0, no filtering is done on the job type - enhanced array. The offset to job
type - enhanced array and the job type - enhanced array fields are not
used.</p>
<p><strong>Number of memory pool entries.</strong> The number of entries that
are specified for the memory pool name array. If this value is 0, no filtering
is done on memory pool, and the offset to the memory pool name array and the
memory pool name array fields are not used. This value must be 0 when format
OLJB0100 or OLJB0200 is specified.</p>
<p><strong>Number of primary job status entries.</strong> The number of entries
that are specified for the primary job status array. If 0 is specified, no
filtering is done on the primary job status, and the offset to primary job
status array and the primary job status array fields are not used. This value
must be 0 when format OLJB0300 is specified.</p>
<p><strong>Number of qualified
job name entries.</strong> The number of entries that are specified for the
qualified job name array. If 0 is specified, no filtering is done on the
qualified job name, and the offset to qualified job name array and the
qualified job name array fields are not used. This value must be 0 when format
OLJB0300 is specified. This value must be 0 when anything other than blanks are
specified in the job name, user name, or job number fields. The same number of
jobs will be returned in the list of returned jobs. For jobs that are not
found, the Status, Job type, and Job subtype fields will be set to blanks and
the Job information status field will be set to 'L'.</p>
<p><strong>Number of server type entries.</strong> The number of entries that
is specified for the server type array. If this value is 0, no filtering is
done on the server type. Also, the offset to server type array and the server
type array fields are not used.</p>
<p><strong>Offset to active job status array.</strong> The offset in characters
(bytes) from the beginning of the job selection information structure to the
beginning of the active job status array.</p>
<p><strong>Offset to active subsystem array.</strong> The offset in characters
(bytes) from the beginning of the job selection information structure to the
beginning of the active subsystem array.</p>
<p><strong>Offset to current user profile array.</strong> The offset in
characters (bytes) from the beginning of the job selection information
structure to the beginning of the current user profile array.</p>
<p><strong>Offset to job queue names array.</strong> The offset in characters
(bytes) from the beginning of the job selection information structure to the
beginning of the job queue names array.</p>
<p><strong>Offset to jobs on job queue status array.</strong> The offset in
characters (bytes) from the beginning of the job selection information
structure to the beginning of the jobs on job queue status array.</p>
<p><strong>Offset to job type - enhanced array.</strong> The offset in
characters (bytes) from the beginning of the job selection information
structure to the beginning of the job type - enhanced array.</p>
<p><strong>Offset to memory pool array.</strong> The offset in characters
(bytes) from the beginning of the job selection information structure to the
beginning of the memory pool name array.</p>
<p><strong>Offset to primary job status array.</strong> The offset in
characters (bytes) from the beginning of the job selection information
structure to the beginning of the primary job status array.</p>
<p><strong>Offset to qualified
job name array.</strong> The offset in characters (bytes) from the beginning of
the job selection information structure to the beginning of the qualified job
name array.</p>
<p><strong>Offset to server type array.</strong> The offset in characters
(bytes) from the beginning of the job selection information structure to the
beginning of the server type array.</p>
<p><strong>Primary job status.</strong> The primary status of the jobs to be
included in the list. The possible special values follow:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ACTIVE</em></td>
<td align="left" valign="top">Active jobs. This includes group jobs, system
request jobs, and disconnected jobs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*JOBQ</em></td>
<td align="left" valign="top">Jobs that are currently on job queues.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OUTQ</em></td>
<td align="left" valign="top">Jobs that have completed running but still have
output on an output queue.</td>
</tr>
</table>
<p><strong>Qualified job
name.</strong> The qualfied job name. The first 10 characters are the job name.
The second 10 characters are the user name of the job. The last 6 characters
are the job number.</p>
<p><strong>Reserved (ignored).</strong> An ignored field.</p>
<p><strong>Reserved (must be 0).</strong> Reserved field. This field must be
set to zero.</p>
<p><strong>Server type.</strong> The type of server represented by the job.
Servers provided by IBM start with QIBM. A server type, a generic value, or one
of the following special values can be specified:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All jobs with a server type.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*BLANK</em></td>
<td align="left" valign="top">All jobs without a server type.</td>
</tr>
</table>
<p><strong>User name.</strong> A specific user profile name, a generic name, or
one of the following special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURRENT</em></td>
<td align="left" valign="top">Jobs that use the current job's user
profile.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">Jobs that use the specified job name, regardless
of the user name. The job name and job number fields must be specified.</td>
</tr>
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">This field must be blank when using the Qualified
job name array.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRGENDT">General Return Data</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(8), UNSIGNED</td>
<td align="left" valign="top">Elapsed time</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3>Field Descriptions</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.</p>
<p><strong>Elapsed time.</strong> The time, in milliseconds, that has elapsed
between the measurement start time and the current system time. This value is 0
the first time this API is called by this job. The measurement start is set the
first time this API is called and when the Reset status statistics is set to
reset the elapsed time.</p>
<p><strong>Reserved.</strong> An ignored field.</p>
<br>
<h3><a name="HDRKEY200">List of keys supported for format OLJB0200</a></h3>
<p>The list of possible keys is the same as that described for the List Job
(QUSLJOB) API.</p>
<br>
<h3><a name="HDRKEY300">List of keys supported for format OLJB0300</a></h3>
<table border width="80%">
<tr>
<th align="left" valign="top">Key</th>
<th align="left" valign="top">Type</th>
<th align="left" valign="top">Description</th>
</tr>
<tr>
<td align="left" valign="top" width="10%">103</td>
<td align="left" valign="top" width="30%">CHAR(4)</td>
<td align="left" valign="top" width="60%">Active job status for jobs
ending</td>
</tr>
<tr>
<td align="left" valign="top">305</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Current user profile</td>
</tr>
<tr>
<td align="left" valign="top">312</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Processing unit time used - total for the
job</td>
</tr>
<tr>
<td align="left" valign="top">313</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Processing unit time used for database - total
for the job</td>
</tr>
<tr>
<td align="left" valign="top">314</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processing unit used - &nbsp;percent used during
the elapsed time (job)</td>
</tr>
<tr>
<td align="left" valign="top">315</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Processing unit used - time during the elapsed
time (job)</td>
</tr>
<tr>
<td align="left" valign="top">316</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Processing unit used for database - percent used
during the elapsed time (job)</td>
</tr>
<tr>
<td align="left" valign="top">317</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Processing unit used for database - time during
the elapsed time (job)</td>
</tr>
<tr>
<td align="left" valign="top">402</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Date and time job entered system</td>
</tr>
<tr>
<td align="left" valign="top">414</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Disk I/O count during the elapsed time (job)</td>
</tr>
<tr>
<td align="left" valign="top">415</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Disk I/O count - total for the job</td>
</tr>
<tr>
<td align="left" valign="top">416</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Disk I/O count during the elapsed time -
asynchronous I/O (job)</td>
</tr>
<tr>
<td align="left" valign="top">417</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Disk I/O count during the elapsed time -
synchronous I/O (job)</td>
</tr>
<tr>
<td align="left" valign="top">502</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">End status</td>
</tr>
<tr>
<td align="left" valign="top">601</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Function name</td>
</tr>
<tr>
<td align="left" valign="top">602</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Function type</td>
</tr>
<tr>
<td align="left" valign="top">904</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Interactive response time - total during the
elapsed time</td>
</tr>
<tr>
<td align="left" valign="top">905</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Interactive transactions - count during the
elapsed time</td>
</tr>
<tr>
<td align="left" valign="top">1012</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job user identity</td>
</tr>
<tr>
<td align="left" 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="left" valign="top">1015</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Job log pending</td>
</tr>
<tr>
<td align="left" valign="top">1016</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Job type - enhanced</td>
</tr>
<tr>
<td align="left" valign="top">1306</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Memory pool name</td>
</tr>
<tr>
<td align="left" valign="top">1307</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Message reply</td>
</tr>
<tr>
<td align="left" valign="top">1609</td>
<td align="left" valign="top">BINARY(8), UNSIGNED</td>
<td align="left" valign="top">Page fault count during the elapsed time
(job)</td>
</tr>
<tr>
<td align="left" valign="top">1802</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Run priority (job)</td>
</tr>
<tr>
<td align="left" valign="top">1906</td>
<td align="left" valign="top">CHAR(20)</td>
<td align="left" valign="top">Subsystem description name - qualified</td>
</tr>
<tr>
<td align="left" valign="top">1911</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Server type</td>
</tr>
<tr>
<td>1982</td>
<td>CHAR(10)</td>
<td>Spooled file action</td>
</tr>
<tr>
<td align="left" valign="top">2008</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Thread count</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROJBFD4">Field Descriptions</a></h3>
<p>The field descriptions are in <a href="../apis/WMAttrDesc.htm"> Work
Management API Attribute Descriptions (WMAttrDesc)</a>.</p>
<br>
<h3><a name="usage_notes">Usage Notes</a></h3>
<p>The conditions under which this API is threadsafe are the same as those
described in the <a href="qusrjobi.htm#HDRRTVJBUN">Usage Notes</a> for the
Retrieve Job Information (QUSRJOBI) API.</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" width="15%">CPF1865 E</td>
<td align="left" valign="top" width="85%">Value &amp;1 for job type not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1866 E</td>
<td align="left" valign="top">Value &amp;1 for number of fields to return not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF1867 E</td>
<td align="left" valign="top">Value &amp;1 in list not valid.</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">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C39 E</td>
<td align="left" valign="top">Value for reserved field 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">CPF3CB1 E</td>
<td align="left" valign="top">Value &amp;1 for job status is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CB2 E</td>
<td align="left" valign="top">Value specified for job parameter is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0002 E</td>
<td align="left" valign="top">&amp;2 is not valid for length of receiver
variable.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0024 E</td>
<td align="left" valign="top">&amp;1 is not valid for number of keys to sort
on.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0025 E</td>
<td align="left" valign="top">&amp;1 is not valid for sort key field starting
position.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0026 E</td>
<td align="left" valign="top">&amp;1 is not valid for sort key field
length.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0027 E</td>
<td align="left" valign="top">&amp;1 is not valid for number of records to
return.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0049 E</td>
<td align="left" valign="top">Key 1903 for status of jobs on job queues is not
specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0052 E</td>
<td align="left" valign="top">&amp;1 is not valid for active status.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0119 E</td>
<td align="left" valign="top">Reserved field in sort information not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0120 E</td>
<td align="left" valign="top">Order field in sort information not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0121 E</td>
<td align="left" valign="top">Printer name cannot be specified when format
LSPL0100 is requested.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0122 E</td>
<td align="left" valign="top">Number of primary job status entries not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0123 E</td>
<td align="left" valign="top">Active status key must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0124 E</td>
<td align="left" valign="top">Primary status array must include *ACTIVE.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0125 E</td>
<td align="left" valign="top">Status of job on job queue key must be
specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0126 E</td>
<td align="left" valign="top">Primary status array must include *JOBQ.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0127 E</td>
<td align="left" valign="top">Number of job queue names not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0128 E</td>
<td align="left" valign="top">Job queue name key must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0129 E</td>
<td align="left" valign="top">Number of active job status entries not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0130 E</td>
<td align="left" valign="top">Number of jobs on job queue status entries not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0131 E</td>
<td align="left" valign="top">&amp;2 is not valid for length of job selection
criteria.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0132 E</td>
<td align="left" valign="top">&amp;2 is not valid for length of receiver
variable definition information.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0133 E</td>
<td align="left" valign="top">Format OLJB0200 must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0134 E</td>
<td align="left" valign="top">&amp;2 not valid for length of job selection
information.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0137 E</td>
<td align="left" valign="top">Current user key must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0138 E</td>
<td align="left" valign="top">Server type key must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0139 E</td>
<td align="left" valign="top">Number of current users not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0140 E</td>
<td align="left" valign="top">Number of server types not valid.</td>
</tr>
<tr>
<td align="left" valign="top">
GUI0142 E</td>
<td align="left" valign="top">Format OLJB0300 valid for active jobs only.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0143 E</td>
<td align="left" valign="top">Number of memory pool names not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0144 E</td>
<td align="left" valign="top">Number of active subsystem names not valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0145 E</td>
<td align="left" valign="top">All optional parameters must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0146 E</td>
<td align="left" valign="top">Filter information not correct for format
OLJB0200.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0147 E</td>
<td align="left" valign="top">Required keys not specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0148 E</td>
<td align="left" valign="top">Number of job type enhanced values not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0149 E</td>
<td align="left" valign="top">&amp;1 is not valid for number of keys to sort
on.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0150 E</td>
<td align="left" valign="top">Subsystem key must be specified.</td>
</tr>
<tr>
<td align="left" valign="top">GUI0151 E</td>
<td align="left" valign="top">Job type enhanced key must be specified.</td>
</tr>
</table>
<br>
<hr>
API introduced: V4R1
<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>