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

221 lines
6.6 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>Set Job User Identity (QWTSJUID) 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 -->
<!-- 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 language="Javascript" src="../rzahg/synch.js" type="text/javascript">
</script>
<h2>Set Job User Identity (QWTSJUID) API</h2>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Required Parameter:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Operation requested</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Conditional; see <a href="#usage_notes">Usage Notes</a>.<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Set Job User Identity (QWTSJUID) API has two operations that can be used
to explicitly set the job user identity of the current job. The two operations
are set and clear. The set operation explicitly sets the job user identity to
the name of the current user profile of the thread in which the API is called.
The clear operation clears any job user identity that was previously set by the
QWTSJUID API or the QwtSetJuid() function, and the default job user identity
will then take effect.</p>
<p>The <strong>job user identity</strong> is the name of the user profile by
which this job is known to other jobs. The job user identity is used for
authorization checks when other jobs on the system attempt to operate against
this job. Examples of functions that operate against another job include the
Start Service Job (STRSRVJOB) command, the Retrieve Job Information (QUSRJOBI)
API, the Change Job (QWTCHGJB) API, all job control commands, and functions
that send signals from one job to another.</p>
<p>The job user identity is not used to make authorization checks from within
this job. Authorization to perform a function is always based on the current
user profile of the thread in which the function is called.</p>
<p>This API is intended to be used by either multithreaded servers or single
threaded servers that want to establish a job user identity that remains
constant, regardless of the user profile under which it processes individual
client requests.</p>
<p>When a job user identity has not been explicitly set by an API, a job
running single threaded will have a job user identity that is the same as the
current user profile that the job is running under at the time. When a job user
identity has not been explicitly set by an API, a job running multithreaded
will have a job user identity that is the name of the user profile that the job
was running under at the time it became multithreaded.</p>
<br>
<h3>Authorities and Locks</h3>
<p>If the job user identity is currently set, then either *USE authority to the
user profile associated with the job user identity or all object (*ALLOBJ)
special authority is required. If the job user identity is not already set,
then no authorization is required.</p>
<br>
<h3>Required Parameter</h3>
<dl>
<dt><strong>Operation requested</strong></dt>
<dd>INPUT; BINARY(4)
<p>The operation to be performed.</p>
<p>The possible operations are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Set job user identity to the name of the job's current user
profile.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">Clear the job user identity. The default job user identity
will now take effect.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>.</p>
</dd>
</dl>
<br>
<h3><a name="usage_notes">Usage Notes</a></h3>
<p>Thread safety considerations:</p>
<ul>
<li>The set function is threadsafe.</li>
<li>The clear function may be called in a job that allows multiple threads, but
only while it is running single threaded. The clear function will not be
allowed if any secondary threads are active.</li>
</ul>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td width="15%" valign="top">CPF180B E</td>
<td width="85%" valign="top">Function &amp;1 not allowed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2217 E</td>
<td align="left" valign="top">Not authorized to user profile &amp;1.</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">CPF3C3C E</td>
<td align="left" valign="top">Value for parameter &amp;1 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">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</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>
<p>API Introduced: V4R3</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>