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

4201 lines
129 KiB
HTML
Raw Permalink Normal View History

2024-04-02 14:02:31 +00:00
<!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 Objects (QGYOLOBJ) API</title>
<!-- Begin Header Records -->
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- QGYOLOBJ SCRIPT A converted by B2H R4.1 (346) (CMS) by PMHALL at -->
<!-- RCHVMW2 on 15 Oct 1998 at 11:39:12 -->
<!-- File cleanup completed Feb 2002 by v2cdijab -->
<!-- Change history - the revision tagging used for changes relating -->
<!-- to DCR 98416 is v5r2delta LAW -->
<!-- Change history - the revision tagging used for changes relating -->
<!-- to Information Status description is v5r3delta LAW 06/03/2002 -->
<!-- Change history - the revision tagging used for changes relating -->
<!-- to DCR 99834 is v5r4delta LAW 12/26/2003 -->
<!-- Change history - Editorial changes for renaming the operating -->
<!-- system do not have revision tags LAW 01/09/2005 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<a name="Top_Of_Page"></a>
<h2>Open List of Objects (QGYOLOBJ) 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="55%">Receiver variable</td>
<td align="left" valign="top" width="10%">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">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">4</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">5</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">6</td>
<td align="left" valign="top">Object and library name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Object type</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Authority control</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">Selection control</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">Number of keyed 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">11</td>
<td align="left" valign="top">Key of fields to return</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">12</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%">13</td>
<td align="left" valign="top" width="55%">Job identification information</td>
<td align="left" valign="top" width="10%">Input</td>
<td align="left" valign="top" width="25%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="left" valign="top">Format of job identification information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">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="55%">Auxiliary storage pool (ASP)
control</td>
<td align="left" valign="top" width="10%">Input</td>
<td align="left" valign="top" width="25%">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 Open List of Objects (QGYOLOBJ) API lets you generate a list of object
names and descriptive information based on specified selection parameters. The
QGYOLOBJ API places the list into a receiver variable. You can access
additional records by using the Get List Entries (QGYGTLE) API. On 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 Entry Number in List (QGYFNDE)</dd>
<dd>Close List (QGYCLST)</dd>
</dl>
<p>You can use the QGYOLOBJ API to:</p>
<ul>
<li>Open a list of objects in a library</li>
<li>Open a list of objects of only one type</li>
<li>Open a list of objects in another thread's library list</li>
<li>Open a list of objects in the QTEMP library for another job</li>
<li>Write an application program to move programs from the QRPLOBJ library back
to their original location</li>
<li>Provide backup analysis based on when the object was last saved or last
updated</li>
<li>Provide source member and object analysis from source member information to
verify that the current source was used to create the specified object</li>
</ul>
<p>The records returned by QGYOLOBJ include an information status field that
describes the completeness and validity of the information. Be sure to check
the information status field before using any other information returned.</p>
<p><strong>Note:</strong> The QTEMP library and the system portion of the
library list could be different between the main job and the server job when
the list is being built asynchronously. If this is a problem, then request that
the list be built synchronously.</p>
<p>For more information, see the <a href="misc1b.htm">Process Open List
APIs</a>.</p>
<br>
<h3>Authorities and Locks</h3>
<p>If the user is authorized to the library, some object information is always
returned for the objects meeting the search criteria identified in the required
parameter group. To return any of the data identified in the key fields, the
user must be authorized to the objects. The information status field in the
receiver variable is set to 'A' when the user is not authorized to the
objects. <img src="delta.gif" alt="Start of change">A value of *NOTAVL will
be returned for the object auditing information unless you have either all
object (*ALLOBJ) or audit (*AUDIT) special authority.
<img src="deltaend.gif" alt="End of change"></p>
<dl>
<dt><em>Auxiliary Storage Pool (ASP) Device Authority</em></dt>
<dd>*EXECUTE when a specific auxiliary storage pool (ASP) device name is
specified for the auxiliary storage pool (ASP) control parameter.<br>
<br>
</dd>
<dt><em>Object Authority</em></dt>
<dd>Authority specified in the Authority control parameter<br>
<br>
</dd>
<dt><em>Object Library Authority</em></dt>
<dd>Authority specified in the Authority control parameter<br>
<br>
</dd>
<dt><em>Job Authority</em></dt>
<dd>When optional parameter group 1 is specified, the API must be called from
within the thread for which the object list is being retrieved, or the caller
of the API must be running under a user profile that is the same as the job
user identity of the job for which the object list is being retrieved.
Otherwise, the caller of the API must be running under a user profile that has
job control (*JOBCTL) special authority.
<p>The <strong>job user identity</strong> is the name of the user profile by
which a job is known to other jobs. It is described in more detail in the
<a href="../rzaks/rzaks1.htm">Work Management</a> topic.</p>
</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable used to return the number of records requested (given in the
number of records to return parameter) of object information. For details about
the structure of the receiver variable, see <a href="#HDRLOBJLZ">Format of
Receiver Variable</a>.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable.</p>
</dd>
<dt><strong>List information</strong></dt>
<dd>OUTPUT; CHAR(80)
<p>Information about the list of objects that was opened. 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 has been done. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">All records are built synchronously in the
list.</td>
</tr>
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">All records are built asynchronously in the
list.</td>
</tr>
</table>
<p>If a positive number of records is specified at least that many are built
synchronously (in order to return those immediately to the caller of this API)
and the remainder are built asynchronously by a server job.</p>
</dd>
<dt><strong>Sort information</strong></dt>
<dd>INPUT; CHAR(*)
<p>Information about which fields within the record structure to sort. For the
layout of this structure, see <a href="#HDRGYSORTF">Sort Information
Format</a>.</p>
</dd>
<dt><strong>Object and library name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The object and library names
to place in the list. The first 10 characters contain the object name, which
may be a simple name, a generic name, or the special values *ALL, *ALLUSR, or
*IBM. If *ALLUSR or *IBM is used, the library name must be *LIBL or QSYS and
the object type parameter must be *LIB. When QSYS is specified, the list of
libraries returned varies with the device name specified in the auxiliary
storage pool (ASP) control parameter.</p>
<ol>
<li>When *ALLUSR is specified
with a library name of *LIBL and an object type parameter of *LIB, a list of
all user libraries in the thread's library name space is returned. When *LIBL
is specified, the auxiliary storage pool (ASP) device name must be an asterisk
(*) if the auxiliary storage pool (ASP) control parameter is specified. Refer
to *ALLUSR in the description of the second 10 characters of this parameter for
a definition of user libraries.<br>
<br>
</li>
<li>When *ALLUSR is specified with a library name of QSYS and an object type
parameter of *LIB, a list of all user libraries in the auxiliary storage pools
defined by the auxiliary storage pool (ASP) control parameter is returned.
Refer to *ALLUSR in the description of the second 10 characters of this
parameter for a definition of user libraries.<br>
<br>
</li>
<li>When *IBM is specified with a library name of *LIBL and an object type of
*LIB, a list of libraries in the thread's library name space that are saved or
restored on the Save Library (SAVLIB) or Restore Library (RSTLIB) CL command
with LIB(*IBM) is returned. When *LIBL is specified, the auxiliary storage pool
(ASP) device name must be an asterisk (*) if the auxiliary storage pool (ASP)
control parameter is specified.<br>
<br>
</li>
<li>When *IBM is specified with a library name of QSYS and an object type of
*LIB, a list of libraries in the auxiliary storage pools specified by the
auxiliary storage pool (ASP) control parameter that are saved or restored on
the Save Library (SAVLIB) or Restore Library (RSTLIB) CL command with LIB(*IBM)
is returned.</li>
</ol>
<p>Library name errors are reported with escape messages when a single library
is specified. When searching a set of libraries (library specified as *ALL,
*ALLUSR, *LIBL, or *USRLIBL or auxiliary storage pool (ASP) device name
specified as *ALLAVL), library errors are reported with diagnostic messages and
processing continues. Library authority error messages are not sent when
searching a set of libraries. Escape messages are not sent for object name
errors. To determine if errors occurred on the object, check the list
information returned and the information status field in the receiver
variable.</p>
<p>The second 10 characters identify the name of the library or libraries to
search for the specified objects. The following special values are allowed:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All libraries in the auxiliary storage pools
defined by the auxiliary storage pool (ASP) control parameter are
searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALLUSR</em></td>
<td align="left" valign="top">All user libraries in the auxiliary storage pools
(ASPs) defined by the auxiliary storage pool (ASP) control parameter are
searched. User libraries are all libraries with names that do not begin with the
letter Q. For information on the libraries included,
see <a href="../apiref/genericlibname.htm#allusr">*ALLUSR</a> in Generic library names.
</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td valign="top">The thread's current library is searched. When this value is
used, the auxiliary storage pool (ASP) device name in the auxiliary storage
pool (ASP) control parameter must be an asterisk (*), if specified.</td>
</tr>
<tr>
<td valign="top"><em>*LIBL</em></td>
<td valign="top">All libraries in the thread's library list are searched. When
this value is used, the auxiliary storage pool (ASP) device name in the
auxiliary storage pool (ASP) control parameter must be an asterisk (*), if
specified.</td>
</tr>
<tr>
<td valign="top"><em>*USRLIBL</em></td>
<td valign="top">All libraries in the user portion of the thread's library list
are searched. When this value is used, the auxiliary storage pool (ASP) device
name in the auxiliary storage pool (ASP) control parameter must be an asterisk
(*), if specified.</td>
</tr>
</table>
<p>When optional parameter group 1 is specified and the job is not the current
job, the library name must be QTEMP or a special value of *CURLIB,
*LIBL, or *USRLIBL.</p>
</dd>
<dt><strong>Object type</strong></dt>
<dd>INPUT; CHAR(10)
<p>The types of objects to search for. You may either enter a specific object
type, or the special value *ALL. For a complete list of the available object
types, see the <img src="delta.gif" alt="Start of change">
<a href="../rbam6/rbam6objecttypes.htm">External object
types</a><img src="deltaend.gif" alt="End of change"> information.</p>
</dd>
<dt><strong>Authority control</strong></dt>
<dd>INPUT; CHAR(*)
<p>The authority to check for on objects and libraries. This parameter can be
used with the selection control parameter to select the objects to which a user
is authorized. To accomplish this, specify a select or omit status value in the
selection control parameter. The object name information is always returned for
objects meeting the search criteria. (This assumes the job has the required
authority to the library.) The information status field is set to an 'A' when the
job does not have the object authority that is specified.</p>
<p>The following example shows what you would specify to obtain a subset of all
objects that you have object management authority to.</p>
<p>The authority control parameter would contain:</p>
<dl>
<dd>Length of authority control format: 48</dd>
<dd>Call level: 1</dd>
<dd>Displacement to object authorities: 28</dd>
<dd>Number of object authorities: 1</dd>
<dd>Displacement to library authorities: 38</dd>
<dd>Number of library authorities: 1</dd>
<dd>Object authorities: '*OBJMGT&nbsp;&nbsp;&nbsp;'</dd>
<dd>Library authorities: '*USE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'</dd>
</dl>
<p>The selection control parameter would contain:</p>
<dl>
<dd>Length of selection control format: 21</dd>
<dd>Select or omit status value: 1</dd>
<dd>Displacement to statuses: 20</dd>
<dd>Number of statuses: 1</dd>
<dd>Statuses: 'A'</dd>
</dl>
<p>Because the program that calls the QGYOLOBJ API adopts authority, the
authority check should be done at the call level previous to the current level
(thus call level 1). With call level 1, the list would not include any objects
for which you have adopted authority by the current program.</p>
<p>The select or omit status value of 1 indicates that the returned list will
omit the objects you do not have object management authority to. This authority
is specified in the object authorities field.</p>
<p>The format of this parameter is described in <a href="#HDRAUTHF">Authority
Control Format</a>.</p>
</dd>
<dt><strong>Selection control</strong></dt>
<dd>INPUT; CHAR(*)
<p>The criteria used to select or filter objects from the list based on
specified information status values.</p>
<p>This parameter is useful to reduce the total number of objects returned in
the list. The list of objects can be generated with only the specific status
that you are interested in. For example, this might be all damaged objects or
all objects that the caller of the API is not authorized to. The list of
objects also can be generated with all objects except objects of a specific
status.</p>
<p>The following example shows what you would specify to select all damaged
objects:</p>
<dl>
<dd>Length of selection control format: 22</dd>
<dd>Select or omit status value: 0</dd>
<dd>Displacement to statuses: 20</dd>
<dd>Number of statuses: 2</dd>
<dd>Statuses: DP</dd>
</dl>
<p>The format of this parameter is described in <a href="#HDRSELTF">Selection
Control Format</a>.</p>
</dd>
<dt><strong>Number of keyed fields to return</strong></dt>
<dd>INPUT; BINARY(4)
<p>The number of keyed fields to return. This is the number of array elements
specified for the key of fields to be returned parameter.</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 keys,
see <a href="#HDRVKEYS"> Valid Keys</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> . If this
parameter is omitted, diagnostic and escape messages are issued to the
application.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 1</h3>
<dl>
<dt><strong>Job identification information</strong></dt>
<dd>INPUT; CHAR(*)
<p>The information that is used to identify the thread within a job for which
objects can be searched using the thread's library list. The format of this
parameter is described in <a href="#HDRXXPIDF1">Job Identification Information
Formats</a>.</p>
<p>When this parameter is specified and the job is not the current job, the
library name must be QTEMP or a special value of *CURLIB, *LIBL, or *USRLIBL.</p>
<p>A limited amount of information is returned for objects in another job's
QTEMP library. Information is returned for keys 201, 202, 203, 205, 701, and
702 only. Any other keys requested will have blanks, hexadecimal 0 (date
fields), or 0 returned.</p>
</dd>
<dt><strong>Format of job identification information</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the job identification information. See <a href="#HDRXXPIDF1">
Job Identification Information Formats</a> for details. The possible format
names are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>JIDF0000</em></td>
<td align="left" valign="top">See <a href="#HDRJIDF0000">JIDF0000
Format</a> for details on this format. This format is provided to simplify the
coding of this parameter when this parameter must be specified because optional
parameter groups after this one are to be specified and the functions provided
by the other formats of this parameter are not needed. Using this format gives
the same result as if optional parameter group 1 were not specified. The
information retrieved is for the thread in which this program is running.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JIDF0100</em></td>
<td align="left" valign="top">See <a href="#HDRJIDF0100">JIDF0100 Format</a>
for details on this format.</td>
</tr>
<tr>
<td align="left" valign="top"><em>JIDF0200</em></td>
<td align="left" valign="top">See <a href="#HDRJIDF0200">JIDF0200 Format</a>
for details on this format. If the thread handle is available, format JIDF0200
provides faster access than format JIDF0100 to a thread other than the current
thread.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3>Optional Parameter Group
2</h3>
<dl>
<dt><strong>Auxiliary storage pool (ASP) control</strong></dt>
<dd>Input; CHAR(*)
<p>The information used to define the auxiliary storage pool (ASP) to search.
The format of this parameter is described in <a href="#HDRXXASPF1">Auxiliary
Storage Pool (ASP) Control Format</a>.</p>
</dd>
</dl>
<br>
<h3><a name="HDRGYSORTF">Sort Information Format</a></h3>
<p>The following shows the format of the sort information parameter. For
detailed descriptions of the fields in the table, see <a href="#HDRGYSORTD">
Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Number of 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>
<p><strong>Note:</strong> If the last three fields (sort key field data type,
sort order and the reserved field) are not used, they must be set to
hexadecimal zeros. This causes all the data to be treated as character data,
and it is sorted in ascending order.</p>
<br>
<h3><a name="HDRGYSORTD">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 zero is specified, the list is not sorted.</p>
<p><strong>Reserved.</strong> An unused. This field must contain hexadecimal
zeros.</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> The starting position of
the field within the record of information to sort on.</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="HDRAUTHF">Authority Control Format</a></h3>
<p>The following shows the format of the authority control parameter. For
detailed descriptions of the fields in the table, see <a href="#HDRAUTHD">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%">Length of authority control
format</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">Call level</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Displacement to object authorities</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of object authorities</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Displacement to library authorities</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of library authorities</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Reserved</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(10)</td>
<td align="left" valign="top">Object authorities</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(10)</td>
<td align="left" valign="top">Library authorities</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRAUTHD">Field Descriptions</a></h3>
<p><strong>Call level.</strong> The number of call levels to go back in the
call stack to do the authority check.</p>
<p>For example, if the program that calls this API adopts authority, you
probably would not want the authority check to use the adopted authority.
Therefore, the authority check should be done at the call level previous to the
current level. This field should then contain a 1. You can check the authority
at various call levels by specifying a number equivalent to the call level. For
example, to check the authority at the current call level, specify a 0. To
check the authority at the previous call level, specify a 1.</p>
<p>This field must be greater than or equal to 0 and less than the number of
programs in the call stack.</p>
<p><strong>Displacement to library authorities.</strong> The byte offset from
the beginning of the authority control format to the list of library
authorities. The offset value must be 0, 28, or a number greater than 28. When
0 is specified, the number of library authorities should also be 0. A value of
28 is past the reserved portion of the format.</p>
<p><strong>Displacement to object authorities.</strong> The byte offset from
the beginning of the authority control format to the list of object
authorities. The offset value must be 0, 28, or a number greater than 28. When
0 is specified, the number of object authorities should also be 0. A value of
28 is past the reserved portion of the format.</p>
<p><strong>Length of authority control format.</strong> The total length of the
authority control format. The minimum size is 28 bytes. When the size is 28, it
is assumed that the number of library authorities and the number of object
authorities are both 0. To allow for one object and one library authority, the
size should be 48 bytes. An error is returned if the length specified is less
than the minimum.</p>
<p><strong>Library authorities.</strong> The authority to check for libraries.
The array can contain up to ten 10-character fields. If the number of library
authorities is 0, *EXECUTE authority is checked for on the libraries.</p>
<p>The authority values can be specified in any combination. If *ALL, *CHANGE,
or *USE is specified with any of the other authority values, the authority
checked is the cumulative authority value.</p>
<p>The maximum number of authorities that can be specified is 10. This equals
all of the specific object and data authorities that can be listed
separately.</p>
<p>The following identifies the type of authority the user has to the
library:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CHANGE</em></td>
<td align="left" valign="top">Change authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USE</em></td>
<td align="left" valign="top">Use authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJOPR</em></td>
<td align="left" valign="top">Object operational authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJMGT</em></td>
<td align="left" valign="top">Object management authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJEXIST</em></td>
<td align="left" valign="top">Object existence authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJALTER</em></td>
<td align="left" valign="top">Alter authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJREF</em></td>
<td align="left" valign="top">Reference authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*READ</em></td>
<td align="left" valign="top">Read authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ADD</em></td>
<td align="left" valign="top">Add authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*UPD</em></td>
<td align="left" valign="top">Update authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DLT</em></td>
<td align="left" valign="top">Delete authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*EXECUTE</em></td>
<td align="left" valign="top">Execute authority</td>
</tr>
</table>
<p><strong>Number of library authorities.</strong> The number of authorities
specified in the library authorities array. You can specify 0 through 10
authorities. When 0 is specified, *EXECUTE authority is checked for on the
libraries.</p>
<p><strong>Number of object authorities.</strong> The number of authorities
specified in the object authorities array. You can specify 0 through 11
authorities. When 0 is specified, *ANY authority is checked for on the
objects.</p>
<p><strong>Object authorities.</strong> The authority to check for objects. The
array can contain up to eleven 10-character fields. If the number of object
authorities is 0, *ANY authority is checked for on the objects.</p>
<p>The authority values can be specified in any combination with the exception
of the special value *ANY. This must be specified as the only value. If *ALL,
*CHANGE, *USE, or *AUTLMGT is specified with any of the other authority values,
the authority checked is the cumulative authority value.</p>
<p>The maximum number of authorities that can be specified is 11, which equals
all the specific object and data authorities and *AUTLMGT authority.</p>
<p>The following identifies the type of authority the user has to the
object:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">All authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CHANGE</em></td>
<td align="left" valign="top">Change authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USE</em></td>
<td align="left" valign="top">Use authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*AUTLMGT</em></td>
<td align="left" valign="top">Authorization list management authority. (This
value is valid only if the object type is *AUTL. It will be ignored for other
object types.)</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJOPR</em></td>
<td align="left" valign="top">Object operational authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJMGT</em></td>
<td align="left" valign="top">Object management authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJEXIST</em></td>
<td align="left" valign="top">Object existence authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJALTER</em></td>
<td align="left" valign="top">Alter authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*OBJREF</em></td>
<td align="left" valign="top">Reference authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*READ</em></td>
<td align="left" valign="top">Read authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ADD</em></td>
<td align="left" valign="top">Add authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*UPD</em></td>
<td align="left" valign="top">Update authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*DLT</em></td>
<td align="left" valign="top">Delete authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*EXECUTE</em></td>
<td align="left" valign="top">Execute authority</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ANY</em></td>
<td align="left" valign="top">Some authority other than *EXCLUDE. (If this value
is specified, no other values can be specified.)</td>
</tr>
</table>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<br>
<h3><a name="HDRSELTF">Selection Control Format</a></h3>
<p>The following shows the format of the selection control parameter. For
detailed descriptions of the fields in the table, see <a href="#HDRSELTD">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%">Length of selection control
format</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">Select or omit status value</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Displacement to statuses</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of statuses</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Reserved</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(1)</td>
<td align="left" valign="top">Statuses</td>
</tr>
</table>
<br>
<h3><a name="HDRSELTD">Field Descriptions</a></h3>
<p><strong>Displacement to statuses.</strong> The byte offset from the
beginning of the selection control format to the list of statuses requested.
The offset value must be at least 20, which is past the reserved portion of the
format.</p>
<p><strong>Length of selection control format.</strong> The total length of the
selection control format. The minimum size is 21 bytes, which allows for one
status value. An error is returned if the length specified is less than the
minimum.</p>
<p><strong>Number of statuses.</strong> The number of statuses specified in the
statuses array. You can specify 1 through 5 statuses.</p>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<p><strong>Select or omit status value.</strong> An indicator that determines
whether objects are selected or omitted from the list based on the statuses
specified.</p>
<p>This field is useful in generating a list of objects with a certain
information status, such as damaged or partially damaged objects. It can also
be used to generate a list of all objects except objects with a certain
information status, such as unauthorized objects.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Select on status value</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Omit on status value</td>
</tr>
</table>
<p><strong>Statuses.</strong> The status of objects to select or omit from the
list of objects generated. Valid values are all of the possible values listed
under the <a href="#SPTISTAT">information status</a> field in the Format of
Receiver Variable. The special value * can be used to select all objects with
any information status field.</p>
<br>
<h3><a name="HDRXXPIDF1">Job Identification Information Formats</a></h3>
<h3><a name="HDRJIDF0000">
JIDF0000 Format</a></h3>
<p>The following shows the details of format JIDF0000. For detailed
descriptions of the field in the table, see <a href="#HDRJIDF0">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Default job name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRJIDF0">Field Descriptions</a></h3>
<p><strong>Default job name.</strong> This field must contain an asterisk '* '.
The information retrieved is for the thread in which this program is
running.</p>
<br>
<h3><a name="HDRJIDF0100">JIDF0100 Format</a></h3>
<p>The following shows the details of format JIDF0100 of the information needed
to identify the thread's library list used for an object search. For detailed
descriptions of the fields in the table, see <a href="#HDRJIDF1">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Job name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Job number</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier</td>
</tr>
<tr>
<td align="center" valign="top">42</td>
<td align="center" valign="top">2A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Thread indicator</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRJIDF1">Field Descriptions</a></h3>
<p><strong>Internal job identifier.</strong> The internal identifier for the
job. The List Job (QUSLJOB) API returns this identifier. If you do not specify
*INT for the job name parameter, this parameter must contain blanks. With this
parameter, the system can locate the job more quickly than with a job name.</p>
<p><strong>Job name.</strong> A specific job name or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The job in which this program is running. The job
number and user name must contain blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*INT</em></td>
<td align="left" valign="top">The internal job identifier locates the job. The
job number and user name must contain blanks.</td>
</tr>
</table>
<p><strong>Job number.</strong> A specific job number, or blanks when the job
name specified is a special value.</p>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<p><strong>Thread identifier.</strong> The unique value that is used to
identify the thread within the job. If the thread indicator is not 0, this
field must contain hexadecimal zeros.</p>
<p><strong>Thread indicator.</strong> The value that is used to specify the
thread within the job for which information is to be retrieved. The following
values are supported:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Specifies that information should be retrieved
for the thread specified in the thread identifier field.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Specifies that information should be retrieved
for the thread that this program is currently running in. The combination of
the internal job identifier, job name, job number, and user name fields must
also identify the job containing the current thread.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Information should be retrieved for the initial
thread of the identified job.</td>
</tr>
</table>
<p><strong>User name.</strong> A specific user profile name, or blanks when the
job name specified is a special value.</p>
<br>
<h3><a name="HDRJIDF0200">
JIDF0200 Format</a></h3>
<p>The following shows the details of format JIDF0200 for the information
needed to identify the thread's library list used for an object search. For
detailed descriptions of the fields in the table, see <a href="#HDRJIDF2">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Job name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User name</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Job number</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Internal job identifier</td>
</tr>
<tr>
<td align="center" valign="top">42</td>
<td align="center" valign="top">2A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">BINARY(4), UNSIGNED</td>
<td align="left" valign="top">Thread handle</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Thread identifier</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRJIDF2">Field Descriptions</a></h3>
<p><strong>Internal job identifier.</strong> The internal identifier for the
job. The List Job (QUSLJOB) API returns this identifier. If you do not specify
*INT for the job name parameter, this parameter must contain blanks. With this
parameter, the system can locate the job more quickly than with a job name.</p>
<p><strong>Job name.</strong> A specific job name or one of the following
special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The job in which this program is running. The job
number and user name must contain blanks.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*INT</em></td>
<td align="left" valign="top">The internal job identifier locates the job. The
job number and user name must contain blanks.</td>
</tr>
</table>
<p><strong>Job number.</strong> A specific job number, or blanks when the job
name specified is a special value.</p>
<p><strong>Reserved.</strong> An unused field. This field must contain
hexadecimal zeros.</p>
<p><strong>Thread handle.</strong> A value which is used to address a
particular thread within a job. A valid thread handle must be specified. The
thread handle is returned on several other interfaces.</p>
<p><strong>Thread identifier.</strong> A value which is used to uniquely
identify a thread within a job. A valid thread identifier must be
specified.</p>
<p><strong>User name.</strong> A specific user profile name, or blanks when the
job name specified is a special value.</p>
<br>
<h3><a name="HDRXXASPF1">Auxiliary Storage Pool (ASP) Control Format</a></h3>
<p>The following shows the format of the auxiliary storage pool (ASP) control
parameter. This parameter is used to define the auxiliary storage pools (ASPs)
to search. For detailed descriptions of the fields in the table, see <a href=
"#HDRASPINFO">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%">Length of auxiliary storage pool
(ASP) control format</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Auxiliary storage pool (ASP) device name</td>
</tr>
<tr>
<td align="center" valign="top">14</td>
<td align="center" valign="top">E</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Auxiliary storage pool (ASP) search type</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRASPINFO">Field Descriptions</a></h3>
<p><strong>Auxiliary storage pool (ASP) device name.</strong> The name of an
auxiliary storage pool (ASP) device in which storage is allocated for the
library that contains the object. The ASP device must have a status of
'Available'. This parameter must be an asterisk (*) if optional parameter group
2 is specified when *CURLIB, *LIBL, or *USRLIBL is specified as the library
name in the object and library name parameter. If optional parameter group 2 is
omitted in cases where it is valid for the ASP device name to have a value
other than an asterisk (*), the thread's library name space will be used. One
of the following special values may be specified:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*</em></td>
<td align="left" valign="top">The ASPs in the thread's library name space.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">The system ASP (ASP 1) and defined basic user
ASPs (ASPs 2-32).</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURASPGRP</em></td>
<td align="left" valign="top">The ASPs in the current thread's ASP group.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALLAVL</em></td>
<td align="left" valign="top">All available ASPs. This includes the system ASP
(ASP 1), all defined basic user ASPs (ASPs 2-32), and all available primary and
secondary ASPs (ASPs 33-255 with a status of 'Available').
<img src="delta.gif" alt="Start of change">The ASP groups are searched
in ascending alphabetical order by the primary ASP name. The system ASP and
all defined basic user ASPs are searched after the ASP groups. ASPs and libraries
to which you are not authorized are bypassed and no authority error messages
are sent.<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Auxiliary storage pool (ASP) search type.</strong> The type of the
search when a specific auxiliary storage pool (ASP) device name is specified
for the ASP device name field. This field must be blanks when a special value
is specified for the auxiliary storage pool (ASP) device name field. One of the
following values may be specified:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*ASP</em></td>
<td align="left" valign="top">Only the single ASP named in the auxiliary
storage pool (ASP) device name field will be searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ASPGRP</em></td>
<td align="left" valign="top">All ASPs in the auxiliary storage pool (ASP)
group named in the auxiliary storage pool (ASP) device name field will be
searched. The device name must be the name of the primary auxiliary storage
pool (ASP) in the group.</td>
</tr>
</table>
<p><strong>Length of auxiliary storage pool (ASP) control format.</strong> The
total length of the auxiliary storage pool (ASP) control format. The length can
be 0 bytes to indicate that no auxiliary storage pool (ASP) control information
is provided. Otherwise, the length must be 24 bytes. An error is returned if
the length specified is not 24 or 0.</p>
<br>
<h3><a name="HDRLOBJLZ">Format of Receiver Variable</a></h3>
<p>To get all of the information from a format, specify the key that will
return all of the fields associated with the format. There is no format
parameter for this API.</p>
<p>The offsets given in the tables below apply only if the key for a format is
specified. If individual field keys are specified, the fields are returned in
the order in which the keys are specified.</p>
<p>For detailed descriptions of the fields in the table, see <a href=
"#HDRLISTDSD">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Object 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">Object library name used</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object type used</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"><a name="SPTISTAT">Information status</a></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">Reserved</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 fields returned</td>
</tr>
<tr>
<td align="left" valign="top" rowspan="7" colspan="2">Offsets vary. these
fields repeat, in the order listed, for each key field 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 for field returned</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 returned</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Data</td>
</tr>
<tr>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLIStdSD">Field Descriptions</a></h3>
<p><strong>Data.</strong> The actual data contained in the keyed field.</p>
<p><strong>Information status.</strong> Whether the QGYOLOBJ API returns the
requested information for this object. If you do not request any keys to be
returned, ignore this field. Possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The requested information is returned. No errors
occurred.</td>
</tr>
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">No information is returned. The job that called
this API needs the authority specified in the object authorities field to the
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>D</em></td>
<td align="left" valign="top">The requested information is returned but may
be incomplete. The object is damaged and should be deleted and created again
as soon as possible.</td>
</tr>
<tr>
<td align="left" valign="top"><em>L</em></td>
<td align="left" valign="top">No information is returned because the object is
locked.</td>
</tr>
<tr>
<td align="left" valign="top"><em>P</em></td>
<td align="left" valign="top">The requested information is returned. However,
the object is partially damaged. In most instances, to recover from partial
object damage, you delete the damaged object and either restore a saved copy or
create the object again. For some damaged objects, special recovery procedures
are possible. Refer to the <a href="../books/sc415304.pdf" target="_blank">
Backup and Recovery</a><img src="wbpdf.gif" alt="Link to PDF"> book for more
information on damaged objects.</td>
</tr>
</table>
<p>If two or more conditions occur that include no authorization (A) to the
object, the status is set to <samp>A</samp>. If the object is damaged (D) and
locked (L), or if the object is partially damaged (P) and locked, the status is
set to <samp>L</samp>.</p>
<p>If the value of this field is A or L, your application should not use the
other fields for the object. Only the object name, library, and type fields
contain accurate data.</p>
<p><strong>Key field for field returned.</strong> The specific key for the
field being returned. See <a href="#HDRVKEYS">Valid Keys</a>.</p>
<p><strong>Length of data returned.</strong> The length of data returned for
this keyed field.</p>
<p><strong>Length of field information returned.</strong>
<img src="delta.gif" alt="Start of change">The total length of
information returned for this keyed field. This length includes the
length of this field and all of the other fields in the structure returned
for this key.<img src="deltaend.gif" alt="End of change"></p>
<p><strong>Number of fields returned.</strong> The number of keyed fields of
information returned.</p>
<p><strong>Object library name used.</strong> The name of the library that
contains the object.</p>
<p><strong>Object name used.</strong> The name of the object.</p>
<p><strong>Object type used.</strong> The type of the object. For a list of all
the available object types, see the <img src="delta.gif" alt="Start of change">
<a href="../rbam6/rbam6objecttypes.htm">External object
types</a><img src="deltaend.gif" alt="End of change"> information.</p>
<p><strong>Reserved.</strong> An unused field. This field contains hexadecimal
zeros.</p>
<p><strong>Type of data.</strong> The type of data that is contained in this
keyed field. Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>B</em></td>
<td align="left" valign="top">Binary data</td>
</tr>
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">Character data</td>
</tr>
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">Special structured field used for key
combinations.</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRVKEYS">Valid Keys</a></h3>
<p>The following table contains a list of the valid keys that are used for the
key of fields to be returned parameter. See <a href="#HDRVALKEYD">Field
Descriptions</a> for the descriptions of the valid key fields.</p>
<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="15%">0200</td>
<td align="left" valign="top" width="20%">CHAR(80)</td>
<td align="left" valign="top" width="65%">Special key combination. See <a href=
"#HDROBJX2">Key 0200 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0201</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Information status</td>
</tr>
<tr>
<td align="left" valign="top">0202</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Extended object attribute</td>
</tr>
<tr>
<td align="left" valign="top">0203</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Text description</td>
</tr>
<tr>
<td align="left" valign="top">0204</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User-defined attribute</td>
</tr>
<tr>
<td align="left" valign="top">0205</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Order in library list</td>
</tr>
<tr>
<td align="left" valign="top">0300</td>
<td align="left" valign="top">CHAR(144)</td>
<td align="left" valign="top">Special key combination. See <a href=
"#HDROBJX300">Key 0300 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0301</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">
Object auxiliary storage pool (ASP) number</td>
</tr>
<tr>
<td align="left" valign="top">0302</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object owner</td>
</tr>
<tr>
<td align="left" valign="top">0303</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Object domain</td>
</tr>
<tr>
<td align="left" valign="top">0304</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Creation date and time</td>
</tr>
<tr>
<td align="left" valign="top">0305</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Change date and time</td>
</tr>
<tr>
<td align="left" valign="top">0306</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Storage</td>
</tr>
<tr>
<td align="left" valign="top">0307</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object compression status</td>
</tr>
<tr>
<td align="left" valign="top">0308</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow change by program</td>
</tr>
<tr>
<td align="left" valign="top">0309</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Changed by program</td>
</tr>
<tr>
<td align="left" valign="top">0310</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auditing value</td>
</tr>
<tr>
<td align="left" valign="top">0311</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed</td>
</tr>
<tr>
<td align="left" valign="top">
0312</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed by a system-trusted source</td>
</tr>
<tr>
<td align="left" valign="top">0313</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed more than once</td>
</tr>
<tr>
<td align="left" valign="top">0314</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP) number</td>
</tr>
<tr>
<td align="left" valign="top">0400</td>
<td align="left" valign="top">CHAR(296)</td>
<td align="left" valign="top">Special key combination. See <a href="#HDROBJX4">
Key 0400 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0401</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file name</td>
</tr>
<tr>
<td align="left" valign="top">0402</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file library name</td>
</tr>
<tr>
<td align="left" valign="top">0403</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file member name</td>
</tr>
<tr>
<td align="left" valign="top">0404</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Source file updated date and time</td>
</tr>
<tr>
<td align="left" valign="top">0405</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Creator's user profile</td>
</tr>
<tr>
<td align="left" valign="top">0406</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">System where object was created</td>
</tr>
<tr>
<td align="left" valign="top">0407</td>
<td align="left" valign="top">CHAR(9)</td>
<td align="left" valign="top">System level</td>
</tr>
<tr>
<td align="left" valign="top">0408</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Compiler</td>
</tr>
<tr>
<td align="left" valign="top">0409</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object level</td>
</tr>
<tr>
<td align="left" valign="top">0410</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">User changed</td>
</tr>
<tr>
<td align="left" valign="top">0411</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Licensed program</td>
</tr>
<tr>
<td align="left" valign="top">0412</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Program temporary fix (PTF)</td>
</tr>
<tr>
<td align="left" valign="top">0413</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authorized program analysis report (APAR)</td>
</tr>
<tr>
<td align="left" valign="top">0414</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Primary group</td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0415</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Optimum space alignment
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0416</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Primary associated space size
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top">0500</td>
<td align="left" valign="top">CHAR(504)</td>
<td align="left" valign="top">Special key combination. See <a href="#HDROBJX5">
Key 0500 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0501</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object saved date and time</td>
</tr>
<tr>
<td align="left" valign="top">0502</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object restored date and time</td>
</tr>
<tr>
<td align="left" valign="top">0503</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size</td>
</tr>
<tr>
<td align="left" valign="top">0504</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size multiplier</td>
</tr>
<tr>
<td align="left" valign="top">0505</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Save sequence number</td>
</tr>
<tr>
<td align="left" valign="top">0506</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save command</td>
</tr>
<tr>
<td align="left" valign="top">0507</td>
<td align="left" valign="top">CHAR(71)</td>
<td align="left" valign="top">Save volume ID</td>
</tr>
<tr>
<td align="left" valign="top">0508</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save device</td>
</tr>
<tr>
<td align="left" valign="top">0509</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save file name</td>
</tr>
<tr>
<td align="left" valign="top">0510</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save file library name</td>
</tr>
<tr>
<td align="left" valign="top">0511</td>
<td align="left" valign="top">CHAR(17)</td>
<td align="left" valign="top">Save label</td>
</tr>
<tr>
<td align="left" valign="top">0512</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Save active date and time</td>
</tr>
<tr>
<td align="left" valign="top">0513</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal status</td>
</tr>
<tr>
<td align="left" valign="top">0514</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal name</td>
</tr>
<tr>
<td align="left" valign="top">0515</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal library name</td>
</tr>
<tr>
<td align="left" valign="top">0516</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal images</td>
</tr>
<tr>
<td align="left" valign="top">0517</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal entries to be omitted</td>
</tr>
<tr>
<td align="left" valign="top">0518</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Journal start date and time</td>
</tr>
<tr>
<td align="left" valign="top">0600</td>
<td align="left" valign="top">CHAR(548)</td>
<td align="left" valign="top">Special key combination. See <a href="#HDROBJX6">
Key 0600 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0601</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Last-used date and time</td>
</tr>
<tr>
<td align="left" valign="top">0602</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Reset date and time</td>
</tr>
<tr>
<td align="left" valign="top">0603</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Days-used count</td>
</tr>
<tr>
<td align="left" valign="top">0604</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Usage information updated</td>
</tr>
<tr>
<td align="left" valign="top">0605</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auxiliary storage pool (ASP) device
name</td>
</tr>
<tr>
<td align="left" valign="top">0606</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP) device
name</td>
</tr>
<tr>
<td align="left" valign="top">0700</td>
<td align="left" valign="top">CHAR(560)</td>
<td align="left" valign="top">Special key combination. See <a href="#HDROBJX7">
Key 0700 Contents</a> for the key combination.</td>
</tr>
<tr>
<td align="left" valign="top">0701</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Object size</td>
</tr>
<tr>
<td align="left" valign="top">0702</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Object size multiplier</td>
</tr>
<tr>
<td align="left" valign="top">0703</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Object overflowed
auxiliary storage pool (ASP) indicator
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0704</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auxiliary storage pool (ASP)
group name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0705</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP)
group name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0706</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver name for apply
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0707</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver library name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0708</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver
library auxiliary storage pool (ASP) device name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">0709</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver
library auxiliary storage pool (ASP) group name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX2">Key 0200 Contents</a></h3>
<p>The following information is returned in the field when key 0200 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Information status</td>
</tr>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Extended object attribute</td>
</tr>
<tr>
<td align="center" valign="top">11</td>
<td align="center" valign="top">B</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Text description</td>
</tr>
<tr>
<td align="center" valign="top">61</td>
<td align="center" valign="top">3D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">User-defined attribute</td>
</tr>
<tr>
<td align="center" valign="top">71</td>
<td align="center" valign="top">47</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Order in library list</td>
</tr>
<tr>
<td align="center" valign="top">75</td>
<td align="center" valign="top">4B</td>
<td align="left" valign="top">CHAR(5)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX300">Key 0300 Contents</a></h3>
<p>the following information is returned in the field when key 0300 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">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%">&nbsp;</td>
<td align="left" valign="top" width="60%">Everything from key 0200</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">
Object auxiliary storage pool (ASP) number</td>
</tr>
<tr>
<td align="center" valign="top">84</td>
<td align="center" valign="top">54</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object owner</td>
</tr>
<tr>
<td align="center" valign="top">94</td>
<td align="center" valign="top">5E</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Object domain</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Creation date and time</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Change date and time</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Storage</td>
</tr>
<tr>
<td align="center" valign="top">122</td>
<td align="center" valign="top">7A</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object compression status</td>
</tr>
<tr>
<td align="center" valign="top">123</td>
<td align="center" valign="top">7B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow change by program</td>
</tr>
<tr>
<td align="center" valign="top">124</td>
<td align="center" valign="top">7C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Changed by program</td>
</tr>
<tr>
<td align="center" valign="top">125</td>
<td align="center" valign="top">7D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auditing value</td>
</tr>
<tr>
<td align="center" valign="top">135</td>
<td align="center" valign="top">87</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed</td>
</tr>
<tr>
<td align="center" valign="top">136</td>
<td align="center" valign="top">88</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed by system-trusted source</td>
</tr>
<tr>
<td align="center" valign="top">137</td>
<td align="center" valign="top">89</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed more than once</td>
</tr>
<tr>
<td align="center" valign="top">138</td>
<td align="center" valign="top">8A</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">140</td>
<td align="center" valign="top">8C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP) number</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX4">Key 0400 Contents</a></h3>
<p>The following information is returned in the field when key 0400 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">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%">&nbsp;</td>
<td align="left" valign="top" width="60%">Everything from key 0300</td>
</tr>
<tr>
<td align="center" valign="top">144</td>
<td align="center" valign="top">90</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file name</td>
</tr>
<tr>
<td align="center" valign="top">154</td>
<td align="center" valign="top">9A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file library name</td>
</tr>
<tr>
<td align="center" valign="top">164</td>
<td align="center" valign="top">A4</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file member name</td>
</tr>
<tr>
<td align="center" valign="top">174</td>
<td align="center" valign="top">AE</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Source file updated date and time</td>
</tr>
<tr>
<td align="center" valign="top">187</td>
<td align="center" valign="top">BB</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Creator's user profile</td>
</tr>
<tr>
<td align="center" valign="top">197</td>
<td align="center" valign="top">C5</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">System where object was created</td>
</tr>
<tr>
<td align="center" valign="top">205</td>
<td align="center" valign="top">CD</td>
<td align="left" valign="top">CHAR(9)</td>
<td align="left" valign="top">System level</td>
</tr>
<tr>
<td align="center" valign="top">214</td>
<td align="center" valign="top">D6</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Compiler</td>
</tr>
<tr>
<td align="center" valign="top">230</td>
<td align="center" valign="top">E6</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object level</td>
</tr>
<tr>
<td align="center" valign="top">238</td>
<td align="center" valign="top">EE</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">User changed</td>
</tr>
<tr>
<td align="center" valign="top">239</td>
<td align="center" valign="top">EF</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Licensed program</td>
</tr>
<tr>
<td align="center" valign="top">255</td>
<td align="center" valign="top">FF</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Program temporary fix (PTF)</td>
</tr>
<tr>
<td align="center" valign="top">265</td>
<td align="center" valign="top">109</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authorized program analysis report (APAR)</td>
</tr>
<tr>
<td align="center" valign="top">275</td>
<td align="center" valign="top">113</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Primary group</td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">285</td>
<td align="center" valign="top">11D</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">287</td>
<td align="center" valign="top">11F</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Optimum space alignment
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">288</td>
<td align="center" valign="top">120</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Primary associated space size
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">292</td>
<td align="center" valign="top">124</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Reserved
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX5">Key 0500 Contents</a></h3>
<p>The following information is returned in the field when key 0500 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">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%">&nbsp;</td>
<td align="left" valign="top" width="60%">Everything from key 0400</td>
</tr>
<tr>
<td align="center" valign="top">296</td>
<td align="center" valign="top">128</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object saved date and time</td>
</tr>
<tr>
<td align="center" valign="top">304</td>
<td align="center" valign="top">130</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object restored date and time</td>
</tr>
<tr>
<td align="center" valign="top">312</td>
<td align="center" valign="top">138</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size</td>
</tr>
<tr>
<td align="center" valign="top">316</td>
<td align="center" valign="top">13C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size multiplier</td>
</tr>
<tr>
<td align="center" valign="top">320</td>
<td align="center" valign="top">140</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Save sequence number</td>
</tr>
<tr>
<td align="center" valign="top">324</td>
<td align="center" valign="top">144</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save command</td>
</tr>
<tr>
<td align="center" valign="top">334</td>
<td align="center" valign="top">14E</td>
<td align="left" valign="top">CHAR(71)</td>
<td align="left" valign="top">Save volume ID</td>
</tr>
<tr>
<td align="center" valign="top">405</td>
<td align="center" valign="top">195</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save device</td>
</tr>
<tr>
<td align="center" valign="top">415</td>
<td align="center" valign="top">19F</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save file name</td>
</tr>
<tr>
<td align="center" valign="top">425</td>
<td align="center" valign="top">1A9</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save file library name</td>
</tr>
<tr>
<td align="center" valign="top">435</td>
<td align="center" valign="top">1B3</td>
<td align="left" valign="top">CHAR(17)</td>
<td align="left" valign="top">Save label</td>
</tr>
<tr>
<td align="center" valign="top">452</td>
<td align="center" valign="top">1C4</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Save active date and time</td>
</tr>
<tr>
<td align="center" valign="top">460</td>
<td align="center" valign="top">1CC</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal status</td>
</tr>
<tr>
<td align="center" valign="top">461</td>
<td align="center" valign="top">1CD</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal name</td>
</tr>
<tr>
<td align="center" valign="top">471</td>
<td align="center" valign="top">1D7</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal library name</td>
</tr>
<tr>
<td align="center" valign="top">481</td>
<td align="center" valign="top">1E1</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal images</td>
</tr>
<tr>
<td align="center" valign="top">482</td>
<td align="center" valign="top">1E2</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal entries to be omitted</td>
</tr>
<tr>
<td align="center" valign="top">483</td>
<td align="center" valign="top">1E3</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Journal start date and time</td>
</tr>
<tr>
<td align="center" valign="top">491</td>
<td align="center" valign="top">1EB</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX6">Key 0600 Contents</a></h3>
<p>The following information is returned in the field when key 0600 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">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%">&nbsp;</td>
<td align="left" valign="top" width="60%">Everything from key 0500</td>
</tr>
<tr>
<td align="center" valign="top">504</td>
<td align="center" valign="top">1F8</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Last-used date and time</td>
</tr>
<tr>
<td align="center" valign="top">512</td>
<td align="center" valign="top">200</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Reset date and time</td>
</tr>
<tr>
<td align="center" valign="top">520</td>
<td align="center" valign="top">208</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Days-used count</td>
</tr>
<tr>
<td align="center" valign="top">524</td>
<td align="center" valign="top">20C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Usage information updated</td>
</tr>
<tr>
<td align="center" valign="top">525</td>
<td align="center" valign="top">20D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auxiliary storage pool (ASP) device
name</td>
</tr>
<tr>
<td align="center" valign="top">535</td>
<td align="center" valign="top">217</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP) device
name</td>
</tr>
<tr>
<td align="center" valign="top">545</td>
<td align="center" valign="top">221</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJX7">Key 0700 Contents</a></h3>
<p>The following information is returned in the field when key 0700 is
specified. For detailed descriptions of the subfields in the table, see <a
href="#HDRVALKEYD">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%">&nbsp;</td>
<td align="left" valign="top" width="60%">Everything from key 0600</td>
</tr>
<tr>
<td align="center" valign="top">548</td>
<td align="center" valign="top">224</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Object size</td>
</tr>
<tr>
<td align="center" valign="top">552</td>
<td align="center" valign="top">228</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Object size multiplier</td>
</tr>
<tr>
<td align="center" valign="top">556</td>
<td align="center" valign="top">22C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Object overflowed
auxiliary storage pool (ASP) indicator
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">557</td>
<td align="center" valign="top">22D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object auxiliary storage pool (ASP)
group name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">567</td>
<td align="center" valign="top">237</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Library auxiliary storage pool (ASP)
group name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">577</td>
<td align="center" valign="top">241</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver name for apply
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">587</td>
<td align="center" valign="top">24B</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver library name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">597</td>
<td align="center" valign="top">255</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver
library auxiliary storage pool (ASP) device name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">607</td>
<td align="center" valign="top">25F</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Starting journal receiver
library auxiliary storage pool (ASP) group name
<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">
<img src="delta.gif" alt="Start of change">617</td>
<td align="center" valign="top">269</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRVALKEYD">Field Descriptions</a></h3>
<p><strong>Allow change by program.</strong> Whether the object can be changed
by the Change Object Description (QLICOBJD) API.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object cannot be changed with the QLICOBJD
API.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object can be changed with the QLICOBJD
API.</td>
</tr>
</table>
<p><strong>Authorized program analysis report (APAR).</strong> The identifier
of the authorized program analysis report (APAR) that caused this object to be
replaced. the field is blank if the object did not change because of an
APAR.</p>
<p><strong>Changed by program.</strong> Whether the object has been changed by
the Change Object Description (QLICOBJD) API.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object has not been changed with the QLICOBJD
API.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object has been changed with the QLICOBJD
API.</td>
</tr>
</table>
<p><strong>Change date and time.</strong> The time at which the object was last
changed, in system time-stamp format.</p>
<p><strong>Compiler.</strong> The licensed program identifier, version number,
release level, and modification level of the compiler. The field has a
pppppppVvvRrrMmm format, where:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>ppppppp</em></td>
<td align="left" valign="top">The licensed program identifier.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Vvv</em></td>
<td align="left" valign="top">The character V is followed by a 2-character
version number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Rrr</em></td>
<td align="left" valign="top">The character R is followed by a 2-character
release level.</td>
</tr>
<tr>
<td><em>Mmm</em></td>
<td>The character M is followed by a 2-character modification level.</td>
</tr>
</table>
<p>The field is blank if you do not compile the program.</p>
<p><strong>Creation date and time.</strong> The time at which the object was
created, in system time-stamp format. See the <a href="qwccvtdt.htm">Convert
Date and Time Format</a> (QWCCVTDT) API for more information about using this
time-stamp format.</p>
<p><strong>Creator's user profile.</strong> The name of the user that created
the object.</p>
<p><strong>Days-used count.</strong> The number of days the object was used. If
the object does not have a last-used date, the count is 0.</p>
<p><strong>Digitally signed.</strong> A 1-character variable that indicates
whether the object has a digital signature.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object does not have a digital signature.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object has a digital signature.</td>
</tr>
</table>
<p><strong>Digitally signed by system-trusted source.</strong> A 1-character
variable that indicates whether the object is signed by a source that is trusted
by the system.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">None of the object signatures came from a source
that is trusted by the system.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object is signed by a source that is trusted
by the system. If the object has multiple signatures, at least one of the
signatures came from a source that is trusted by the system.</td>
</tr>
</table>
<p><strong>Digitally signed more than once.</strong> A 1-character variable
that indicates whether the object has more than one digital signature.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object has only one digital signature
or does not have a digital signature. Refer to the digitally signed
variable to determine whether the object has a digital signature.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object has more than one digital
signature. Refer to the digitally signed by system-trusted source variable to
determine whether the object has a digital signature from a source
trusted by the system.</td>
</tr>
</table>
<p><strong>Extended object attribute.</strong> The extended attribute of the
object, such as a program or file type. Extended attributes further describe
the object. For example, an object type of *PGM may have a value of RPG (RPG
program) or CLP (CL program), and an object type of *FILE may have a value of
PF (physical file), LF (logical file), DSPF (display file), SAVF (save file),
and so on.</p>
<p><strong>Information status.</strong> Whether the QGYOLOBJ API returns the
requested information for this object. If you do not request any keys to be
returned, ignore this field. Possible values are:</p>
<table cellpadding="5">
<!-- cols="10 80" -->
<tr>
<td align="left" valign="top"><em>blank</em></td>
<td align="left" valign="top">The requested information is returned. No errors
occurred.</td>
</tr>
<tr>
<td align="left" valign="top"><em>A</em></td>
<td align="left" valign="top">No information is returned. The job that called
this API needs the authority specified in the object authorities field to the
object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>D</em></td>
<td align="left" valign="top">The requested information is returned but may
be incomplete. The object is damaged and should be deleted and created again
as soon as possible.</td>
</tr>
<tr>
<td align="left" valign="top"><em>L</em></td>
<td align="left" valign="top">No information is returned because the object is
locked.</td>
</tr>
<tr>
<td align="left" valign="top"><em>P</em></td>
<td align="left" valign="top">The requested information is returned. However,
the object is partially damaged. In most instances, to recover from partial
object damage, you delete the damaged object and either restore a saved copy or
create the object again. For some damaged objects, special recovery procedures
are possible. Refer to the <a href="../books/sc415304.pdf" target="_blank">
Backup and Recovery</a><img src="wbpdf.gif" alt="Link to PDF"> book for more
information on damaged objects.</td>
</tr>
</table>
<p>If two or more conditions occur that include no authorization (A) to the
object, the status is set to <samp>A</samp>. If the object is damaged (D) and
locked (L), or if the object is partially damaged (P) and locked, the status is
set to <samp>L</samp>.</p>
<p>If the value of this field is A or L, your application should not use the
other fields for the object. Only the object name, library, and type fields
contain accurate data.</p>
<p><strong>Journal entries to be omitted.</strong> The journal entries to be
omitted. the field is 1 if <em>open</em> and <em>close</em> operations do not
generate <em>open</em> and <em>close</em> journal entries. The field is 0 if no
entries are omitted. This field is blank if the object has never been
journaled.</p>
<p><strong>Journal images.</strong> The type of images that are written to the
journal receiver for updates to the object. the field is 0 if only <em>
after</em> images are generated for changes to the object. The field is 1 if
both <em>before</em> and <em>after</em> images are generated for changes to the
object. This field is blank if the object has never been journaled.</p>
<p><strong>Journal library name.</strong> The name of the library that contains
the journal. This field is blank if the object has never been journaled.</p>
<p><strong>Journal name.</strong> The name of the current or last journal. This
field is blank if the object has never been journaled.</p>
<p><strong>Journal start date and time.</strong> The time at which journaling
for the object was last started, in system time-stamp format. This field
contains hexadecimal zeros if the object has never been journaled.</p>
<p><strong>Journal status.</strong> The 1-character variable that returns the
current journaling status of an object. The value is 1 if the object currently
is being journaled; the value is 0 if the object currently is not being
journaled.</p>
<p><strong>Last-used date and time.</strong> The date and time at which the
object was last used, in system time-stamp format. If the object has no
last-used date, the field contains hexadecimal zeros.</p>
<p><strong>Library auxiliary storage pool (ASP) device name.</strong> The name
of the auxiliary storage pool (ASP) device where storage is allocated for the
library that contains the object.
<img src="delta.gif" alt="Start of change">The following special
values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or defined basic user ASPs
(ASPs 2-32)</td>
</tr>
</table>
<p><img src="delta.gif" alt="Start of change"><strong>Library auxiliary
storage pool (ASP) group name.</strong> The name of the auxiliary storage
pool (ASP) group where storage is allocated for the library that contains
the object. The name of the ASP group is the name of the primary ASP within
the group. The following special values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be determined.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or defined basic user ASPs
(ASPs 2-32)<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Library auxiliary storage pool (ASP) number.</strong> The number of
the auxiliary storage pool (ASP) where storage is allocated for the library that
contains the object. Valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">System ASP</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">Basic user ASP</td>
</tr>
<tr>
<td align="left" valign="top"><em>33-255</em></td>
<td align="left" valign="top">Primary or secondary ASP</td>
</tr>
</table>
<p><strong>Licensed program.</strong> The name, release level, and modification
level of the licensed program if the retrieved object is part of a licensed
program. The 7-character name starts in character position 1, the version
number starts in position 8, the release level starts in position 11, and the
modification level starts in position 14. The field is blank if the retrieved
object is not a part of a licensed program.</p>
<p><strong>Object auditing value.</strong> The type of auditing for an object.
The valid 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 auditing occurs for this object when it is
read or changed regardless of the user who is accessing the object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*USRPRF</em></td>
<td align="left" valign="top">Audit this object only if the user accessing the
object is being audited. The user profile for the job is tested to determine if
auditing should be done for this object. The user profile can specify if only
change access is audited or if both read and change accesses are audited for
this object.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CHANGE</em></td>
<td align="left" valign="top">Audit all change access to this object by all
users on the system.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALL</em></td>
<td align="left" valign="top">Audit all access to this object by all users on
the system. All access is defined as a read or change operation.</td>
</tr>
<tr>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change"><em>*NOTAVL</em></td>
<td align="left" valign="top">The auditing value is not available because you
do not have either all object (*ALLOBJ) or audit (*AUDIT) special authority.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Object auxiliary storage pool (ASP) device name.</strong> The name of
the auxiliary storage pool (ASP) device where storage is allocated for the object.
<img src="delta.gif" alt="Start of change">The following special values
may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or basic user ASPs (ASPs
2-32)</td>
</tr>
</table>
<p><img src="delta.gif" alt="Start of change"><strong>Object auxiliary
storage pool (ASP) group name.</strong> The name of the auxiliary storage
pool (ASP) group where storage is allocated for the object. The name of the
ASP group is the name of the primary ASP within the group. The value returned
may be the same as the value returned for the object auxiliary storage pool
(ASP) device name field. The following special values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be
determined.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or basic user ASPs (ASPs
2-32)<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Object auxiliary storage pool (ASP) number.</strong> The number
of the auxiliary storage pool (ASP) where storage is allocated for the object.
Valid values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">System ASP</td>
</tr>
<tr>
<td align="left" valign="top"><em>2-32</em></td>
<td align="left" valign="top">Basic user ASP</td>
</tr>
<tr>
<td align="left" valign="top" nowrap><em>33-255</em></td>
<td align="left" valign="top">Primary or secondary ASP</td>
</tr>
</table>
<p><strong>Object compression status.</strong> Whether the object is compressed
or decompressed. The status is returned with one of these values:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">Compressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Permanently decompressed and compressible.</td>
</tr>
<tr>
<td align="left" valign="top"><em>X</em></td>
<td align="left" valign="top">Permanently decompressed and <em>not</em>
compressible.</td>
</tr>
<tr>
<td align="left" valign="top"><em>T</em></td>
<td align="left" valign="top">Temporarily decompressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>F</em></td>
<td align="left" valign="top">Saved with storage freed; compression status
cannot be determined.</td>
</tr>
</table>
<p><em>Temporarily</em> decompressed objects exist in both decompressed and
compressed form. <em>Permanently</em> decompressed objects exist in
decompressed form only. The system handles some decompression automatically,
depending on the type of object, the operation performed on it, and its
frequency of use. For an overview of object compression and decompression, see
the <img src="delta.gif" alt="Start of change"><a href="../rbam6/cmpdmp.htm">Compress
or decompress objects</a><img src="deltaend.gif" alt="End of change"> topic. For
details about how to explicitly compress and decompress objects, see the online help
for these commands: Compress Object (CPROBJ), Decompress Object (DCPOBJ), and
Reclaim Temporary Storage (RCLTMPSTG).</p>
<p><strong>Object domain.</strong> The domain that contains the object.
Possible values follow:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>*S</em></td>
<td align="left" valign="top">The object is in the system domain.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*U</em></td>
<td align="left" valign="top">The object is in the user domain.</td>
</tr>
</table>
<p><strong>Object level.</strong> The object control level for the created
object.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Object
overflowed auxiliary storage pool (ASP) indicator.</strong>
<img src="deltaend.gif" alt="End of change">Whether the object
overflowed the auxiliary storage pool (ASP).</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object has not overflowed the ASP.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object overflowed the ASP in which it
resides.</td>
</tr>
</table>
<p>For objects in the system auxiliary storage pool (ASP 1) or in a primary
or secondary ASP (ASPs 33-255), a 0 is always returned because it is not
possible for an object that resides in the system ASP or in a primary or
secondary ASP to overflow its ASP.</p>
<p><strong>Object owner.</strong> The name of the object owner's user
profile.</p>
<p><strong>Object restored date and time.</strong> The time at which the object
was restored, in system time-stamp format. If the object has never been
restored, the field contains hexadecimal zeros.</p>
<p><strong>Object saved date and time.</strong> The time at which the object
was saved, in system time-stamp format. If the object has never been saved, the
field contains hexadecimal zeros.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Object size.</strong> The
size of the object in units of the object size multiplier. The object size is equal
to or smaller than the object size multiplied by the object size multiplier. The
object size includes the value returned in the primary associated space size field
(key 0416).<img src="deltaend.gif" alt="End of change"></p>
<p><img src="delta.gif" alt="Start of change"><strong>Object size
multiplier.</strong> The value to multiply the object size by to get the
object size in bytes.</p>
<p>The following values can be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The object size is smaller than
1&nbsp;000&nbsp;000&nbsp;000 bytes.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1024</em></td>
<td align="left" valign="top">The object size is between 1&nbsp;000&nbsp;000&nbsp;000
and 1&nbsp;023&nbsp;999&nbsp;998&nbsp;976 bytes.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1048576</em></td>
<td align="left" valign="top">The object size is larger than
1&nbsp;023&nbsp;999&nbsp;998&nbsp;976 bytes.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><img src="delta.gif" alt="Start of change"><strong>Optimum
space alignment.</strong> A 1-character variable
that indicates whether the space associated with the object has been
optimally aligned. Optimum alignment may allow for better performance
of applications that use the object. The possible values are as
follows:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The space associated with the object has not
been optimally aligned.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The space associated with the object has
been optimally aligned.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">There is not a space associated with the object.<img
src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Order in library list.</strong> The order in which the library
appears in the entire library list. If the library is in the library list more
than once, the order of the first occurrence of the library is returned. If the
library is not in the library list, then 0 is returned for the order
number.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Primary associated space
size.</strong> The size, in bytes, of the primary associated space used by the
object. If the object does not have an associated space, the size
is 0.<img src="deltaend.gif" alt="End of change">
</p>
<p><strong>Primary group.</strong> The name of the user who is the primary
group for the object. If no primary group exists for the object, this field
contains a value of *NONE.</p>
<p><strong>Program temporary fix (PTF).</strong> The number of the program
temporary fix (PTF) number that caused this object to be replaced. This field
is blank if the object was not changed because of a PTF.</p>
<p><strong>Reserved.</strong> An unused field. This field contains hexadecimal
zeros.</p>
<p><strong>Reset date and time.</strong> The date the days-used count was last
reset to zero, in system time-stamp format. If the days-used count has never
been reset, the field contains hexadecimal zeros.</p>
<p><strong>Save active date and time.</strong> The date and time the object was
last saved when the SAVACT(*LIB, *SYSDFN, or *YES) save operation was
specified, in system time-stamp format. This parameter is found on the Save
Library (SAVLIB), Save Object (SAVOBJ), Save Changed Object (SAVCHGOBJ), and
Save Document Library Object (SAVDLO) CL commands. If the object has never been
saved or if SAVACT(*NO) was specified on the last save operation for the
object, the field contains hexadecimal zeros.</p>
<p><strong>Save command.</strong> The command used to save the object. The
field is blank if the object was not saved.</p>
<p><strong>Save device.</strong> The type of device to which the object was
last saved. The field is *SAVF if the last save operation was to a save file.
The field is *DKT if the last save operation was to diskette. The field is *TAP
if the last save operation was to tape. The field is *OPT if the last save
operation was to optical. The field is blank if the object was not saved.</p>
<p><strong>Save file library name.</strong> The name of the library that
contains the save file if the object was saved to a save file. The field is
blank if the object was not saved to a save file.</p>
<p><strong>Save file name.</strong> The name of the save file if the object was
saved to a save file. The field is blank if the object was not saved to a save
file.</p>
<p><strong>Save label.</strong> The file label used when the object was saved.
The variable is blank if the object was not saved to tape, diskette, or
optical. The value of the variable corresponds to the value specified for the
LABEL parameter on the command used to save the object.</p>
<p><strong>Save sequence number.</strong> The tape sequence number assigned
when the object was saved on tape. The field contains zeros if the object was
not saved.</p>
<p><strong>Saved size.</strong> The
size of the object in bytes of storage at the time of the last save operation. The
saved size is equal to or smaller than the saved size multiplied by the saved size
multiplier. The size includes the size of the primary associated space, if one
exists. The field contains zeros if the object was not saved.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Saved size
multiplier.</strong> The value to multiply the saved size
by to get the saved size in bytes.</p>
<p>The following values can be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The saved size is smaller than
1&nbsp;000&nbsp;000&nbsp;000 bytes.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1024</em></td>
<td align="left" valign="top">The saved size is between 1&nbsp;000&nbsp;000&nbsp;000
and 1&nbsp;023&nbsp;999&nbsp;998&nbsp;976 bytes.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1048576</em></td>
<td align="left" valign="top">The saved size is larger than
1&nbsp;023&nbsp;999&nbsp;998&nbsp;976 bytes.
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><strong>Save volume ID.</strong> The tape, diskette, or optical volumes that
are used for saving the object. The variable returns a maximum of ten
6-character volumes. The volume IDs begin in character positions 1, 8, 15, 22,
29, 36, 43, 50, 57, and 64. Each volume ID entry is separated by a single
character. If the object was saved in parallel format, the separator character
contains a 2 before the first volume in the second media file, a 3 before the
third media file, and so on, up to a 0 before the tenth media file. Otherwise,
the separator characters are blank. If more than 10 volumes are used and the
object was saved in serial format, 1 is returned in the 71st character of the
variable. If the object was saved in parallel format, a 2 is returned in the
71st character of the variable. Otherwise, the 71st character is blank. The
field is blank if the object was last saved to a save file or if it was never
saved.</p>
<p><strong>Source file library name.</strong> The name of the library that
contains the source file that is used to create the object. The field is blank
if no source file created the object.</p>
<p><strong>Source file member name.</strong> The name of the member in the
source file. The field is blank if no source file created the object.</p>
<p><strong>Source file name.</strong> The name of the source file that is used
to create the object. The field is blank if no source file created the
object.</p>
<p><strong>Source file updated date and time.</strong> The date and time the
member in the source file was last updated. This field is in the CYYMMDDHHMMSS
format:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em>
and 1 indicates years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>YY</em></td>
<td align="left" valign="top">Year</td>
</tr>
<tr>
<td align="left" valign="top"><em>MM</em></td>
<td align="left" valign="top">Month</td>
</tr>
<tr>
<td align="left" valign="top"><em>DD</em></td>
<td align="left" valign="top">Day</td>
</tr>
<tr>
<td align="left" valign="top"><em>HH</em></td>
<td align="left" valign="top">Hour</td>
</tr>
<tr>
<td align="left" valign="top"><em>MM</em></td>
<td align="left" valign="top">Minute</td>
</tr>
<tr>
<td align="left" valign="top"><em>SS</em></td>
<td align="left" valign="top">Second</td>
</tr>
</table>
<p>The field is blank if no source file created the object.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Starting journal receiver
library name.</strong> The name of the library that contains the starting journal
receiver for apply. This field is blank if the object has never been journaled.
<img src="deltaend.gif" alt="End of change"></p>
<p><img src="delta.gif" alt="Start of change"><strong>Starting journal
receiver library auxiliary storage pool (ASP) device name.</strong> The name of the
auxiliary storage pool (ASP) device where storage is allocated for the library
that contains the starting journal receiver for apply. This field is blank if the
object has never been journaled. The following special
values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be determined.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or defined basic
user ASPs (ASPs 2-32)<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><img src="delta.gif" alt="Start of change"><strong>Starting journal
receiver library primary auxiliary storage pool (ASP) group name.</strong> The
name of the auxiliary storage pool (ASP) group where storage is allocated for
the starting journal receiver library. The name of the ASP group is the name of
the primary ASP within the group. The value returned may be the same as the
value returned for the starting journal receiver library auxiliary storage pool
(ASP) device name field. This field is blank if the object has never been
journaled. The following special values may be returned:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device cannot be determined.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">System ASP (ASP 1) or defined basic
user ASPs (ASPs 2-32)<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<p><img src="delta.gif" alt="Start of change"><strong>Starting journal
receiver name for apply.</strong> The name of the oldest journal receiver
needed to successfully use the Apply Journaled Changes (APYJRNCHG) or Remove
Journaled Changes (RMVJRNCHG) command. This field is blank if the
object has never been journaled.</p>
<p>For a file object, the journal receiver will contain the entry representing
the start-of-the-save operation. However, if there are members within the
file that contain partial transactions, then those members may require an
earlier journal receiver. Use the Display File Description (DSPFD) command
to determine the partial transaction state of the members of the file.
<img src="deltaend.gif" alt="End of change"></p>
<p><strong>Storage.</strong> The storage status of the object data. *FREE
indicates the object data is freed and the object is suspended. *KEEP indicates
the object data is not freed and the object is not suspended.</p>
<p><strong>System level.</strong> The level of the operating system when the
object was created. The field has a VvvRrrMmm format, where:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>Vvv</em></td>
<td align="left" valign="top">The character V is followed by a 2-character
version number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Rrr</em></td>
<td align="left" valign="top">The character R is followed by a 2-character
release level.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Mmm</em></td>
<td align="left" valign="top">The character M is followed by a 2-character
modification level.</td>
</tr>
</table>
<p><strong>System where object was created.</strong> The name of the system on
which the object was created.</p>
<p><strong>Text description.</strong> The text description of the object. The
field is blank if no text description is specified.</p>
<p><strong>Usage information updated.</strong> Whether the object usage
information is updated for this object type. The indicator is returned as Y
(Yes) or N (No).</p>
<p><strong>User changed.</strong> Whether the user program was changed.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The object was not changed by the user.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The user changed the object.</td>
</tr>
</table>
<p><strong>User-defined attribute.</strong> A characteristic of an object type.
This field is set by the user while using the Change Object Description
(QLICOBJD) API.</p>
<br>
<h3>Error Messages</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">CPFB8ED E</td>
<td align="left" valign="top">Device description &amp;1 not correct for
operation.</td>
</tr>
<tr>
<td align="left" valign="top">CPF136A E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 not active.</td>
</tr>
<tr>
<td align="left" valign="top">CPF18BF E</td>
<td align="left" valign="top">Thread &amp;1 not found.</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">CPF21AA E</td>
<td align="left" valign="top">Number of statuses must be between 1 and 5.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21AB E</td>
<td align="left" valign="top">Status value &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21AC E</td>
<td align="left" valign="top">Length or offset value &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21A7 E</td>
<td align="left" valign="top">Authority value &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21A8 E</td>
<td align="left" valign="top">Must specify *ANY as only authority value.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21A9 E</td>
<td align="left" valign="top">Select or omit value &amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top"><img src="delta.gif" alt="Start of change">
CPF2173 E</td>
<td align="left" valign="top">Value for ASPDEV not valid with special value for
library.<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top">CPF218C E</td>
<td align="left" valign="top">&amp;1 not a primary or secondary ASP.</td>
</tr>
<tr>
<td align="left" valign="top">CPF218D E</td>
<td align="left" valign="top">&amp;1 not a primary ASP when *ASPGRP specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF22F7 E</td>
<td align="left" valign="top">Number of authorities must be between 1 and
&amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF22F9 E</td>
<td align="left" valign="top">Call level &amp;1 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">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">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">CPF3C3A E</td>
<td align="left" valign="top">Value for parameter &amp;2 for API &amp;1 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C3B E</td>
<td align="left" valign="top">Value for parameter &amp;2 for API &amp;1 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C31 E</td>
<td align="left" valign="top">Object type &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C36 E</td>
<td align="left" valign="top">Number of parameters, &amp;1, entered for this
API was not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C51 E</td>
<td align="left" valign="top">Internal job identifier not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C52 E</td>
<td align="left" valign="top">Internal job identifier no longer valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C53 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C55 E</td>
<td align="left" valign="top">Job &amp;3/&amp;2/&amp;1 does not exist.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C57 E</td>
<td align="left" valign="top">Not authorized to retrieve job information.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C58 E</td>
<td align="left" valign="top">Job name specified is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C59 E</td>
<td align="left" valign="top">Internal identifier is not blanks and job name is
not *INT.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top"><img src="delta.gif" alt="Start of change">
CPF9F81 E</td>
<td align="left" valign="top">API &amp;1 requires too much information to be
collected prior to sorting.<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="left" valign="top"><img src="delta.gif" alt="Start of change">
CPF980A E</td>
<td align="left" valign="top">&amp;1 routine in &amp;2 module detected an exception.
The exception return code was &amp;3.<img src="deltaend.gif" alt="End of change"></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">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9814 E</td>
<td align="left" valign="top">Device &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">CPF9825 E</td>
<td align="left" valign="top">Not authorized to device &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">
CPF9833 E</td>
<td align="left" valign="top">*CURASPGRP or *ASPGRPPRI specified and thread has
no ASP group.</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>
<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">GUI0083 E</td>
<td align="left" valign="top">&amp;1 is not valid for number of fields to
return.</td>
</tr>
</table>
<br>
<hr>
API introduced: V3R6
<hr>
<table align="center" cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"obj1.htm">Object APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</body>
</html>