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

1597 lines
44 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>Retrieve User Authority to Object (QSYRUSRA) 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. -->
<!-- Sec SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 17 Feb 1999 at 11:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- Edited by Kersten Jan 02 -->
<!--End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<a name="Top_Of_Page"></a>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>Retrieve User Authority to Object (QSYRUSRA) API</h2>
<div class="box" style="width: 80%;">
<br>
&nbsp;&nbsp;Required Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Receiver variable</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Receiver variable length</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">User profile name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">Qualified object name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">6</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">7</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%">8</td>
<td align="left" valign="top" width="50%">ASP device</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
</table>
&nbsp;&nbsp;Optional Parameter Group 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">9</td>
<td align="left" valign="top" width="50%">Path name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="left" valign="top">Length of Path name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Retrieve User Authority to Object (QSYRUSRA) API returns a specific
user's authority for an object to the caller.</p>
<br>
<h3>Authorities and Locks</h3>
<p>The following authorities are required for the user calling this API, unless
the user profile specified is *CURRENT, the caller owns the object, or the
object is an authorization list:</p>
<ul>
<li>*OBJMGT authority to the object specified.</li>
<li>*READ authority to the user profile specified (unless *PUBLIC is
specified).</li>
<li>*USE authority to the Auxiliary Storage Pool Device.</li>
</ul>
<p>If previous programs in the program stack adopt their owner's authority, the
adopted authority for the current program is the accumulated adopted authority
from all other programs in the program stack that adopt authority. Adopted
authority is only valid when the user specified is *CURRENT.
If a path name
is specified, adopted authority is not used when accessing the path object.
</p>
<p>If a path name is specified, *X authority is required for each directory in
the path.</p>
<p>If a path name is specified, adopted authority is not used to locate the
object but adopted authority will be used when authority information is
retrieved for the object.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable used to return the user's authority to the object. This
variable must be at least 8 bytes long.</p>
</dd>
<dt><strong>Receiver variable length</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable. The variable must be at least 8 bytes
long.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The name of the format used to return the authority information.</p>
<p>You can specify the following special value:</p>
<table cellpadding="5">
<!-- cols="30 70" -->
<tr>
<td valign="top"><em><a href="#HDRGHI">USRA0100</a></em></td>
<td valign="top">All authority information is returned.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>User profile name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the user whose object authority is returned.</p>
<p>You can specify the following special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*CURRENT</em></td>
<td valign="top">The authority of the user currently running to the specified
object is returned.</td>
</tr>
<tr>
<td valign="top"><em>*PUBLIC</em></td>
<td valign="top">The public authority for the object is returned.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified object name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The name of the object whose authority is returned. The first 10 characters
specify the object name, and the second 10 characters specify the library.</p>
<p>If you want to use a path
name instead of a qualified object name, then use this special value for the
object name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*OBJPATH</em></td>
<td valign="top">Use the optional parameters, path name and path name length,
to specify the object name. When this special value is specified, the library
name must be blanks.</td>
</tr>
</table>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*CURLIB</em></td>
<td valign="top">The current library is used to locate the object. If there is
no current library, QGPL (general purpose library) is used.</td>
</tr>
<tr>
<td valign="top"><em>*LIBL</em></td>
<td valign="top">The library list is used to locate the object.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Object type</strong></dt>
<dd>INPUT; CHAR(10)
<p>The type of object for which authority information is returned.
The object
type must be blank if *OBJPATH is specified for the qualified object name.
</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3>Optional Parameter Group 1</h3>
<dl>
<dt><strong>ASP device</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the auxiliary storage pool (ASP) device in which to search for
the library that contains the object.
If *OBJPATH is specifed for the qualifed object name, the ASP device must be *.
</p>
<p>The valid values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><strong>*</strong></td>
<td valign="top">All ASPs associated with the job will be searched. This is the
default value if the parameter is not specified.</td>
</tr>
<tr>
<td valign="top"><em>*SYSBAS</em></td>
<td valign="top">The system ASP and all basic user ASPs will be searched.</td>
</tr>
<tr>
<td valign="top"><em>*ALL</em></td>
<td valign="top">All ASPs that are currently available will be searched.</td>
</tr>
<tr>
<td valign="top"><em>ASP device name</em></td>
<td valign="top">The specified ASP will be searched.</td>
</tr>
</table>
<p>If *CURLIB or *LIBL is specified for the library then the ASP device
parameter must be specified as <strong>*</strong>.</p>
<br>
</dd>
</dl>
<h3>Optional Parameter
Group 2</h3>
<dl>
<dt><strong>Path name</strong></dt>
<dd>INPUT; CHAR(*)
<p>The object name, specified as a path name. This parameter is assumed to be
represented in the coded character set identifier (CCSID) currently in effect
for the job. If the CCSID of the job is 65535, this parameter is assumed to be
represented in the default CCSID of the job.</p>
<p>If the length of the path name is -1, then this parameter is assumed to
be a Qlg_Path_Name_T structure that contains a path name
or a pointer to a path name. For more information on the Qlg_Path_Name_T
structure, see <a href="../apiref/pns.htm">Path name format</a>.</p>
</dd>
<dt><strong>Length of path name</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the path name in bytes.
If the length is -1, the
path name parameter is assumed to be a Qlg_Path_name_T structure.
This value must be zero if no
path name is specified.</p>
</dd>
</dl>
<br>
<h3><a name="HDRDEF">Receiver Variable Description</a></h3>
<p>The following tables describe the order and format of the data returned in
the receiver variable. For detailed descriptions of the fields in the tables,
see <a href="#HDRJKL5">Field Descriptions</a>.</p>
<h4><a name="HDRGHI">USRA0100 Format</a></h4>
<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 authority / Data authority</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Authorization list management</td>
</tr>
<tr>
<td align="center" valign="top">19</td>
<td align="center" valign="top">13</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object operational</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object management</td>
</tr>
<tr>
<td align="center" valign="top">21</td>
<td align="center" valign="top">15</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object existence</td>
</tr>
<tr>
<td align="center" valign="top">22</td>
<td align="center" valign="top">16</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data read</td>
</tr>
<tr>
<td align="center" valign="top">23</td>
<td align="center" valign="top">17</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data add</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data update</td>
</tr>
<tr>
<td align="center" valign="top">25</td>
<td align="center" valign="top">19</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data delete</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Authorization list</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Authority source</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Some adopted authority</td>
</tr>
<tr>
<td align="center" valign="top">39</td>
<td align="center" valign="top">27</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Adopted object authority</td>
</tr>
<tr>
<td align="center" valign="top">49</td>
<td align="center" valign="top">31</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted authorization list management</td>
</tr>
<tr>
<td align="center" valign="top">50</td>
<td align="center" valign="top">32</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted object operational</td>
</tr>
<tr>
<td align="center" valign="top">51</td>
<td align="center" valign="top">33</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted object management</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted object existence</td>
</tr>
<tr>
<td align="center" valign="top">53</td>
<td align="center" valign="top">35</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted data read</td>
</tr>
<tr>
<td align="center" valign="top">54</td>
<td align="center" valign="top">36</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted data add</td>
</tr>
<tr>
<td align="center" valign="top">55</td>
<td align="center" valign="top">37</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted data update</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted data delete</td>
</tr>
<tr>
<td align="center" valign="top">57</td>
<td align="center" valign="top">39</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted data execute</td>
</tr>
<tr>
<td align="center" valign="top">58</td>
<td align="center" valign="top">3A</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted object alter</td>
</tr>
<tr>
<td align="center" valign="top">69</td>
<td align="center" valign="top">45</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Adopted object reference</td>
</tr>
<tr>
<td align="center" valign="top">70</td>
<td align="center" valign="top">46</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data execute</td>
</tr>
<tr>
<td align="center" valign="top">81</td>
<td align="center" valign="top">51</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">91</td>
<td align="center" valign="top">5B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object alter</td>
</tr>
<tr>
<td align="center" valign="top">92</td>
<td align="center" valign="top">5C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object reference</td>
</tr>
<tr>
<td align="center" valign="top">93</td>
<td align="center" valign="top">5D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">ASP device name of library</td>
</tr>
<tr>
<td align="center" valign="top">103</td>
<td align="center" valign="top">67</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">ASP device name of object</td>
</tr>
<tr>
<td align="center" valign="top">113</td>
<td align="center" valign="top">71</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">116</td>
<td align="center" valign="top">74</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to group information table</td>
</tr>
<tr>
<td align="center" valign="top">120</td>
<td align="center" valign="top">78</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of group table entries returned</td>
</tr>
<tr>
<td align="center" valign="top">*</td>
<td align="center" valign="top">*</td>
<td align="left" valign="top">Char(*)</td>
<td align="left" valign="top">Group information table
repeated for each of the user's groups</td>
</tr>
</table>
<br>
<br>
<h4><a name="HDRJKL5">Field Descriptions</a></h4>
<p><strong>Adopted authorization list management.</strong> Whether the user has
adopted this authority to the object. If the user adopted the authority, this
field is Y. If not, this field is N.</p>
<p><strong>Adopted data add.</strong> Whether the user has adopted this
authority to the object. If the user has adopted the authority, this field is
Y. If not, this field is N.</p>
<p><strong>Adopted data delete.</strong> Whether the user has adopted this
authority to the object. If the user has adopted the authority, this field is
Y. If not, this field is N.</p>
<p><strong>Adopted data execute.</strong> Whether the user has adopted this
authority to the object. If the user adopted the authority, this field is Y. If
not, this field is N.</p>
<p><strong>Adopted data read.</strong> Whether the user has adopted this
authority to the object. If the user has adopted the authority, this field is
Y. If not, this field is N.</p>
<p><strong>Adopted data update.</strong> Whether the user has adopted this
authority to the object. If the user has adopted the authority, this field is
Y. If not, this field is N.</p>
<p><strong>Adopted object alter.</strong> Whether the user has adopted this
authority to the object. If the user adopted the authority, this field is Y. If
not, this field is N.</p>
<p><strong>Adopted object authority.</strong> The user's adopted authority to
the object. This field is only valid if some of the user's authority is
adopted. If the user does not adopt authority, this field will be blank.</p>
<p>If a qualified object name is specified, the possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ALL</em></td>
<td valign="top">The user adopted all object (operational, management,
existence, alter, and reference) and data (read, add, update, delete, and
execute) authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>*CHANGE</em></td>
<td valign="top">The user adopted object operational and all data authorities
to the object.</td>
</tr>
<tr>
<td valign="top"><em>*USE</em></td>
<td valign="top">The user adopted object operational and data read and execute
authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The user adopted some combination of object and data
authorities that do not relate to a special value. The individual authorities
for the user should be checked to determine what authority the user has adopted
to the object.</td>
</tr>
</table>
<p>If a path name is specified, the possible values are:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>*RWX</em></td>
<td valign="top">The user has object operational and all
data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RW</em></td>
<td valign="top">The user has object operational and data read,
data add, data update, and
data delete authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RX</em></td>
<td valign="top">The user has object operational, data read, and data
execute authorities</td>
</tr>
<tr>
<td valign="top"><em>*WX</em></td>
<td valign="top">The user has object operational and
data add, data update, data delete, and data execute authorities.</td>
</tr>
<tr>
<td valign="top"><em>*R</em></td>
<td valign="top">The user has object operational and data read authorities.</td>
</tr>
<tr>
<td valign="top"><em>*W</em></td>
<td valign="top">The user has object operational and
data add, data update, and data delete authorities.</td>
</tr>
<tr>
<td valign="top"><em>*X</em></td>
<td valign="top">The user has object operational and data execute
authorities.</td>
</tr>
<tr>
<td valign="top"><em>*EXCLUDE</em></td>
<td valign="top">The user has exclude authority.</td>
</tr>
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">The user does not have object operational or any data
authorities.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The user has some combination of object and data authorities
that do not relate to a special value. The individual authorities for the user
should be checked to determine what authority the user has to the object.</td>
</tr>
</table>
<p><strong>Note:</strong>
If *OBJPATH is specified for the qualified object name parameter, be aware
that adopted authority is not used by most commands and APIs that
accept path names as input. </p>
<p><strong>Adopted object existence.</strong> Whether the user adopted this
authority to the object. If the user adopted the authority, this field is Y. If
not, this field is N.</p>
<p><strong>Adopted object management.</strong> Whether the user has adopted
this authority to the object. If the user has adopted the authority, this field
is Y. If not, this field is N.</p>
<p><strong>Adopted object operational.</strong> Whether the user has adopted
this authority to the object. If the user has adopted the authority, this field
is Y. If not, this field is N.</p>
<p><strong>Adopted object reference.</strong> Whether the user has adopted this
authority to the object. If the user adopted the authority, this field is Y. If
not, this field is N.</p>
<p><strong>ASP device name of library.</strong> The auxiliary storage pool (ASP)
device name where the object's library is stored. If the object's library is in
the system ASP or one of the basic user ASPs, this field contains *SYSBAS.</p>
<p><strong>ASP device name of object.</strong> The auxiliary storage pool (ASP)
device name where the object is stored. If the object is in the system ASP or
one of the basic user ASPs, this field contains *SYSBAS.</p>
<p><strong>Authority source.</strong> Indicates where the authority that the
user has to the object initially came from. The authority may be a combination
of authority from this source plus adopted authority.</p>
<p>This field contains one of the following special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>UA</em></td>
<td valign="top">The user has *ALLOBJ special authority.</td>
</tr>
<tr>
<td valign="top"><em>UO</em></td>
<td valign="top">The user is privately authorized to the object.</td>
</tr>
<tr>
<td valign="top"><em>UL</em></td>
<td valign="top">The user is privately authorized to the authorization list
securing the object.</td>
</tr>
<tr>
<td valign="top"><em>GA</em></td>
<td valign="top">The user's groups have *ALLOBJ special authority.</td>
</tr>
<tr>
<td valign="top"><em>GO</em></td>
<td valign="top">The user's groups are privately authorized to the object.</td>
</tr>
<tr>
<td valign="top"><em>GL</em></td>
<td valign="top">The user's groups are privately authorized to the
authorization list securing the object.</td>
</tr>
<tr>
<td valign="top"><em>GC</em></td>
<td valign="top">The user's groups have a combination of private authority to
the object and private authority to the authorization list securing the
object.</td>
</tr>
<tr>
<td valign="top"><em>PO</em></td>
<td valign="top">The user accesses the object through the public
authority.</td>
</tr>
<tr>
<td valign="top"><em>PL</em></td>
<td valign="top">The user accesses the object through the public authority on
the authorization list securing the object.</td>
</tr>
<tr>
<td valign="top"><em>AD</em></td>
<td valign="top">All of the authority that the user has comes from adopted
authority. This value is only returned if the user is *CURRENT.</td>
</tr>
</table>
<p><strong>Authorization list.</strong> The name of the authorization list
securing the object.</p>
<p>This field can contain one of the following special values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">There is no authorization list securing the object.</td>
</tr>
<tr>
<td valign="top"><em>*DAMAGED</em></td>
<td valign="top">The authorization list securing the object is damaged.</td>
</tr>
</table>
<p><strong>Authorization list management.</strong> Whether the user has this
authority to the object. If the user has the authority, this field is Y. If
not, this field is N.</p>
<p><strong>Bytes available.</strong> The number of bytes of data available to
be returned to the user. If all data is returned, this is the same as the
number of bytes returned. If the receiver variable was not big enough to
contain all of the data, this is the number of bytes that can be returned.</p>
<p><strong>Bytes returned.</strong> The number of bytes of data returned to the
user. This is the lesser of the number of bytes available to be returned or the
length of the receiver variable.</p>
<p><strong>Data add.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data delete.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data execute.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data read.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data update.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Group
information table.</strong> A list of the user's
group authorities to the object.</p>
<p><strong>Number of group table entries returned.</strong> Number of
group table entries returned in the receiver variable.</p>
<p><strong>Object alter.</strong> Whether the user has this authority to the
object. If the user has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Object authority / Data authority.</strong>
If a qualified object name is specifed, this is a special value indicating
the user's total authority to the object including adopted authority
(if the user is *CURRENT). If a path
name is specified, this is a special value indicating the user's data
authority to the object and includes any adopted authority (if the user is
*CURRENT).</p>
<p>If a qualified object name is specified, the possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ALL</em></td>
<td valign="top">The user has all object (operational, management, existence,
alter and reference) and data (read, add, update, delete, and execute)
authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>*CHANGE</em></td>
<td valign="top">The user has object operational and all data authorities to
the object.</td>
</tr>
<tr>
<td valign="top"><em>*USE</em></td>
<td valign="top">The user has object operational, data read, and data execute
authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>*EXCLUDE</em></td>
<td valign="top">The user has exclude authority to the object.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The user has some combination of object and data authorities
that do not relate to a special value. The individual authorities for the user
should be checked to determine what authority the user has to the object.</td>
</tr>
</table>
<p>If a path name is specified, the possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*RWX</em></td>
<td valign="top">The user has object operational and all
data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RW</em></td>
<td valign="top">The user has object operational and data read,
data add, data update, and
data delete authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RX</em></td>
<td valign="top">The user has object operational, data read, and data
execute authorities</td>
</tr>
<tr>
<td valign="top"><em>*WX</em></td>
<td valign="top">The user has object operational and
data add, data update, data delete, and data execute authorities.</td>
</tr>
<tr>
<td valign="top"><em>*R</em></td>
<td valign="top">The user has object operational and data read authorities.</td>
</tr>
<tr>
<td valign="top"><em>*W</em></td>
<td valign="top">The user has object operational and
data add, data update, and data delete authorities.</td>
</tr>
<tr>
<td valign="top"><em>*X</em></td>
<td valign="top">The user has object operational and data execute
authorities.</td>
</tr>
<tr>
<td valign="top"><em>*EXCLUDE</em></td>
<td valign="top">The user has exclude authority.</td>
</tr>
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">The user does not have object operational or any data
authorities.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The user has some combination of object and data authorities
that do not relate to a special value. The individual authorities for the user
should be checked to determine what authority the user has to the object.</td>
</tr>
</table>
<p><strong>Object existence.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object management.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object operational.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object reference.</strong> Whether the user has this authority to
the object. If the user has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Offset to group information table.</strong> Offset from the
beginning of the receiver variable to the first group table entry.</p>
<p><strong>Reserved.</strong> An ignored field set to hexadecimal zeros.</p>
<p><strong>Some adopted authority.</strong> Whether some of the authority that
the user has to the object comes from adopted authority. If some of the
authority is adopted, this field is Y. If not, this field is N. This field can
only contain Y if the user is *CURRENT.</p>
<br>
<h3>
Group Information Table</h3>
<p>This table holds information about the authorities a group
has to the object.</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%">Displacement to next group entry</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">4</td>
<td align="center" valign="top" width="10%">4</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Group profile</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">Object authority / Data authority</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Authority source</td>
</tr>
<tr>
<td align="center" valign="top">25</td>
<td align="center" valign="top">19</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Authorization List Management</td>
</tr>
<tr>
<td align="center" valign="top">26</td>
<td align="center" valign="top">1A</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object operational</td>
</tr>
<tr>
<td align="center" valign="top">27</td>
<td align="center" valign="top">1B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object management</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object existence</td>
</tr>
<tr>
<td align="center" valign="top">29</td>
<td align="center" valign="top">1D</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Object alter</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">Object reference</td>
</tr>
<tr>
<td align="center" valign="top">31</td>
<td align="center" valign="top">1F</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">41</td>
<td align="center" valign="top">29</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data read</td>
</tr>
<tr>
<td align="center" valign="top">42</td>
<td align="center" valign="top">2A</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data add</td>
</tr>
<tr>
<td align="center" valign="top">43</td>
<td align="center" valign="top">2B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data update</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data delete</td>
</tr>
<tr>
<td align="center" valign="top">45</td>
<td align="center" valign="top">2D</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data execute</td>
</tr>
<tr>
<td align="center" valign="top">46</td>
<td align="center" valign="top">2E</td>
<td align="left" valign="top">CHAR(2)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<h4>Field Descriptions</h4>
<p><strong>Authority source.</strong> Where the group's authority comes
from. The value of this field is one of these special values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>A</em></td>
<td valign="top">The group has *ALLOBJ special authority.</td>
</tr>
<tr>
<td valign="top"><em>O</em></td>
<td valign="top">The group authority comes from private authority to the
object.</td>
</tr>
<tr>
<td valign="top"><em>L</em></td>
<td valign="top">The group authority comes from the authorization list
securing the object.</td>
</tr>
<tr>
<td valign="top"><em>blank</em></td>
<td valign="top">There is no authority source for the group.</td>
</tr>
</table>
<p><strong>Authorization List Management.</strong> Whether the group has this
authority to the object. If the group has the authority, this field is Y.
If not, this field is N.</p>
<p><strong>Data add.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data delete.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data execute.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data read.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Data update.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Displacement to next group entry.</strong> Displacement to the next
group entry. This field is 0 if there is not another group entry.</p>
<p><strong>Group profile.</strong> Name of a group in the user's profile.</p>
<p><strong>Object alter.</strong> Whether the group has this authority to the
object. If the group has the authority, this field is Y. If not, this field is
N.</p>
<p><strong>Object authority / Data authority.</strong> If a qualified object
name is specified, this is a special value indicating the group's
authority to the object. If a path name is specified, this is a special values
indications the group's data authority to the object.</p>
<p>If a qualified object name is specified, this is one of the
following values:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*ALL</em></td>
<td valign="top">The group has all object (operational, management, existence,
alter and reference) and data (read, add, update, delete, and execute)
authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>*CHANGE</em></td>
<td valign="top">The group has object operational and all data authorities to
the object.</td>
</tr>
<tr>
<td valign="top"><em>*USE</em></td>
<td valign="top">The group has object operational, data read, and data execute
authorities to the object.</td>
</tr>
<tr>
<td valign="top"><em>*EXCLUDE</em></td>
<td valign="top">The group has exclude authority to the object, or
authorization list management authority.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The group has some combination of object and data authorities
that do not relate to a special value. The individual authorities for the group
should be checked to determine what authority the group has to the object.</td>
</tr>
</table>
<p>If a path name is specified, this is one of the following values:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>*RWX</em></td>
<td valign="top">The user has object operational and all
data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RW</em></td>
<td valign="top">The user has object operational and read, add, update, and delete data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*RX</em></td>
<td valign="top">The user has object operational, data read, and data
execute authorities</td>
</tr>
<tr>
<td valign="top"><em>*WX</em></td>
<td valign="top">The user has object operational and
add, update, delete, and execute data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*R</em></td>
<td valign="top">The user has object operational and data read authorities.</td>
</tr>
<tr>
<td valign="top"><em>*W</em></td>
<td valign="top">The user has object operational and
add, update, and delete data authorities.</td>
</tr>
<tr>
<td valign="top"><em>*X</em></td>
<td valign="top">The user has object operational and data execute
authorities.</td>
</tr>
<tr>
<td valign="top"><em>*EXCLUDE</em></td>
<td valign="top">The user has exclude authority.</td>
</tr>
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">The user does not have object operational or any data
authorities.</td>
</tr>
<tr>
<td valign="top"><em>USER DEF</em></td>
<td valign="top">The group has some combination of object and data authorities
that do not relate to a special value. The individual authorities for the group
should be checked to determine what authority the group has to the object.</td>
</tr>
</table>
<p><strong>Object existence.</strong> Whether the group has this authority to
the object. If the group has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object management.</strong> Whether the group has this authority to
the object. If the group has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object operational.</strong> Whether the group has this authority to
the object. If the group has the authority, this field is Y. If not, this field
is N.</p>
<p><strong>Object reference.</strong> Whether the group has this authority to
the object. If the group has the authority, this field is Y. If not, this field
is N.</p>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td valign="top">CPF18A2 D</td>
<td valign="top">Path name parameters not specified.</td>
</tr>
<tr>
<td width="15%" valign="top">CPF2203 E</td>
<td width="85%" valign="top">User profile &amp;1 not correct.</td>
</tr>
<tr>
<td valign="top">CPF2225 E</td>
<td valign="top">Not able to allocate internal system object.</td>
</tr>
<tr>
<td valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C19 E</td>
<td valign="top">Error occurred with receiver variable specified.</td>
</tr>
<tr>
<td valign="top">CPF3C21 E</td>
<td valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C24 E</td>
<td valign="top">Length of the receiver variable is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C31 E</td>
<td valign="top">Object type &amp;1 is not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C3A E</td>
<td valign="top">Value for parameter &amp;2 for API &amp;1 not valid.</td>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">CPF8122 E</td>
<td valign="top">&amp;8 damage on library &amp;4.</td>
</tr>
<tr>
<td valign="top">CPF980B E</td>
<td valign="top">Object &amp;1 in library &amp;2 not available.</td>
</tr>
<tr>
<td valign="top">CPF9801 E</td>
<td valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td valign="top">CPF9802 E</td>
<td valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9803 E</td>
<td valign="top">Cannot allocate object &amp;2 in library &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9807 E</td>
<td valign="top">One or more libraries in library list deleted.</td>
</tr>
<tr>
<td valign="top">CPF9808 E</td>
<td valign="top">Cannot allocate one or more libraries on library list.</td>
</tr>
<tr>
<td valign="top">CPF9810 E</td>
<td valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td valign="top">CPF9811 E</td>
<td valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td valign="top">CPF9812 E</td>
<td valign="top">File &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td valign="top">CPF9814 E</td>
<td valign="top">Device &amp;1 not found.</td>
</tr>
<tr>
<td valign="top">CPF9820 E</td>
<td valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF9825 E</td>
<td valign="top">Not authorized to device &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF9830 E</td>
<td valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td valign="top">CPF9872 E</td>
<td valign="top">Program or service program &amp;1 in library &amp;2 ended.
Reason code &amp;3.</td>
</tr>
<tr>
<td valign="top">CPF9873 E</td>
<td valign="top">ASP status is preventing access to object.</td>
</tr>
<tr>
<td valign="top">CPFA09C E</td>
<td valign="top">Not authorized to object.</td>
</tr>
<tr>
<td valign="top">CPFA09E E</td>
<td valign="top">Object in use. Object is &amp;1.</td>
</tr>
<tr>
<td valign="top">CPFA0A3 E</td>
<td valign="top">Path name resolution causes looping.</td>
</tr>
<tr>
<td valign="top">CPFA0A7 E</td>
<td valign="top">Path name too long.</td>
</tr>
<tr>
<td valign="top">CPFA0A9 E</td>
<td valign="top">Object not found.</td>
</tr>
<tr>
<td valign="top">CPFA0AB E</td>
<td valign="top">Operation failed for object. Object is &amp;1.</td>
</tr>
<tr>
<td valign="top">CPFA0AD E</td>
<td valign="top">Function not supported by file system.</td>
</tr>
</table>
<br>
<hr>
<p>API Introduced: V2R2</p>
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"sec.htm">Security APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>