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

1366 lines
42 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 Description Information (QWDRJOBD) 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 -->
<!-- File cleanup completed on 01 August 2001 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- File cleanup completed Feb 2002 by v2cdijab -->
<!-- 040315 WDTARARA Add LOGOUTPUT -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Retrieve Job Description Information (QWDRJOBD) 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 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">Qualified job description name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve Job Description Information (QWDRJOBD) API retrieves
information from a job description object and places it into a single variable
in the calling program. The amount of information returned depends on the size
of the variable. The information returned is the same information returned by
the Display Job Description (DSPJOBD) command.</p>
<br>
<h3><a name="authority">Authorities and Locks</a></h3>
<dl>
<dt><em>Job Description Object Authority</em></dt>
<dd>*USE</dd>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3><a name="rpgrp">Required Parameter Group</a></h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the information requested. You can specify
the size of this area to be smaller than the format requested if you specify
the length of receiver variable parameter correctly. As a result, the API
returns only the data that the area can hold.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable. If this value is larger than the actual
size of the receiver variable, the result may not be predictable. The minimum
length is 8 bytes.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the job description information to be returned. You can use
this format:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>JOBD0100</em></td>
<td align="left" valign="top">Basic job description information. For details,
see <a href="#HDRRJOB100">JOBD0100 Format</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified job description name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the job description whose contents are to be retrieved. The
first 10 characters contain the name of the job description, and the second 10
characters contain the name of the library where the job description is
located. You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error code parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRRJOB100">JOBD0100 Format</a></h3>
<p>The following table describes the information that is returned in the
receiver variable for the JOBD0100 format. For detailed descriptions of the
fields, see <a href="#HDRRJOBDDE">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%">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">CHAR(10)</td>
<td align="left" valign="top">Job description name</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job description library name</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User name</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Job date</td>
</tr>
<tr>
<td align="center" valign="top">46</td>
<td align="center" valign="top">2E</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Job switches</td>
</tr>
<tr>
<td align="center" valign="top">54</td>
<td align="center" valign="top">36</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job queue name</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job queue library name</td>
</tr>
<tr>
<td align="center" valign="top">74</td>
<td align="center" valign="top">4A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Job queue priority</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Hold on job queue</td>
</tr>
<tr>
<td align="center" valign="top">86</td>
<td align="center" valign="top">56</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Output queue name</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Output queue library name</td>
</tr>
<tr>
<td align="center" valign="top">106</td>
<td align="center" valign="top">6A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Output queue priority</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Printer device name</td>
</tr>
<tr>
<td align="center" valign="top">118</td>
<td align="center" valign="top">76</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Print text</td>
</tr>
<tr>
<td align="center" valign="top">148</td>
<td align="center" valign="top">94</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Syntax check severity</td>
</tr>
<tr>
<td align="center" valign="top">152</td>
<td align="center" valign="top">98</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">End severity</td>
</tr>
<tr>
<td align="center" valign="top">156</td>
<td align="center" valign="top">9C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Message logging severity</td>
</tr>
<tr>
<td align="center" valign="top">160</td>
<td align="center" valign="top">A0</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Message logging level</td>
</tr>
<tr>
<td align="center" valign="top">161</td>
<td align="center" valign="top">A1</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Message logging text</td>
</tr>
<tr>
<td align="center" valign="top">171</td>
<td align="center" valign="top">AB</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Logging of CL programs</td>
</tr>
<tr>
<td align="center" valign="top">181</td>
<td align="center" valign="top">B5</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Inquiry message reply</td>
</tr>
<tr>
<td align="center" valign="top">191</td>
<td align="center" valign="top">BF</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Device recovery action</td>
</tr>
<tr>
<td align="center" valign="top">204</td>
<td align="center" valign="top">CC</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Time-slice end pool</td>
</tr>
<tr>
<td align="center" valign="top">214</td>
<td align="center" valign="top">D6</td>
<td align="left" valign="top">CHAR(15)</td>
<td align="left" valign="top">Accounting code</td>
</tr>
<tr>
<td align="center" valign="top">229</td>
<td align="center" valign="top">E5</td>
<td align="left" valign="top">CHAR(80)</td>
<td align="left" valign="top">Routing data</td>
</tr>
<tr>
<td align="center" valign="top">309</td>
<td align="center" valign="top">135</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Text description</td>
</tr>
<tr>
<td align="center" valign="top">359</td>
<td align="center" valign="top">167</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">360</td>
<td align="center" valign="top">168</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to initial library list</td>
</tr>
<tr>
<td align="center" valign="top">364</td>
<td align="center" valign="top">16C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of libraries in initial library list</td>
</tr>
<tr>
<td align="center" valign="top">368</td>
<td align="center" valign="top">170</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to request data</td>
</tr>
<tr>
<td align="center" valign="top">372</td>
<td align="center" valign="top">174</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of request data</td>
</tr>
<tr>
<td align="center" valign="top">376</td>
<td align="center" valign="top">178</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Job message queue maximum size</td>
</tr>
<tr>
<td align="center" valign="top">380</td>
<td align="center" valign="top">17C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job message queue full action</td>
</tr>
<tr>
<td align="center" valign="top">390</td>
<td align="center" valign="top">186</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">CYMD job date</td>
</tr>
<tr>
<td align="center" valign="top">400</td>
<td align="center" valign="top">190</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Allow multiple threads</td>
</tr>
<tr>
<td align="center" valign="top">
410</td>
<td align="center" valign="top">19A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Spooled file action</td>
</tr>
<tr>
<td align="center" valign="top">420</td>
<td align="center" valign="top">1A4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to initial ASP group information</td>
</tr>
<tr>
<td align="center" valign="top">424</td>
<td align="center" valign="top">1A8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of initial ASP group information
entries</td>
</tr>
<tr>
<td align="center" valign="top">428</td>
<td align="center" valign="top">1AC</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of one initial ASP group information
entry</td>
</tr>
<tr>
<td align="center" valign="top">432</td>
<td align="center" valign="top">1B0</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">DDM conversation</td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">442</td>
<td align="center" valign="top">1BA</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Job log output</td>
</tr>
<tr>
<td align="center" valign="top">452</td>
<td align="center" valign="top">1C4
<img src="deltaend.gif" alt="End of change"></td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">*</td>
<td align="center" valign="top">*</td>
<td align="left" valign="top">ARRAY (*) of CHAR(11)</td>
<td align="left" valign="top">Initial library list</td>
</tr>
<tr>
<td align="center" valign="top">*</td>
<td align="center" valign="top">*</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Request data</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">Array(*) of CHAR(*)</td>
<td align="left" valign="top">Initial ASP group information entry</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRASPLE">Format of Initial ASP Group Information Entry</a></h3>
<p>The initial auxiliary storage pool (ASP) group information entry describes
the data that is returned for each group in the job description's initial ASP
group.</p>
<table border width="80%">
<!-- cols="10 10 20 60" -->
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="left" valign="top" rowspan="2" colspan="2" width="20%">The fields
repeat for each entry returned in the initial ASP group information.</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">ASP group name</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRJOBDDE">Field Descriptions</a></h3>
<p><strong>Accounting code.</strong> An identifier assigned to jobs that use
this job description. This code is used to collect system resource use
information. If the special value *USRPRF is specified, the accounting code
used for jobs using this job description is obtained from the job's user
profile.</p>
<p><strong>Allow multiple threads.</strong> Whether or not the job is allowed
to run with multiple user threads. This attribute does not prevent the
operating system from creating system threads in the job. The possible values
are *YES and *NO. This attribute is not allowed to be changed once a job
starts. This attribute applies to autostart jobs, prestart jobs, batch jobs
submitted from job schedule entries, and jobs started by using the Submit Job
(SBMJOB) and Batch Job (BCHJOB) commands. This attribute is ignored when
starting all other types of jobs. This attribute should be set to *YES only in
job descriptions that are used exclusively with functions that create multiple
user threads.</p>
<p><strong>ASP group
name.</strong> The name of the ASP group. This is the name of the primary ASP
device in an ASP group or the name of an ASP device description. This specifies
the initial ASP group setting for jobs using this job description.</p>
<p><strong>Bytes available.</strong> The length of all data available to
return. All available data is returned if enough space is provided.</p>
<p><strong>Bytes returned.</strong> The length of all data actually returned.
If the data is truncated because the receiver variable was not sufficiently
large to hold all of the data available, this value will be less than the bytes
available.</p>
<p><strong>CYMD job date.</strong> The date that will be assigned to jobs using
this job description when they are started. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value in the QDATE system value is used at
the time the job is started.</td>
</tr>
<tr>
<td align="left" valign="top"><em>job-date</em></td>
<td align="left" valign="top">The date to be used at the time the job is
started. The format of the field returned in CYYMMDD where C is the century, YY
is the year, MM is the month, and DD is the day. A 0 for the century indicates
years 19xx and a 1 indicates years 20xx. The field is padded on the right with
blanks.</td>
</tr>
</table>
<p><strong>DDM conversation.</strong>
Whether the Distributed Data Management conversations are kept or dropped when they are not being used. The possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*KEEP</em></td>
<td align="left" valign="top">The system keeps DDM conversation connections active when there are no users.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DROP</em></td>
<td align="left" valign="top">The system ends a DDM-allocated conversation when there are no users.</td>
</tr>
</table>
<p><strong>Device recovery action.</strong> The action to take when an I/O
error occurs for the interactive job's requesting program device. The possible
values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value in the system value QDEVRCYACN at the
time the job is started is used as the device recovery action for this job
description.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*MSG</em></td>
<td align="left" valign="top">Signals the I/O error message to the application
and lets the application program perform error recovery.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DSCMSG</em></td>
<td align="left" valign="top">Disconnects the job when an I/O error occurs.
When the job reconnects, the system sends a message to the application program,
indicating the job has reconnected and that the workstation device has
recovered.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DSCENDRQS</em></td>
<td align="left" valign="top">Disconnects the job when an I/O error occurs.
When the job reconnects, the system sends the End Request (ENDRQS) command to
return control to the previous request level.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ENDJOB</em></td>
<td align="left" valign="top">Ends the job when an I/O error occurs. A message
is sent to the job's log and to the history log (QHST). This message indicates
that the job ended because of a device error.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ENDJOBNOLIST</em></td>
<td align="left" valign="top">Ends the job when an I/O error occurs. There is
no job log produced for the job. The system sends a message to the history log
(QHST). This message indicates that the job ended because of a device
error.</td>
</tr>
</table>
<p><strong>End severity.</strong> The message severity level of escape messages
that can cause a batch job to end. The batch job ends when a request in the
batch input stream sends an escape message, whose severity is equal to or
greater than this value, to the request processing program. The possible values
are from 0 through 99.</p>
<p><strong>Hold on job queue.</strong> Whether jobs using this job description
are put on the job queue in the hold condition. The possible values are *YES
and *NO.</p>
<p><strong>Initial ASP group
information.</strong> The list of initial ASP groups for jobs that use this job
description. This does not include the system ASP or basic user ASPs.</p>
<p><strong>Initial library list.</strong> The initial library list that is used
for jobs that use this job description. Only the libraries in the user portion
of the library list are included.</p>
<p><strong>Note:</strong> The data is an array of 11-byte entries, each entry
consisting of a 10-byte library name that is left-justified with a blank pad at
the end. The 11-byte entries can be easily used in CL commands. The number of
libraries in the initial library list tells how many entries are contained in
the array.</p>
<p><strong>Inquiry message reply.</strong> How inquiry messages are answered
for jobs that use this job description.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*RQD</em></td>
<td align="left" valign="top">The job requires an answer for any inquiry
messages that occur while the job is running.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DFT</em></td>
<td align="left" valign="top">The system uses the default message reply to
answer any inquiry messages issued while the job is running. The default reply
is either defined in the message description or is the default system
reply.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSRPYL</em></td>
<td align="left" valign="top">The system reply list is checked to see if there
is an entry for an inquiry message issued while the job is running. If a match
occurs, the system uses the reply value for that entry. If no entry exists for
that message, the system uses an inquiry message.</td>
</tr>
</table>
<p><strong>Job date.</strong> The date that will be assigned to jobs using this
job description when they are started. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value in the QDATE system value is used at
the time the job is started.</td>
</tr>
<tr>
<td align="left" valign="top"><em>job-date</em></td>
<td align="left" valign="top">The date to be used at the time the job is
started. This date is in the format specified for the DATFMT job
attribute.</td>
</tr>
</table>
<p><strong>Job description library name.</strong> The name of the library in
which the job description resides.</p>
<p><strong>Job description name.</strong> The name of the job description about
which information is being returned.</p>
<p><img src="delta.gif" alt="Start of change">
<strong>Job log output.</strong> How the job log will be
produced when the job completes.
This does not affect job logs produced when
the message queue is full and
the job message queue full action specifies *PRTWRAP.
Messages in the job message queue are written to a spooled file,
from which the job log can be printed,
unless the Control Job Log Output (QMHCTLJL) API was used in the job
to specify that the messages in the job log
are to be written to a database file.
</p>
<p>The job log output value can be changed at any time
until the job log has been produced or removed.
To change the job log output value for a job,
use the Change Job (QWTCHGJB) API or
the Change Job (CHGJOB) command.
</p>
<p>The job log can be displayed at any time
until the job log has been produced or removed.
To display the job log, use the Display Job Log (DSPJOBLOG) command.
</p>
<p>The job log can be removed when the job has completed
and the job log has not yet been produced or removed.
To remove the job log,
use the Remove Pending Job Log (QWTRMVJL) API
or the End Job (ENDJOB) command.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value is specified
by the QLOGOUTPUT system value.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*JOBLOGSVR</em></td>
<td align="left" valign="top">
The job log will be produced by a job log server.
For more information about job log servers,
refer to the Start Job Log Server (STRLOGSVR) command.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*JOBEND</em></td>
<td align="left" valign="top">
The job log will be produced by the job itself.
If the job cannot produce its own job log,
the job log will be produced by a job log server.
For example, a job does not produce its own job log
when the system is processing a Power Down System (PWRDWNSYS) command.
</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PND</em></td>
<td align="left" valign="top">
The job log will not be produced.
The job log remains pending until removed.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Job message queue maximum size.</strong> The maximum size (in
megabytes) of the job message queue. The possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The maximum size set by system value QJOBMSGMX at
the time the job is started.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-64</em></td>
<td align="left" valign="top">The maximum size of the job message queue in
megabytes.</td>
</tr>
</table>
<p><strong>Job message queue full action.</strong> The action taken when the
job message queue becomes full. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value is specified by the system value
QJOBMSGQFL.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*NOWRAP</em></td>
<td align="left" valign="top">When the message queue becomes full, do not wrap.
This action will cause the job to end.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*WRAP</em></td>
<td align="left" valign="top">When the message queue becomes full, wrap to the
beginning and start filling again.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*PRTWRAP</em></td>
<td align="left" valign="top">When the message queue becomes full, wrap the job
queue and print the messages that are being overlaid.</td>
</tr>
</table>
<p><strong>Job queue library name.</strong> The library of the job queue into
which batch jobs using this job description are placed.</p>
<p><strong>Job queue name.</strong> The name of the job queue into which batch
jobs using this job description are placed.</p>
<p><strong>Job queue priority.</strong> The scheduling priority of each job
that uses this job description. The highest priority is 1 and the lowest
priority is 9.</p>
<p><strong>Job switches.</strong> The initial settings for a group of eight job
switches used by jobs that use this job description. These switches can be set
or tested in a program and used to control a program's flow. The possible
values are '0' (off) and '1' (on).</p>
<p><strong>Length of one initial
ASP group information entry.</strong> The length of one initial ASP group
information entry. Zero indicates that jobs using this job description do not
have an initial ASP group. </p>
<p><strong>Length of request data.</strong> The length of all available request
data, in bytes. If the receiver variable was not sufficiently large to hold all
of the request data available, the amount of request data actually returned may
be less than this value.</p>
<p><strong>Logging of CL programs.</strong> Whether or not commands are logged
for CL programs that are run. The possible values are *YES and *NO.</p>
<p><strong>Message logging level.</strong> The type of information logged.
Possible types are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No messages are logged.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">All messages sent to the job's external message
queue with a severity greater than or equal to the message logging severity are
logged. This includes the indication of job start, job end and job completion
status.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">The following information is logged:
<ul>
<li>Level 1 information.</li>
<li>Request messages that result in a high-level message with a severity code
greater than or equal to the logging severity cause the request message and all
associated messages to be logged.
<p><strong>Note:</strong> A high-level message is one that is sent to the
program message queue of the program that receives the request message. For
example, QCMD is an IBM-supplied request processing program that receives
request messages.</p>
</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>3</em></td>
<td align="left" valign="top">The following information is logged:
<ul>
<li>Level 1 and 2 information.</li>
<li>All request messages.</li>
<li>Commands run by a CL program are logged if it is allowed by the logging of
CL programs job attribute and the log attribute of the CL program.</li>
</ul>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">The following information is logged:
<ul>
<li>All request messages and all messages with a severity greater than or equal
to the message logging severity, including trace messages.</li>
<li>Commands run by a CL program are logged if it is allowed by the logging of
CL programs job attribute and the log attribute of the CL program.</li>
</ul>
</td>
</tr>
</table>
<p><strong>Message logging severity.</strong> The severity level that is used
in conjunction with the logging level to determine which error messages are
logged in the job log. The possible values are from 0 through 99.</p>
<p><strong>Message logging text.</strong> The level of message text that is
written in the job log when a message is logged according to the logging level
and logging severity. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*MSG</em></td>
<td align="left" valign="top">Only the message text is written to the job
log.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SECLVL</em></td>
<td align="left" valign="top">Both the message text and the message help (cause
and recovery) of the error message are written to the job log.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*NOLIST</em></td>
<td align="left" valign="top">If the job ends normally, no job log is produced.
If the job ends abnormally (if the job end code is 20 or higher), a job log is
produced. The messages that appear in the job log contain both the message text
and the message help.</td>
</tr>
</table>
<p><strong>Number of initial ASP
group information entries.</strong> The number of entries in the job
description's initial ASP group information. Zero indicates that jobs using
this job description do not have an initial ASP group.</p>
<p><strong>Number of libraries in initial library list.</strong> The number of
libraries in the user portion of the initial library list.</p>
<p><strong>Offset to initial ASP
group information.</strong> The offset in characters (bytes) from the beginning
of the structure to the first ASP group information entry. Zero indicates that
jobs using this job description do not have an initial ASP group.</p>
<p><strong>Offset to initial library list.</strong> The offset from the
beginning of the structure to the start of the initial library list.</p>
<p><strong>Offset to request data.</strong> The offset from the beginning of
the structure to the start of the request data.</p>
<p><strong>Output queue library name.</strong> The name of the library in which
the output queue resides.</p>
<p><strong>Output queue name.</strong> The name of the default output queue
that is used for spooled output produced by jobs that use this job
description.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*USRPRF</em></td>
<td align="left" valign="top">The output queue name for jobs using this job
description is obtained from the user profile of the job at the time the job is
started.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DEV</em></td>
<td align="left" valign="top">The output queue with the same name as the
printer device for this job description is used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*WRKSTN</em></td>
<td align="left" valign="top">The output queue name is obtained from the device
description from which this job is started.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>output-queue-name</em></td>
<td align="left" valign="top">The name of the output queue for this job
description.</td>
</tr>
</table>
<p><strong>Output queue priority.</strong> The output priority for spooled
files that are produced by jobs using this job description. The highest
priority is 1, and the lowest priority is 9.</p>
<p><strong>Print text.</strong> The line of text (if any) that is printed at
the bottom of each page of printed output for jobs using this job description.
If the special value *SYSVAL is specified, the value in the system value
QPRTTXT is used for jobs using this job description.</p>
<p><strong>Printer device name.</strong> The name of the printer device or the
source for the name of the printer device that is used for all spooled files
created by jobs that use this job description.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*USRPRF</em></td>
<td align="left" valign="top">The printer device name is obtained from the user
profile of the job at the time the job is started.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The value in the system value QPRTDEV at the time
the job is started is used as the printer device name.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*WRKSTN</em></td>
<td align="left" valign="top">The printer device name is obtained from the work
station where the job was started.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>printer-device-name</em></td>
<td align="left" valign="top">The name of the printer device that is used with
this job description.</td>
</tr>
</table>
<p><strong>Request data.</strong> The request data that is placed as the last
entry in the job's message queue for jobs that use this job description. The
possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">No request data is placed in the job's message
queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*RTGDTA</em></td>
<td align="left" valign="top">The data specified in the routing data parameter
is placed as the last entry in the job's message queue.</td>
</tr>
<tr>
<td align="left" valign="top"><em>request-data</em></td>
<td align="left" valign="top">The request data to use for jobs that use this
job description.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Routing data.</strong> The routing data that is used with this job
description to start jobs. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>QCMDI</em></td>
<td align="left" valign="top">The default routing data QCMDI is used by the
IBM-supplied interactive subsystem to route the job to the IBM-supplied control
language processor QCMD in the QSYS library.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*RQSDTA</em></td>
<td align="left" valign="top">Up to the first 80 characters of the request data
specified in the request data field are used as the routing data for the
job.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>routing-data</em></td>
<td align="left" valign="top">The routing data to use for jobs that use this
job description.</td>
</tr>
</table>
<p><strong>Spooled file action.</strong>
Specifies whether spooled files can be accessed through job
interfaces once a job has completed its normal activity.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*KEEP</em></td>
<td align="left" valign="top">
When the job completes its activity,
as long as at least one spooled file for the job
exists in the system auxiliary storage pool (ASP 1)
or in a basic user ASP (ASPs 2-32),
the spooled files are kept with the job
and the status of the job is
updated to indicate that the job has completed.
If all remaining spooled files for the job
are in independent ASPs (ASPs 33-255),
the spooled files will be detached from the job
and the job will be removed from the system.
</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DETACH</em></td>
<td align="left" valign="top">Spooled files are detached from the job when the
job completes its activity.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The jobs using this job description will take the
spooled file action specified by the QSPLFACN system value.</td>
</tr>
</table>
<p><strong>Syntax check severity.</strong> Whether requests placed on the job's
message queue are checked for syntax as CL commands, and the message severity
that causes a syntax error to end processing of a job. The possible values
are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">The request data is not checked for syntax as CL
commands. This is equivalent to *NOCHK.</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>0-99</em></td>
<td align="left" valign="top">Specifies the lowest message severity that causes
a running job to end. The request data is checked for syntax as CL commands,
and, if a syntax error occurs that is greater than or equal to the error
message severity specified here, the running of the job that contains the
erroneous command is suppressed.</td>
</tr>
</table>
<p><strong>Text description.</strong> The user text, if any, used to briefly
describe the job description.</p>
<p><strong>Time-slice end pool.</strong> Whether interactive jobs using this
job description should be moved to another main storage pool when they reach
time-slice end. The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*SYSVAL</em></td>
<td align="left" valign="top">The system value is used.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">The job is not moved when it reaches time-slice
end.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*BASE</em></td>
<td align="left" valign="top">The job is moved to the base pool when it reaches
time-slice end.</td>
</tr>
</table>
<p><strong>User name.</strong> The name of the user profile associated with
this job description. If *RQD is specified, a user name is required to use the
job description.</p>
<br>
<h3><a name="error">Error Messages</a></h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF1618 E</td>
<td align="left" valign="top">Job description &amp;1 in library &amp;2
damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9804 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library
&amp;2 ended. Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V2R2
<hr>
<table align="center" 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>
</body>
</html>