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

2212 lines
70 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Retrieve Object Description (QUSROBJD) 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 -->
<!-- QUSROBJD SCRIPT A converted by B2H R4.1 (346) (CMS) by PMHALL at -->
<!-- RCHVMW2 on 7 Oct 1998 at 09:34:47 -->
<!-- Change history - the revision tagging used for changes relating to -->
<!-- DCR 98416 is v5r2delta LAW -->
<!-- File cleanup completed Feb 2002 by v2cdijab -->
<!-- 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>Retrieve Object Description (QUSROBJD) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">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">5</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>
</table>
<br>
&nbsp;&nbsp;Optional Parameter Group 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">6</td>
<td align="left" valign="top" width="50%">Error code</td>
<td align="left" valign="top" width="20%">I/O</td>
<td align="left" valign="top" width="20%">Char(*)</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%">7</td>
<td align="left" valign="top" width="50%">Auxiliary storage pool (ASP)
control</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)<br>
</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve Object Description (QUSROBJD) API lets you retrieve object
information about a specific object. This information is similar to the
information returned using the Display Object Description (DSPOBJD)
command or Retrieve Object Description (RTVOBJD) command.</p>
<p>You can use the QUSROBJD API to:</p>
<ul>
<li>Determine who owns which objects in the specified libraries</li>
<li>Provide disk management functions based on the object's size and use</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>
<li>Work with a list of objects created by the QUSLOBJ API</li>
</ul>
<br>
<h3>Authorities and Locks</h3>
<p><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 or
*ALLAVL is specified for the auxiliary storage pool (ASP) control
parameter.<br>
<br>
</dd>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE<br>
<br>
</dd>
<dt><em>Object Authority for
Non-*FILE Objects</em></dt>
<dd>Any authority other than *EXCLUDE<br>
<br>
</dd>
<dt><em>Object Authority for
*FILE Objects</em></dt>
<dd>*OBJOPR<br>
<br>
</dd>
<dt><em>Library Lock</em></dt>
<dd>None<br>
<br>
</dd>
<dt><em>Object Lock</em></dt>
<dd>*SHRRD</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the requested information. It can be smaller
than the format requested as long as the next parameter, length of receiver
variable, specifies the length correctly. When this variable is smaller than
the format, the API returns only the data that the variable can hold.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable. The minimum length is 8 bytes. Do not
specify a length that is longer than the receiver variable; the results are
unpredictable.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The content and format of the information returned for each specified
member. The possible format names are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>OBJD0100</em></td>
<td align="left" valign="top">Basic information (fastest)</td>
</tr>
<tr>
<td align="left" valign="top"><em>OBJD0200</em></td>
<td align="left" valign="top">Information similar to that displayed by the
programming development manager (PDM)</td>
</tr>
<tr>
<td align="left" valign="top"><em>OBJD0300</em></td>
<td align="left" valign="top">Service information</td>
</tr>
<tr>
<td align="left" valign="top"><em>OBJD0400</em></td>
<td align="left" valign="top">Full information (slowest)</td>
</tr>
</table>
<p>These are described in the following sections.</p>
</dd>
<dt><strong>Object and library name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The object for which you want to retrieve information, and the library in
which it is located. The first 10 characters contain the object name, and the
second 10 characters contain the library name. You can use these special values
for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">
The 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>
</table>
<br>
</dd>
<dt><strong>Object type</strong></dt>
<dd>INPUT; CHAR(10)
<p>The type of object for which you want to retrieve the information. You can
only specify external object types. 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>
</dl>
<br>
<h3>Optional Parameter Group
1</h3>
<dl>
<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
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.
See <a href="#HDRXXASPF1">Auxiliary Storage Pool (ASP) Control Format</a> for
details. 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.</p>
</dd>
</dl>
<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=
"#HDRADDINF">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="HDRADDINF">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 field must be an asterisk (*) if optional parameter group 2
is specified when *CURLIB or *LIBL 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 that are currently part of the thread's
library name space will be searched to locate the library. This includes the
system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and, if the thread
has an ASP group, the primary and secondary ASPs in the thread's ASP
group.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*SYSBAS</em></td>
<td align="left" valign="top">The system ASP (ASP 1) and all defined basic user
ASPs (ASPs 2-32) will be searched to locate the library. No primary or
secondary ASPs will be searched, even if the thread has an ASP group.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*CURASPGRP</em></td>
<td align="left" valign="top">If the thread has an ASP group, the primary and
secondary ASPs in the ASP group will be searched to locate the library. The
system ASP (ASP 1) and defined basic user ASPs (ASPs 2-32) will not be
searched.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*ALLAVL</em></td>
<td align="left" valign="top">All available ASPs will be searched. 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'). The ASP groups are searched in alphabetical order by the primary
ASP. The system ASP and all defined basic user ASPs are searched after the ASP
groups. ASPs and libraries to which the user is not authorized are bypassed and
no authority error messages are sent. The search ends when the first object is
found of the specified object name, library name and object type. If the user
is not authorized to the object, an authority error message is sent.</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="HDROBJD1">OBJD0100 Format</a></h3>
<p>The following information is returned for the OBJD0100 format. For detailed
descriptions of the fields in the table, see <a href="#HDRLOBJDDE">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object name</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object library name</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object type</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Return library</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Object auxiliary storage
pool (ASP) number<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Object owner</td>
</tr>
<tr>
<td align="center" valign="top">62</td>
<td align="center" valign="top">3E</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Object domain</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Creation date and time</td>
</tr>
<tr>
<td align="center" valign="top">77</td>
<td align="center" valign="top">4D</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Object change date and time</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJD2">OBJD0200 Format</a></h3>
<p>The following information is returned for the OBJD0200 format. For detailed
descriptions of the fields in the table, see <a href="#HDRLOBJDDE">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 the OBJD0100
format</td>
</tr>
<tr>
<td align="center" valign="top">90</td>
<td align="center" valign="top">5A</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">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Text description</td>
</tr>
<tr>
<td align="center" valign="top">150</td>
<td align="center" valign="top">96</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">160</td>
<td align="center" valign="top">A0</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">170</td>
<td align="center" valign="top">AA</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Source file member name</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJD3">OBJD0300 Format</a></h3>
<p>The following information is returned for the OBJD0300 format. For detailed
descriptions of the fields in the table, see <a href="#HDRLOBJDDE">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 the OBJD0200
format</td>
</tr>
<tr>
<td align="center" valign="top">180</td>
<td align="center" valign="top">B4</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">193</td>
<td align="center" valign="top">C1</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Object saved date and time</td>
</tr>
<tr>
<td align="center" valign="top">206</td>
<td align="center" valign="top">CE</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Object restored date and time</td>
</tr>
<tr>
<td align="center" valign="top">219</td>
<td align="center" valign="top">DB</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">229</td>
<td align="center" valign="top">E5</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">237</td>
<td align="center" valign="top">ED</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Reset date</td>
</tr>
<tr>
<td align="center" valign="top">244</td>
<td align="center" valign="top">F4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size</td>
</tr>
<tr>
<td align="center" valign="top">248</td>
<td align="center" valign="top">F8</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">252</td>
<td align="center" valign="top">FC</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Storage</td>
</tr>
<tr>
<td align="center" valign="top">262</td>
<td align="center" valign="top">106</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save command</td>
</tr>
<tr>
<td align="center" valign="top">272</td>
<td align="center" valign="top">110</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">343</td>
<td align="center" valign="top">157</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Save device</td>
</tr>
<tr>
<td align="center" valign="top">353</td>
<td align="center" valign="top">161</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">363</td>
<td align="center" valign="top">16B</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">373</td>
<td align="center" valign="top">175</td>
<td align="left" valign="top">CHAR(17)</td>
<td align="left" valign="top">Save label</td>
</tr>
<tr>
<td align="center" valign="top">390</td>
<td align="center" valign="top">186</td>
<td align="left" valign="top">CHAR(9)</td>
<td align="left" valign="top">System level</td>
</tr>
<tr>
<td align="center" valign="top">399</td>
<td align="center" valign="top">18F</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Compiler</td>
</tr>
<tr>
<td align="center" valign="top">415</td>
<td align="center" valign="top">19F</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Object level</td>
</tr>
<tr>
<td align="center" valign="top">423</td>
<td align="center" valign="top">1A7</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">User changed</td>
</tr>
<tr>
<td align="center" valign="top">424</td>
<td align="center" valign="top">1A8</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Licensed program</td>
</tr>
<tr>
<td align="center" valign="top">440</td>
<td align="center" valign="top">1B8</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">450</td>
<td align="center" valign="top">1C2</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authorized program analysis report (APAR)</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDROBJD4">OBJD0400 Format</a></h3>
<p>The following information is returned for the OBJD0400 format. For detailed
descriptions of the fields in the table, see <a href="#HDRLOBJDDE">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 the OBJD0300
format</td>
</tr>
<tr>
<td align="center" valign="top">460</td>
<td align="center" valign="top">1CC</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Last-used date</td>
</tr>
<tr>
<td align="center" valign="top">467</td>
<td align="center" valign="top">1D3</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">468</td>
<td align="center" valign="top">1D4</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">472</td>
<td align="center" valign="top">1D8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Object size</td>
</tr>
<tr>
<td align="center" valign="top">476</td>
<td align="center" valign="top">1DC</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">480</td>
<td align="center" valign="top">1E0</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">481</td>
<td align="center" valign="top">1E1</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">482</td>
<td align="center" valign="top">1E2</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">483</td>
<td align="center" valign="top">1E3</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">493</td>
<td align="center" valign="top">1ED</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">494</td>
<td align="center" valign="top">1EE</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Save active date and time</td>
</tr>
<tr>
<td align="center" valign="top">507</td>
<td align="center" valign="top">1FB</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">517</td>
<td align="center" valign="top">205</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Primary group</td>
</tr>
<tr>
<td align="center" valign="top">527</td>
<td align="center" valign="top">20F</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal status</td>
</tr>
<tr>
<td align="center" valign="top">528</td>
<td align="center" valign="top">210</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Journal name</td>
</tr>
<tr>
<td align="center" valign="top">538</td>
<td align="center" valign="top">21A</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">548</td>
<td align="center" valign="top">224</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Journal images</td>
</tr>
<tr>
<td align="center" valign="top">549</td>
<td align="center" valign="top">225</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">550</td>
<td align="center" valign="top">226</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Journal start date and time</td>
</tr>
<tr>
<td align="center" valign="top">563</td>
<td align="center" valign="top">233</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Digitally signed</td>
</tr>
<tr>
<td align="center" valign="top">564</td>
<td align="center" valign="top">234</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Saved size in units</td>
</tr>
<tr>
<td align="center" valign="top">568</td>
<td align="center" valign="top">238</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">572</td>
<td align="center" valign="top">23C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Library auxiliary storage
pool (ASP) number<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">576</td>
<td align="center" valign="top">240</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Object auxiliary storage
pool (ASP) device name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">586</td>
<td align="center" valign="top">24A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">
<img src="delta.gif" alt="Start of change">Library auxiliary storage
pool (ASP) device name<img src="deltaend.gif" alt="End of change"></td>
</tr>
<tr>
<td align="center" valign="top">596</td>
<td align="center" valign="top">254</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">597</td>
<td align="center" valign="top">255</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">
<img src="delta.gif" alt="Start of change">598</td>
<td align="center" valign="top">256</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">600</td>
<td align="center" valign="top">258</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">604</td>
<td align="center" valign="top">25C</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">605</td>
<td align="center" valign="top">25D</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">615</td>
<td align="center" valign="top">267</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">625</td>
<td align="center" valign="top">271</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">635</td>
<td align="center" valign="top">27B</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">645</td>
<td align="center" valign="top">285</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">655</td>
<td align="center" valign="top">28F</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">665</td>
<td align="center" valign="top">299</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Reserved
<img src="deltaend.gif" alt="End of change"></td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRLOBJDDE">Field Descriptions</a></h3>
<p><strong>Allow change by program.</strong> A 1-character variable that is
used to return the allow change by program flag. A 1 is returned if the object
can be changed with the Change Object Description (QLICOBJD) API. A 0 is
returned if the object cannot be changed with the API.</p>
<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>Bytes available.</strong> The length of all data available to
return. All available data is returned if enough space is provided.</p>
<p><strong>Bytes returned.</strong> The length of the data actually
returned.</p>
<p><strong>Changed by program.</strong> A 1-character variable that is used to
return the changed by program flag. A 1 is returned if the object has been
changed with the QLICOBJD API. A 0 is returned if the object has not been
changed by the API.</p>
<p><strong>Compiler.</strong> The licensed program identifier, version number,
release level, and modification level of the compiler.</p>
<p>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 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>The field is blank if you do not compile the program.</p>
<p><strong>Creation date and time.</strong> The date and time the object was
created. The creation date and time 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><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>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. The format is the same as the creation date
description. This field is blank 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 is
currently being journaled; the value is 0 if the object is currently not being
journaled.</p>
<p><strong>Last-used date.</strong> The date the object was last used. This
field is in the CYYMMDD format, which is the same format used for the reset
date. If the object has no last-used date, the field is blank.</p>
<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><img src="delta.gif" alt="Start of change">Library auxiliary storage
pool (ASP) device name.</strong><img src="deltaend.gif" alt="End of change"> The
name of the auxiliary storage pool (ASP) device where storage is allocated for the
library that contains the object. The following special values may be
returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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)</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 value returned may be
the same as the value returned for the library auxiliary storage pool
(ASP) device name field. The following special values may be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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><img src="delta.gif" alt="Start of change">Library auxiliary
storage pool (ASP) number.</strong><img src="deltaend.gif" alt="End of change">
The number of the auxiliary storage pool (ASP) where storage is allocated for the
library that contains the object. A value from one of the following ranges is
returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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>Object auditing value.</strong> A 10-character variable that is used
to return 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 current user is being
audited. The current user 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><img src="delta.gif" alt="Start of change">Object auxiliary storage
pool (ASP) device name.</strong><img src="deltaend.gif" alt="End of change"> The
name of the auxiliary storage pool (ASP) device where storage is allocated for the
object. The following special values may be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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)</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="15 85" -->
<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><img src="delta.gif" alt="Start of change">Object auxiliary storage
pool (ASP) number.</strong><img src="deltaend.gif" alt="End of change"> The
number of the auxiliary storage pool (ASP) where storage is allocated for the
object. A value from one of the following ranges is returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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>Object change date and time.</strong> The date and time the object
was last changed. The format is the same as the creation date description, or
it is blank if the object was not changed.</p>
<p><strong>Object compression status.</strong> Whether the object is compressed
or decompressed. The status is returned in a 1-character variable 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. The
value is *U if the object is in the user domain, or *S if the object is in the
system domain.</p>
<p><strong>Object level.</strong> The object control level for the created
object.</p>
<p><strong>Object library name.</strong> The name of the library that contains the
object.</p>
<p><strong>Object name.</strong> The name of the 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"> The
1-character variable that returns the object overflowed auxiliary storage pool
(ASP) indicator. The value is 1 if the object overflowed the ASP in which it
resides; the value is 0 if the object has not overflowed the ASP. For objects in
the system ASP (ASP 1) or in a primary or secondary ASP (ASPs 33-255), a 0 is
always returned because an object that resides in the system ASP or in a primary
or secondary ASP cannot 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 date and time the object
was last restored. The format is the same as for the creation date, or it is
blank if the object was never restored.</p>
<p><strong>Object saved date and time.</strong> The date and time the object
was last saved. The format is the same as for the creation date description, or
it is blank if the object was never saved.</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 (format OBJL0400).<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><strong>Object type.</strong> The object type. 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><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 manipulate 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><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><img src="delta.gif" alt="Start of change"><strong>Reserved.</strong> An
unused field. It contains hexadecimal zeros.
<img src="deltaend.gif" alt="End of change"></p>
<p><strong>Reset date.</strong> The date the days-used count was last reset to
0. The reset date field is in the CYYMMDD 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>
</table>
<p>If the days-used count was not reset, the date is blank.</p>
<p><strong>Return library.</strong> The name of the library that contains the
object if *LIBL or *CURLIB is specified for the library name on the object
parameter.</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. The format is the same as
for the creation date description, or it is blank if the object was never saved
or if SAVACT(*NO) was specified on the last save operation for the object.</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 or OPTFILE 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. If the object was not saved to tape, the
field contains zeros.</p>
<p><img src="delta.gif" alt="Start of change"><strong>Saved size.</strong> The
size of the object in bytes of storage at the time of the last save operation. The
field contains zeros if the object was not saved. This field will contain a size up
to 2 GB. If the saved size is actually greater than 2GB, -1 is returned in this field.
Fields saved size in units and saved size multiplier should be used to get the saved
size that is larger than 2GB.<img src="deltaend.gif" alt="End of change"></p>
<p><img src="delta.gif" alt="Start of change"><strong>Saved size
in units.</strong> The size of the object in units of the saved size multiplier
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 field contains
zeros if the object was not saved.
<img src="deltaend.gif" alt="End of change"></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="15 85" -->
<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 10
six-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 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 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. The field is in the same format as
the creation time and date. The field is blank if no source file created the
object.</p>
<p><img src="delta.gif" alt="Start of change"> 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><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="15 85" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device can not 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 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 starting journal receiver for apply. 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="15 85" -->
<tr>
<td align="left" valign="top"><em>*N</em></td>
<td align="left" valign="top">The name of the ASP device can not 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 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 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.</p>
<p>The field has a VvvRrrMmm format where:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<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. A
character 1 is returned if the user changed the object. If the object was not
changed by the user, the field is character 0.</p>
<p><strong>User-defined attribute.</strong> Further defines an object type.
This field is set by the user while using the QLICOBJD API.</p>
<br>
<h3>Error Messages</h3>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top" nowrap>Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPFB8ED E</td>
<td align="left" valign="top">Device description &amp;1 not correct for
operation.</td>
</tr>
<tr>
<td align="left" valign="top">CPF21AC E</td>
<td align="left" valign="top">Length or displacement value &amp;1 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2101 E</td>
<td align="left" valign="top">Object type *&amp;1 not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2115 E</td>
<td align="left" valign="top">Object &amp;1 in &amp;2 type *&amp;3
damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2150 E</td>
<td align="left" valign="top">Object information function failed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2151 E</td>
<td align="left" valign="top">Operation failed for &amp;2 in &amp;1 type
*&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2173 E</td>
<td align="left" valign="top">Value for ASPDEV not valid with special value for
library.</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">CPF2451 E</td>
<td align="left" valign="top">Message queue &amp;1 is allocated to another
job.</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">CPF3C07 E</td>
<td align="left" valign="top">Error occurred while retrieving information from
object &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C20 D</td>
<td align="left" valign="top">Error occurred with receiver variable
specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C21 D</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C24 D</td>
<td align="left" valign="top">Length of the receiver variable is not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPD3C31 D</td>
<td align="left" valign="top">Object type &amp;1 is not valid.</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">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is 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">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">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3202 E</td>
<td align="left" valign="top">File &amp;1 in library &amp;2 in use.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3203 E</td>
<td align="left" valign="top">Cannot allocate object for file &amp;1 in
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF36F7 E</td>
<td align="left" valign="top">Message queue QSYSOPR is allocated to another
job.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8100 E</td>
<td align="left" valign="top">All CPF81xx messages could be returned. xx is
from 01 to FF.</td>
</tr>
<tr>
<td align="left" valign="top">CPF980B E</td>
<td align="left" valign="top">Object &amp;1 in library &amp;2 not
available.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list
deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library
list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9811 E</td>
<td align="left" valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9812 E</td>
<td align="left" valign="top">File &amp;1 in library &amp;2 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">CPF9821 E</td>
<td align="left" valign="top">Not authorized to program &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9822 E</td>
<td align="left" valign="top">Not authorized to file &amp;1 in library
&amp;2.</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">CPF9831 E</td>
<td align="left" valign="top">Cannot assign device &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>
</table>
<br>
<hr>
API introduced: V1R3
<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>