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

2600 lines
76 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>Search System Directory (QOKSCHD) 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. -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited October 2001 -->
<!-- Updates from System API Programming book phase-out, July 2002 by JET -->
<!--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>Search System Directory (QOKSCHD) 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 of receiver variable</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">Function</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">Keep temporary resource indicator</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">7</td>
<td align="left" valign="top">Length of request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="left" valign="top">Format name of request variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">9</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Search System Directory (QOKSCHD) API searches the system distribution
directory and returns user information that matches the criteria input. It also is used to query fields in
the directory. It is most useful when the system distribution directory is used
as a repository for information about users, and can be used in a program to
query this information.</p>
<br>
<h3>Authorities and Locks</h3>
<p>To search the system directory, *USE authority is required to the QOKSCHD
API.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The receiver variable that is to receive the information requested. You can
specify the size of the area smaller than the format requested as long as you
specify the length of the receiver variable correctly. As a result, the API
returns only the data the area can hold.</p>
</dd>
<dt><strong>Length of receiver variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the receiver variable.</p>
</dd>
<dt><strong>Format name of the receiver variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the information returned. The possible format names are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>SRCV0100</em></td>
<td valign="top">System directory user information. See <a href="#HDRSRC100">
SRCV0100 Format</a> for more information on the SRCV0100 format.</td>
</tr>
<tr>
<td valign="top"><em>SRCV0200</em></td>
<td valign="top">System directory field names. See <a href="#HDRSRC200">
SRCV0200 Format</a> for more information on the SRCV0200 format.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Function</strong></dt>
<dd>INPUT; CHAR(10)
<p>The function name of this request. The functions supported are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*SEARCH</em></td>
<td valign="top">Search the system directory</td>
</tr>
<tr>
<td valign="top"><em>*CLEANUP</em></td>
<td valign="top">Clean up resources (if temporary resources were kept on
previous search requests). Note that for cleanup, the keep temporary resource
indicator parameter has to be 0.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Keep temporary resource indicator</strong></dt>
<dd>INPUT; CHAR(1)
<p>An indicator of whether to keep or delete the temporary resource that the
search uses for search requests. This temporary resource keeps files open and
other relevant information between calls. Performance will be better if this is
done and you do multiple searches. If this API is called and this indicator is
set to keep temporary resources, the last call should have the Function
parameter set to *CLEANUP to close files and delete the resources.</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Do not keep the temporary resource (and close the files).</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Keep the temporary resource (and the files open).</td>
</tr>
</table>
<p>The resource handle stores the information about the open files. When the
search API is called again and the files have been left open, the resource
handle needs to be passed. The resource handle differs from the continuation
handle in that the resource handle saves information about open files. The same
resource handle can be used to request different kinds of searches. If you are
doing multiple types of searches, you do not want to do Function of *CLEANUP
between the calls to the QOKSCHD API. Pass the same resource handle for these
calls and it will make the searches perform faster. The continuation handle is
used to continue the search with the same criteria because there are more users
that match the search criteria. The continuation handle is documented in <a
href="#HDRFLDALL">Field Descriptions</a>.</p>
</dd>
<dt><strong>Request variable</strong></dt>
<dd>INPUT; CHAR(*)
<p>The request variable that is the input buffer that requests the type of
search to do.</p>
</dd>
<dt><strong>Length of request variable</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the request variable.</p>
</dd>
<dt><strong>Format name of request variable</strong></dt>
<dd>INPUT; CHAR(8)
<p>The information requested. The possible format names are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>SREQ0100</em></td>
<td valign="top">System directory user information. See <a href="#HDRD10">
SREQ0100 Format</a> for more information on the SREQ0100 format.</td>
</tr>
<tr>
<td valign="top"><em>SREQ0200</em></td>
<td valign="top">System directory field names. See <a href="#HDRD20">SREQ0200
Format</a> for more information on the SREQ0200 format.</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="HDRD10">SREQ0100 Format</a></h3>
<p>The following table is the layout of the request variable, format SREQ0100,
for requesting searches on the system directory user information.</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%">CCSID of data input</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">Character set of data input</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Code page of data input</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Wildcard character</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Convert receiver data indicator</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="center" valign="top">11</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Data to search</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">Run verify indicator</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">Continuation handle (input)</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Resource handle</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name of the search request array</td>
</tr>
<tr>
<td align="center" valign="top">44</td>
<td align="center" valign="top">2C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the search request array</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">Number of elements in the search request
array</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name of array of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">60</td>
<td align="center" valign="top">3C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to array of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">64</td>
<td align="center" valign="top">40</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of elements in the fields to return
array.</td>
</tr>
<tr>
<td align="center" valign="top">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name of array of users to return in the
receiver variable</td>
</tr>
<tr>
<td align="center" valign="top">76</td>
<td align="center" valign="top">4C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of elements to return in the array of
users to return</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name of array of fields for each user
returned</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Format name of the order of field names to
return</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Return fields in order specified option</td>
</tr>
<tr>
<td align="center" valign="top">97</td>
<td align="center" valign="top">61</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Array of fields to return</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Search request array</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRD21">SREQ0101 Format</a></h3>
<p>The following table is the search request array, format SREQ0101. This
format name is used as input in the request variable, SREQ0100, in the field,
format name of the search request array.</p>
<p>This is an array of search fields. There is a maximum of 100 entries.</p>
<p>The first element that is entered in the search request array is considered
to be the key for the search. This is important for performance because the
more distinct the key, the faster the search. Records will be returned in the
order of the field specified as the key.</p>
<p>A performance consideration that should be made when choosing the key value
for the value to match field is whether the field will contain a wildcard
character. The search key should contain fields that occur a minimum number of
times on the system. For this reason, it is more efficient to specify a key
search value that does not contain wildcard characters. A wildcard character at
the end of a search key value does not affect performance.</p>
<p>The search is an <strong>AND</strong> of all of the input fields. It will be
a complete match or a generic match if a wildcard character is used as the last
character of the field value.</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 entry (including this
field)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Compare value</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="center" valign="top">5</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Field name</td>
</tr>
<tr>
<td align="center" valign="top">15</td>
<td align="center" valign="top">F</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</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">Case of data input</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">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of value</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Value to match</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRD22">SREQ0102 Format</a></h3>
<p>The following table is the array of fields to return, format SREQ102. This
format name is used as input in the request variable, SREQ0100, in the field,
format name of array of fields to return.</p>
<p>The SREQ0102 format provides for selecting a user controlled set of system
distribution directory fields.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Field name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRD03">SREQ0103 Format</a></h3>
<p>The following table is the array of special values representing the fields
to be returned, format SREQ0103. This format name is used in the request
variable, SREQ0100, in the field, format name of the array of fields to
return.</p>
<p>The SREQ0103 format provides for selecting a predefined set of system
distribution directory fields. The allowed special values are *SYSDIR, *ORNAME,
and *SMTP. See <a href="#HDRFLDALL">Field Descriptions</a> for a definition of
the special value of fields to be returned field.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Special value of fields to be
returned</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRD20">SREQ0200 Format</a></h3>
<p>The following table is the layout of the request variable, format SREQ0200.
This request returns the fields defined in the system distribution
directory.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(1)</td>
<td align="left" valign="top" width="60%">Type of system distribution directory
fields to return</td>
</tr>
<tr>
<td align="center" valign="top">1</td>
<td align="center" valign="top">1</td>
<td align="left" valign="top">CHAR(17)</td>
<td align="left" valign="top">Continuation handle for directory fields
(input)</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSRC100">SRCV0100 Format</a></h3>
<p>The following table is the layout of the receiver variable, format SRCV0100.
The receiver variable is the output buffer for the search results. This format
defines the structure of the receiver variable.</p>
<p>Fields returned in the receiver variable will be in the order as documented
in <a href="#SPTFIELDN">System directory field names</a>. All of the fields
with a product ID of *IBM will precede any fields with a product ID other than
*IBM. Also, fields with a product ID of *IBM that appear in the array of fields
to return more than once will be returned one time.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Number of 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">Offset to order of fields returned array</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the first array of users entry</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of directory entries returned</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Continuation handle (output)</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="center" valign="top">11</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Resource handle</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Array of users that match the search
criteria</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Order of fields returned array</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSR101">SRCV0101 Format</a></h3>
<p>The following table is the structure of the array of users returned, format
SRCV0101. This format name is specified in the request variable structure,
SREQ0100, in the field, format name of array of users to return.</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 data for this user</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">Number of fields returned</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Array of fields for each user that was requested
in the search request variable</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSR111">SRCV0111 Format</a></h3>
<p>The following table is the structure of the array of fields for each user
returned, format SRCV0111. The format name is specified in the request variable
structure, SREQ0100, in the field, format name of array of fields for each user
returned. All fields requested are returned even if the fields are blank. The
fields are returned in the order documented in <a href="#SPTFIELDN">System
directory field names</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Field name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="center" valign="top">11</td>
<td align="left" valign="top">CHAR(3)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">20</td>
<td align="center" valign="top">14</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Character set or CCSID of the value</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Code page of the value</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of field value returned</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Field value</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSR112">SRCV0112 Format</a></h3>
<p>The following table is the structure of the array of fields for each user
returned, format SRCV0112. The format name is specified in the request variable
structure, SREQ0100, in the field, format name of array of fields for each user
returned.</p>
<p>If you do not need user-defined fields or the field name and product ID,
then request this format in SREQ0100 instead of SRCV0111, as it will save some
overhead space. All fields requested are returned even if the fields are
blank.</p>
<p>Format SRCV0120 tells the order in which the fields are returned. The order
of the fields are always returned in the order as documented in <a href=
"#SPTFIELDN">System directory field names</a>, but you may have a coding reason
for needing to order the fields returned array.</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%">Character set or CCSID of the
value</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">Code page of the value</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Length of field value returned</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Field value</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSR120">SRCV0120 Format</a></h3>
<p>The following table is the structure of the order of fields returned array,
format SRCV0120. The format name is specified in the request structure,
SREQ0100, in the field, format name of order of field names array returned.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Field name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRSRC200">SRCV0200 Format</a></h3>
<p>The following table is the layout of the receiver variable, format SRCV0200.
The receiver variable is the output buffer for the results from the system
directory field name search request. The format name defines the structure of
the receiver variable.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Number of directory field names
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">Number of directory fields</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Offset to the array of directory field names</td>
</tr>
<tr>
<td align="center" valign="top">12</td>
<td align="center" valign="top">C</td>
<td align="left" valign="top">CHAR(17)</td>
<td align="left" valign="top">Continuation handle for directory fields
(output)</td>
</tr>
<tr>
<td align="center" valign="top">&nbsp;</td>
<td align="center" valign="top">&nbsp;</td>
<td align="left" valign="top">CHAR(*)</td>
<td align="left" valign="top">Array of directory field names in the system
distribution directory</td>
</tr>
</table>
<br>
<br>
<h3><a name="Header_67">Array of Directory Field Names</a></h3>
<p>The following table is the structure of the field name array. This format
contains the field names of the type that was requested in SREQ0200.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">CHAR(10)</td>
<td align="left" valign="top" width="60%">Directory field name</td>
</tr>
<tr>
<td align="center" valign="top">10</td>
<td align="center" valign="top">A</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Product ID</td>
</tr>
<tr>
<td align="center" valign="top">17</td>
<td align="center" valign="top">11</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Directory field type</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">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum field length</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRFLDALL">Field Descriptions</a></h3>
<p><strong>Array of directory field names in the system distribution
directory.</strong> The array of fields that are returned as a result of the
search request array. This array contains the directory field name, product ID,
directory field type, and the maximum field length.</p>
<p><strong>Array of fields for each user that was requested.</strong> The
actual data for each field for the user returned as a result of the match. See
either <a href="#HDRSR111">SRCV0111 Format</a>, or <a href="#HDRSR112">SRCV0112
Format</a> for the structure of this array.</p>
<p><strong>Array of fields to return.</strong> The field names that the user
wants returned in the receiver variable for each user found that matches the
search criteria. See either <a href="#HDRD22">SREQ0102 Format</a>, or <a href=
"#HDRD03">SREQ0103 Format</a> for the structure of this array. There is no
maximum number of elements.</p>
<p><strong>Array of users that match the search criteria.</strong> The array of
users that matches the search criteria on the request. See <a href="#HDRSR101">
SRCV0101 Format</a> for the structure of this array.</p>
<p><strong>Case of data input.</strong> The case of the data input. The valid
values are:</p>
<table cellpadding="3">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>blank</em></td>
<td valign="top">The data of all fields except two is searched without regard
to the case of the data (case-insensitive search). The exceptions are the IBM
fields SMTPUSRID and SMTPRTE, which are searched with regard to the case of the
data (case-sensitive search).</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">The same as <em>blank</em>, the preceding value
description.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">The data of all fields is searched without regard to the case
of the data (case-insensitive search).</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> When you use the case of data input
field for the SMTPUSRID or SMTPRTE field names, always qualify these field
names with the product ID *IBM.</td>
</tr>
</table>
<p><strong>CCSID of data input.</strong> The CCSID of the data input or a
special value. The special values are:</p>
<table cellpadding="3">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">The default job CCSID will be used.</td>
</tr>
<tr>
<td valign="top"><em>-1</em></td>
<td valign="top">The character set and code page will be used.</td>
</tr>
<tr>
<td valign="top"><em>65535</em></td>
<td valign="top">The default job CCSID will be used.</td>
</tr>
</table>
<p><strong>Character set of data input.</strong> The character set of the data
input. This field is used if the CCSID of data input is -1.</p>
<p><strong>Character set or CCSID of the value.</strong> If the conversion of
the data (convert receiver data indicator) was set to 0, this is the character
set of the field value as it exists on the system. If the convert receiver
indicator was set to 1, this is either a character set or CCSID depending on
what was specified in the request variable for CCSID of data input. If the
convert receiver data indicator was set to 2, this is the CCSID of the field
value.</p>
<p><strong>Code page of data input.</strong> The code page of the data input.
This field is used if the CCSID of data input is -1.</p>
<p><strong>Code page of the value.</strong> If the conversion of the data
(convert receiver data indicator) was set to 0, this is the code page of the
field value as it exists on the system. If the convert receiver indicator was
set to 1, this is either a code page or CCSID depending on what was specified
in the request variable for CCSID of data input. Otherwise, the code page is
set to 0.</p>
<p><strong>Compare value.</strong> The way to compare the value given with the
field value in the system distribution directory entry. Only the value, 1
(equal), is currently supported.</p>
<p><strong>Continuation handle (input).</strong> This allows you to continue to
return data on a search if there was not enough space available to return all
the entries that matched the search criteria on a previous search.</p>
<p>This value is 0 on the first search request. If you are continuing a search,
this value needs to be set from the continuation handle (output) field.</p>
<p>The resource handle must be set if you are going to continue a search.</p>
<p>To use the continuation handle, you must keep the temporary resource space
by setting the keep temporary resource indicator field to 1.</p>
<p><strong>Continuation handle (output).</strong> An indicator for more
directory entries available. The valid values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
</table>
<p>If this continuation handle is 0, either all the records that matched the
search criteria were returned to this structure, or there were more records but
the search files were not requested to be left open.</p>
<p>If the continuation handle is 1, there are more records available in the
directory that match the search criteria, but there was no room available in
the return structure. You may request more data by using this value in the
request variable along with the resource handle.</p>
<p><strong>Continuation handle for directory fields (input).</strong> Allows
you to continue to return data on a search of directory fields if there was not
enough space available to return all of the directory fields that matched the
request.</p>
<p>This value is blank on the first request. If you are continuing a search,
this value needs to be set from the continuation handle for directory fields
(output) field.</p>
<p><strong>Continuation handle for directory fields (output).</strong> Contains
a value if there are more directory fields available for the search criteria
requested. You may request more directory fields by using this value in the
request variable field, continuation handle for directory fields (input).</p>
<p><strong>Convert receiver data indicator.</strong> The option to convert the
field values in the array of users returned for each user in the receiver
variable.</p>
<p>The valid values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Do not convert receiver data. All data returned will be
returned in the character set and code page as the data exists on the system.
The character set and code page of the receiver data is in the array of fields
for each user. See either <a href="#HDRSR111">SRCV0111 Format</a>, or <a href=
"#HDRSR112">SRCV0112 Format</a> for more information on the array of fields for
each user.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Convert the receiver data. All data will be returned in the
CCSID or character set and code page specified in the request variable.</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">Do not convert receiver data. All data will be returned as the
data exists on the system, but the character set and code page will be
converted to a CCSID tag. The CCSID of the receiver data is in the array of
fields for each user. See either <a href="#HDRSR111">SRCV0111 Format</a>, or <a
href="#HDRSR112">SRCV0112 Format</a> for more information on the array of
fields for each user.</td>
</tr>
</table>
<p><strong>Data to search.</strong> The type of data to search on this
system.</p>
<p>The valid values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Local data</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">All data on the system including shadowed data</td>
</tr>
</table>
<p><strong>Directory field name.</strong> Depending on the request in the
SREQ0200 format, either an IBM-defined or a user-defined field. i5/OS system
distribution directory field names have a product ID of *IBM. All other field
names are for user-defined fields.</p>
<p><strong>Directory field type.</strong> The following values can be returned
for the field type and is meaningful only for user-defined fields:</p>
<table cellpadding="3">
<!-- cols="20 80" -->
<tr>
<td valign="top"><em>*DATA</em></td>
<td valign="top">User-defined field is for data.</td>
</tr>
<tr>
<td valign="top"><em>*MSFSRVLVL</em></td>
<td valign="top">User-defined field is for a mail service level.</td>
</tr>
<tr>
<td valign="top"><em>*ADDRESS</em></td>
<td valign="top">User-defined field is for an address.</td>
</tr>
</table>
<p>See <a href="#HDRSRC200">SRCV0200 Format</a> for the field types for
user-defined.</p>
<p><strong><a name="SPTFIELD">Field name</a>.</strong> The field name can be an
IBM-defined field name, or a user-defined field name. To determine the
user-defined field names defined on the system, either use the Change System
Directory Attributes (CHGSYSDIRA) command with F4, or retrieve the fields using
the SREQ0200 format.</p>
<p>The following is a list of predefined field names that can be specified in
the field name field of the array of search fields and the array of fields to
return.</p>
<p><strong>Notes:</strong></p>
<ol>
<li>There is a maximum of 512 bytes for user-defined fields.<br>
<br>
</li>
<li>There is a performance impact when a mixture of system directory field
names, SMTP field names, and user-defined fields are specified in the search
request array.</li>
</ol>
<p><a name="SPTFIELDN"><strong>System directory field names</strong></a></p>
<p><strong>Note:</strong> This is the order in which the field names are
returned when the return fields in order specified option is not 1 (0 is the
default). The field is truncated so that ending blanks are not returned. This
group of field names is the *SYSDIR group when the SREQ0103 format is used. See
<a href="#HDRD03">SREQ0103 Format</a> for more information on the SREQ0103
format.</p>
<table cellpadding="3">
<!-- cols="20 80 -->
<tr>
<td valign="top"><em>USER</em></td>
<td valign="top">User profile. The maximum length is 10.</td>
</tr>
<tr>
<td valign="top"><em>INDUSR</em></td>
<td valign="top">
<p>Indirect user. The maximum length is 1. This only applies for local
directory entries. The valid values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>PRTCOVER</em></td>
<td valign="top">
<p>Print cover page. The maximum length is 1. This only applies for local
directory entries. The valid values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> The PRTCOVER field can only be
returned. It cannot be searched on.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>NFYMAIL</em></td>
<td valign="top">Mail notification. The maximum length is 3. The first byte
value represents:<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Specific types of mail</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">All mail</td>
</tr>
<tr>
<td valign="top"><em>3</em></td>
<td valign="top">No mail<br>
</td>
</tr>
</table>
<p>For specific types of mail:</p>
<ul>
<li>
<p>The second byte represents priority, private, and important mail. The valid
values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
</table>
</li>
<li>
<p>The third byte represents messages. The valid values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
</table>
</li>
</ul>
<p>
<strong>Note:</strong> The NFYMAIL field can only be returned. It cannot be
searched on.
</p>
</td>
</tr>
<tr>
<td valign="top"><em>USRID</em></td>
<td valign="top">User ID (DEN). The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>LCLDTA</em></td>
<td valign="top">Local data indicator. The maximum length is 1. The valid
values are:<br>
<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Local</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Shadowed</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">This indicates where this user was created (origination). If
the user was created on this system, this indicator is 0. If the user was
shadowed from another system, this indicator is 1. If a remote user was created
on this system, this indicator is 0.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>USRADDR</em></td>
<td valign="top">User address (DGN). The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>SYSNAME</em></td>
<td valign="top">System name (REN). The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>SYSGRP</em></td>
<td valign="top">System group (RGN). The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>USRD</em></td>
<td valign="top">User description.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">Each description field has a maximum length of 50. If a user
has only one description, it will be returned trimmed. If a user has more than
one description, all of the descriptions will be returned in this field, with
each description using a maximum of 50 characters. The length of the value will
tell how long the field is and, in effect, how many descriptions exist. For
example, if a user has 3 descriptions, the length of value field will be 150
(50 characters for each description).</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> When there is more than one
description, blank truncation is not performed.</td>
</tr>
<tr>
<td valign="top"><em>FSTNAM</em></td>
<td valign="top">First name. The maximum length is 20.</td>
</tr>
<tr>
<td valign="top"><em>PREFNAM</em></td>
<td valign="top">Preferred name. The maximum length is 20.</td>
</tr>
<tr>
<td valign="top"><em>MIDNAM</em></td>
<td valign="top">Middle name. The maximum length is 20.</td>
</tr>
<tr>
<td valign="top"><em>LSTNAM</em></td>
<td valign="top">Last name. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>FSTPREFNAM</em></td>
<td valign="top">First or preferred name. The maximum length is 20.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top"><strong>Note:</strong> This is an input-only field. It is not
output.</td>
</tr>
<tr>
<td valign="top"><em>FULNAM</em></td>
<td valign="top">Full name. The maximum length is 50.</td>
</tr>
<tr>
<td valign="top"><em>TITLE</em></td>
<td valign="top">Job title. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>CMPNY</em></td>
<td valign="top">Company. The maximum length of is 50.</td>
</tr>
<tr>
<td valign="top"><em>DEPT</em></td>
<td valign="top">Department. The maximum length is 10.</td>
</tr>
<tr>
<td valign="top"><em>NETUSRID</em></td>
<td valign="top">Network user ID. The maximum length is 47.</td>
</tr>
<tr>
<td valign="top"><em>TELNBR1</em></td>
<td valign="top">Telephone number 1. The maximum length is 26.</td>
</tr>
<tr>
<td valign="top"><em>TELNBR2</em></td>
<td valign="top">Telephone number 2. The maximum length is 26.</td>
</tr>
<tr>
<td valign="top"><em>FAXTELNBR</em></td>
<td valign="top">Fax telephone number. The maximum length is 26.</td>
</tr>
<tr>
<td valign="top"><em>LOC</em></td>
<td valign="top">Location. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>BLDG</em></td>
<td valign="top">Building. The maximum length is 20.</td>
</tr>
<tr>
<td valign="top"><em>OFC</em></td>
<td valign="top">Office. The maximum length is 16.</td>
</tr>
<tr>
<td valign="top"><em>ADDR1</em></td>
<td valign="top">Mailing address line 1. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>ADDR2</em></td>
<td valign="top">Mailing address line 2. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>ADDR3</em></td>
<td valign="top">Mailing address line 3. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>ADDR4</em></td>
<td valign="top">Mailing address line 4. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>CCMAILADR</em></td>
<td valign="top">cc:Mail** address. The maximum length is 255.</td>
</tr>
<tr>
<td valign="top"><em>CCMAILCMT</em></td>
<td valign="top">cc:Mail comment. The maximum length is 126.</td>
</tr>
<tr>
<td valign="top"><em>TEXT</em></td>
<td valign="top">Text. The maximum length is 50.</td>
</tr>
<tr>
<td valign="top"><em>MSFSRVLVL</em></td>
<td valign="top">Mail server framework service level.
<p>The field for the mail service level. When requesting this field to be
searched on, supply only the field name and product ID with the field name in
the first 10 bytes and the product ID in the last 7 bytes. When this field is
returned in SRCV0111 or SRCV0112, the mail service level value contains the
following structure:</p>
<ul>
<li>CHAR(10)-Field name
<p>The field name can be a special value or a user-defined field name. The
special values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>*USRIDX</em></td>
<td valign="top">User index</td>
</tr>
<tr>
<td valign="top"><em>*SYSMS</em></td>
<td valign="top">System message store</td>
</tr>
<tr>
<td valign="top"><em>*DOMINO</em></td>
<td valign="top">Lotus Domino mail database</td>
</tr>
</table>
<br>
</li>
<li>CHAR(7)-Product ID
<p>The product ID of a user-defined field. *NONE indicates that there is no
product ID for the user-defined field.</p>
</li>
<li>BINARY(4)-Length of mail service level
<p>If the value is 0, then the field did not exist in the directory, the field
was blank, or the field name is a special value of *USRIDX, *SYSMS, or
*DOMINO.</p>
</li>
<li>CHAR(*)-The value of the mail service level field and product ID. This
value will be blank for *USRIDX, *SYSMS, and *DOMINO. For user-defined fields,
it is the value of that field in the system distribution directory.
<p>The maximum size is 512.</p>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">See either <a href="#HDRSR111">SRCV0111 Format</a> or <a href=
"#HDRSR112">SRCV0112 Format</a> for more information on either the SRCV0111
format or the SRCV0112 format.</td>
</tr>
<tr>
<td valign="top"><em>PREFADR</em></td>
<td valign="top">Preferred address.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">The field for the preferred address. When requesting this
field to be searched on, supply only the field name and product ID, with the
field name in the first 10 bytes and the product ID in the last 7 bytes. When
this field is returned in SRCV0111 or SRCV0112, the preferred address value
contains the following structure:<br>
<ul>
<li>CHAR(10)-Field name
<p>The field name can be a special value, a user-defined field name, or an
IBM-defined field name. The special values are:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>*USRID</em></td>
<td valign="top">User ID/address</td>
</tr>
<tr>
<td valign="top"><em>*ORNAME</em></td>
<td valign="top">X.400 O/R name</td>
</tr>
<tr>
<td valign="top"><em>*SMTP</em></td>
<td valign="top">SMTP name</td>
</tr>
</table>
<br>
</li>
<li>CHAR(7)-Product ID
<p>The product ID of the field. *IBM indicates an IBM-defined field name. *NONE
indicates that there is no product ID for the user-defined field.</p>
</li>
<li>CHAR(4)-Address type value<br>
<br>
</li>
<li>CHAR(8)-Address type name<br>
<br>
</li>
<li>BINARY(4)-Length of preferred address value
<p>If the value is 0, either the field did not exist in the directory or the
field was blank.</p>
</li>
<li>CHAR(*)-The value of the preferred address field and the product ID.
<p>The following is the structure of this field based on the field name
value:</p>
<table cellpadding="3">
<tr>
<td valign="top"><em>*USRID</em></td>
<td valign="top">User ID (DEN) in the first 8 bytes, user address (DGN) in the
second 8 bytes, system name (REN) in the third 8 bytes, and system group (RGN)
in the last 8 bytes.<br>
<br>
</td>
</tr>
<tr>
<td valign="top"><em>*ORNAME</em></td>
<td valign="top">X.400 O/R name is formatted from the X.400 O/R name fields
that exist for this user. See the IBM-defined field ORNAME for the structure of
this field. The maximum size for this field is 909 bytes.<br>
<br>
</td>
</tr>
<tr>
<td valign="top"><em>*SMTP</em></td>
<td valign="top">The maximum size of the SMTP user ID is 24 bytes. The maximum
size changes to 64 bytes if SMTP names are converted using the Convert Name
SMTP (CVTNAMSMTP) command. You can check if the CVTNAMSMTP command has been run
with the WRKNAMSMTP command. You get error TCP9610 if CVTNAMSTMP has been run.
The first part of the *SMTP structure does not change. The SMTP user ID is the
first 24 bytes followed by either the SMTP domain or route for 256 bytes. To
support the new SMTP user ID length, 64 bytes follow the SMTP domain or route
portion. Both the old SMTP user ID and the new SMTP user ID contain the SMTP
user ID except when the SMTP user ID has more than 24 bytes. In this case the
old SMTP user ID is blank.<br>
<br>
</td>
</tr>
<tr>
<td valign="top"><em>IBM-defined or user-defined field</em></td>
<td valign="top">The contents of the field will be the value of the field in
the system distribution directory. The maximum size is 512 bytes.<br>
<br>
See either <a href="#HDRSR111">SRCV0111 Format</a> or <a href="#HDRSR112">
SRCV0112 Format</a> for more information on either the SRCV0111 format or the
SRCV0112 format.</td>
</tr>
</table>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><em>ALWSYNC</em></td>
<td valign="top">Allow synchronization. The maximum length is 1.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">This field indicates whether the user's entry should be
synchronized with directories other than the System Distribution Directory. The
valid values are:<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>DLOOWN</em></td>
<td valign="top">DLO owner. The maximum length is 10.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">This field indicates if the user profile or the group profile
will be assigned the ownership of the document library objects (DLOs) for this
directory entry. The valid values are:<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>*USRPRF</em></td>
<td valign="top">User profile</td>
</tr>
<tr>
<td valign="top"><em>*GRPPRF</em></td>
<td valign="top">Group profile</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>MGRCODE</em></td>
<td valign="top">Manager code. The maximum length is 1.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">This field indicates whether the user is a manager. The valid
values are:<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Yes</td>
</tr>
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">No</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>ORNAME</em></td>
<td valign="top">X.400 O/R field names:
These fields are the group of fields for the *ORNAME special value in the
SREQ0103 format.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">The paper representation of the X.400 O/R name. This field
cannot be searched on, but it can be returned in the receiver variable.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">The string starts with X.400 and is followed by the following
formats:<br>
<ul>
<li>Non-DDA (domain-defined attributes) are represented as:
<pre>
&lt;attribute type&gt;=&lt;attribute value&gt;
</pre>
</li>
<li>DDA (domain-defined attributes) are represented as:
<pre>
DDA.&lt;DDA type&gt;=&lt;DDA value&gt;
</pre>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">Abbreviations for the attributes in an X.400 O/R name are:<br>
<table cellpadding="3">
<tr>
<td align="center" valign="top"><em>C</em></td>
<td valign="top">Country or region name</td>
</tr>
<tr>
<td align="center" valign="top"><em>A</em></td>
<td valign="top">Administration Domain (ADMD) name</td>
</tr>
<tr>
<td align="center" valign="top"><em>P</em></td>
<td valign="top">Private Management Domain (PRMD) name</td>
</tr>
<tr>
<td align="center" valign="top"><em>O</em></td>
<td valign="top">Organization name</td>
</tr>
<tr>
<td align="center" valign="top"><em>OU</em></td>
<td valign="top">Organizational unit name</td>
</tr>
<tr>
<td align="center" valign="top"><em>OU1</em></td>
<td valign="top">Organizational unit 1 name</td>
</tr>
<tr>
<td align="center" valign="top"><em>OU2</em></td>
<td valign="top">Organizational unit 2 name</td>
</tr>
<tr>
<td align="center" valign="top"><em>OU3</em></td>
<td valign="top">Organizational unit 3 name</td>
</tr>
<tr>
<td align="center" valign="top"><em>OU4</em></td>
<td valign="top">Organizational unit 4 name</td>
</tr>
<tr>
<td align="center" valign="top"><em>S</em></td>
<td valign="top">Surname</td>
</tr>
<tr>
<td align="center" valign="top"><em>G</em></td>
<td valign="top">Given name</td>
</tr>
<tr>
<td align="center" valign="top"><em>I</em></td>
<td valign="top">Initials</td>
</tr>
<tr>
<td align="center" valign="top"><em>GQ</em></td>
<td valign="top">Generation qualifier</td>
</tr>
<tr>
<td align="center" valign="top"><em>DDA</em></td>
<td valign="top">Domain-defined attribute</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">When an O/R name contains only one organization unit
attribute, the type OU is used. When an address contains more than one
organization unit attribute, the types OU1, OU2, OU3, and OU4 are used. OU1 is
the most significant designator in the organization's hierarchy.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">Every attribute, except the last one is followed by a
semicolon.</td>
</tr>
<tr>
<td valign="top"></td>
<td valign="top">An example paper representation of an X.400 O/R name is:<br>
<pre>
X.400 C=US;A=ANYMAIL;P=XYZ;O=CLEANING COMPANY;
OU=SALES DEPT;S=DOE;G=John;I=JA;DDA.ID=123999
</pre>
<p>If each X.400 field is returned separately, then:</p>
<ul>
<li>COUNTRY would be US</li>
<li>ADMD would be ANYMAIL</li>
<li>PRMD would be XYZ</li>
<li>ORG would be CLEANING COMPANY</li>
<li>One of the organizational units would be SALES DEPT</li>
<li>SURNAM would be DOE</li>
<li>GIVENNAM would be JOHN</li>
<li>INITIALS would be JA</li>
<li>One of the domain-defined attribute types fields would be ID, and the value
of that field would be 123999.</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><em>COUNTRY</em></td>
<td valign="top">Country or region. The maximum length is 3.</td>
</tr>
<tr>
<td valign="top"><em>ADMD</em></td>
<td valign="top">Administration domain. The maximum length is 16.</td>
</tr>
<tr>
<td valign="top"><em>PRMD</em></td>
<td valign="top">Private management domain. The maximum length is 16.</td>
</tr>
<tr>
<td valign="top"><em>ORG</em></td>
<td valign="top">Organization. The maximum length is 64.</td>
</tr>
<tr>
<td valign="top"><em>SURNAM</em></td>
<td valign="top">Surname. The maximum length is 40.</td>
</tr>
<tr>
<td valign="top"><em>GIVENNAM</em></td>
<td valign="top">Given name. The maximum length is 16.</td>
</tr>
<tr>
<td valign="top"><em>INITIALS</em></td>
<td valign="top">Initials. The maximum length is 5.</td>
</tr>
<tr>
<td valign="top"><em>GENQUAL</em></td>
<td valign="top">Generation qualifier. The maximum length is 3.</td>
</tr>
<tr>
<td valign="top"><em>ORGUNIT1</em></td>
<td valign="top">Organization unit 1. The maximum length is 32.</td>
</tr>
<tr>
<td valign="top"><em>ORGUNIT2</em></td>
<td valign="top">Organization unit 2. The maximum length is 32.</td>
</tr>
<tr>
<td valign="top"><em>ORGUNIT3</em></td>
<td valign="top">Organization unit 3. The maximum length is 32.</td>
</tr>
<tr>
<td valign="top"><em>ORGUNIT4</em></td>
<td valign="top">Organization unit 4. The maximum length is 32.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAT1</em></td>
<td valign="top">Domain-defined attribute type 1. The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAV1</em></td>
<td valign="top">Domain-defined attribute value 1. The maximum length is
128.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAT2</em></td>
<td valign="top">Domain-defined attribute type 2. The maximum length is 8</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAV2</em></td>
<td valign="top">Domain-defined attribute value 2. The maximum length is
128.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAT3</em></td>
<td valign="top">Domain-defined attribute type 3. The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAV3</em></td>
<td valign="top">Domain-defined attribute value 3. The maximum length is
128.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAT4</em></td>
<td valign="top">Domain-defined attribute type 4. The maximum length is 8.</td>
</tr>
<tr>
<td valign="top"><em>DMNDFNAV4</em></td>
<td valign="top">Domain-defined attribute value 4. The maximum length is
128.</td>
</tr>
</table>
<p>See <a href="#HDRD03">SREQ0103 Format</a> for more information on the
SREQ0103 format.</p>
<p>Simple Mail Transfer Protocol (SMTP) field names:</p>
<p>These fields are the group of fields for the *SMTP special value in the
SREQ0103 format.</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>SMTPUSRID</em></td>
<td valign="top">SMTP user ID. The maximum length is 24.
<p>However, the maximum length changes to 64 if the SMTP names are converted
using the CVTNAMSMTP command.</p>
<p><strong>Note:</strong> This field is a case-sensitive field.</p>
</td>
</tr>
<tr>
<td valign="top"><em>SMTPDMN</em></td>
<td valign="top">SMTP domain.
<p>Either the SMTP domain or the SMTP route can exist, not both. The maximum
length is 256.</p>
</td>
</tr>
<tr>
<td valign="top"><em>SMTPRTE</em></td>
<td valign="top">SMTP route.
<p>Either the SMTP domain or the SMTP route can exist, not both. The maximum
length is 256.</p>
</td>
</tr>
</table>
<p>See <a href="#HDRD03">SREQ0103 Format</a> for more information on the
SREQ0103 format.</p>
<p><strong>Field value.</strong> The value of the field.</p>
<p><strong>Format name of array of fields for each user returned.</strong> The
format name of the array of fields for each user returned. This is the specific
structure for each user in either the SRCV0111 format or the SRCV0112 format.
See either <a href="#HDRSR111">SRCV0111 Format</a>, or <a href="#HDRSR112">
SRCV0112 Format</a> for more information on the array of fields for each
user.</p>
<p><strong>Format name of array of fields to return.</strong> The format name
of the array of fields to return so that the fields of each user found matching
the search criteria that is needed is known. The possible values are SREQ0102
and SREQ0103. See <a href="#HDRD22">SREQ0102 Format</a>, or <a href="#HDRD03">
SREQ0103 Format</a> for more information on the array of fields to return for
each user.</p>
<p><strong>Format name of array of users to return in the receiver
variable.</strong> The format name of the array of users to return after the
search is complete. This is so the format to return the search results is
known. The possible value is SRCV0101. See <a href="#HDRSR101">SRCV0101
Format</a> for more information on the array of users returned.</p>
<p><strong>Format name of order of field names array returned.</strong> The
format name of the order of field names to be returned. Possible values are
blank and SRCV0120. If the value is blank, the order of the field names array
is not returned. The order of field names array is not returned if user-defined
fields are requested as only the user-defined fields that exist for each user
is returned and are not in any specified order.</p>
<p><strong>Format name of the search request array.</strong> The format name of
the search request array so that the format of the search request is known. The
possible value is SREQ0101. See <a href="#HDRD21">SREQ0101 Format</a> for more
information on the array of search fields.</p>
<p><strong>Length of data for this user.</strong> The length of both the header
information and the fields that are returned for the user.</p>
<p><strong>Length of entry (including this field).</strong> The length of the
entry in the array of all of the fields including this field.</p>
<p><strong>Length of field value returned.</strong> The length, in bytes, of
the field value. If this value is 0, there is no data in the field.</p>
<p><strong>Length of value.</strong> If the length of the value is 0, this
field is ignored on the search request. There must be at least one field in the
search request array with a length of value greater than 0 and the value is not
blank spaces.</p>
<p>The maximum length is 512.</p>
<p><strong>Maximum field length.</strong> The maximum length of this directory
field.</p>
<p><strong>Number of bytes returned.</strong> The length of the data returned.
If the receiver variable is not large enough to hold all of the data available,
only the data that will fit in the space available is returned and this value
will be less than the bytes available.</p>
<p><strong>Number of directory entries returned.</strong> This is the number of
directory entries that are returned in SRCV0101. It is the number of directory
entries found as a result of the search request. If more directory entries are
available but there was not enough space available in the SRCV0101 structure,
the continuation handle will be 1. If all of the entries are returned, the
continuation handle will be 0.</p>
<p><strong>Number of directory field names returned.</strong> The number of
elements in the field name array.</p>
<p><strong>Number of directory fields.</strong> The total number of directory
fields for the type of fields requested. If the continuation handler for
directory fields is not blank, then there are more fields available.</p>
<p><strong>Number of elements in the fields to return array.</strong> The
number of fields to be returned for each user. These fields are returned in the
receiver variable.</p>
<p><strong>Number of elements in the search request array.</strong> The number
of fields and values to match for the search request. The maximum number of
elements allowed is 100.</p>
<p><strong>Number of elements to return in the array of users to
return.</strong> The number that should be used to return a fixed number of
elements on a call to the API. The number of elements returned will be less
than or equal to the number specified here. If the number returned is less than
the number specified, then either all of the elements that met the criteria
were returned or the size of the receiver variable could not hold the number
specified.</p>
<p>The continuation handle will be set if more data exists after returning the
number of elements specified for this parameter.</p>
<p>If this number is 0, the maximum number of elements possible is
returned.</p>
<p>This field could be used to limit the run time of the API. For instance, it
could be used to retrieve only the number of users needed to file a subfile
page.</p>
<p><strong>Number of fields returned.</strong> The number of fields returned
for the user. Fields are returned even if blank.</p>
<p><strong>Offset to array of fields to return.</strong> The offset, in bytes,
to the array of fields to return.</p>
<p><strong>Offset to order of fields returned array.</strong> The offset, in
bytes, to the order of fields returned array. The value can be 0 if either the
order of the fields is not needed or the user-defined fields are returned. This
is requested in the SREQ0100 format. See <a href="#HDRD10">SREQ0100 Format</a>
for more information on the offset to order of fields returned array.</p>
<p><strong>Offset to the array of directory field names.</strong> The offset,
in bytes, to the array of directory field names at the bottom of the SRCV0200
structure.</p>
<p><strong>Offset to the first array of users entry.</strong> The offset, in
bytes, to the array of users in the SRCV0100 structure. This is the offset to
the first entry in the array of users that are returned that match the search
criteria.</p>
<p><strong>Offset to the search request array.</strong> The offset, in bytes,
to the search request array in the SREQ0100 format. See <a href="#HDRD10">
SREQ0100 Format</a> for more information on the offset to the search request
array.</p>
<p><strong>Order of fields returned array.</strong> The array of fields names
of the order of the fields in the array of fields for each user (in either the
SRCV0111 format or the SRCV0112 format) that is returned. For more information
see <a href="#HDRSR120">SRCV0120 Format</a>.</p>
<p><strong>Product ID.</strong> A special value of *IBM indicates that the
field is an i5/OS system distribution directory field. A value of blank spaces
indicates that there is no product ID associated with the field name.</p>
<p>An error will be signaled if:</p>
<ul>
<li>The field name and product ID cannot be found.</li>
<li>The product ID is blank and the field name does not exist with a product ID
of *NONE.</li>
</ul>
<p><strong>Reserved.</strong> This is used to align the character set of the
value field.</p>
<p><strong>Resource handle.</strong> This value needs to be set from the output
resource handle variable that was used as output in the receiver buffer from a
previous search.</p>
<p>On the first call, this value needs to be blank.</p>
<p>To use the resource handle, you must specify to keep the temporary resources
option on the previous search.</p>
<p>If you are continuing a search, the resource handle must be set from the
output resource handle variable from a previous search of the same
criteria.</p>
<p>If you are not continuing a search, the resource handle can be reused and
the continuation handle will be set to 0. This will reuse the open files and
temporary work areas.</p>
<p>If a resource handle is reused on another search, a continuation of a
previous search is attempted using the same resource handle and the
continuation is no longer valid for the previous search.</p>
<p><strong>Return fields in order specified option.</strong> The option to
return the fields in the order specified in the array of fields to return
format. See <a href="#HDRD22">SREQ0102 Format</a> for the structure of this
array. The valid values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Return fields in the predefined order as specified in the
Field name field description in <a href="#SPTFIELD">Field name</a>. This is the
default.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Return the fields as specified in <a href="#HDRD22">SREQ0102
Format</a>. This option may give slower response on the search request. <a
href="#HDRSR120">SRCV0120 Format</a> and <a href="#HDRD03">SREQ0103 Format</a>
cannot be used with this option.</td>
</tr>
</table>
<p><strong>Run verify indicator.</strong> The option to verify the input
parameters. Running the verification process has the potential to increase the
time it takes to run a search. If the verification flag is set off and no valid
data is passed as input, unpredictable results may occur.</p>
<p>The purpose of this indicator is so verification does not have to be run
when continuing the return of data, or when a search request is repeated.</p>
<p>The valid values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">Do not run the verification process.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">Run the verification process.</td>
</tr>
</table>
<p>For the first search request, it is recommended that this value be 1.</p>
<p><strong>Search request array.</strong> An array of search fields. There is a
maximum of 100 entries. See <a href="#HDRD21">SREQ0101 Format</a> for the
structure of this array.</p>
<p>The first element that is entered in the search request array is considered
to be the key for the search. This is important for performance because the
more distinct the key, the faster the search. Records will be returned in the
order of the field specified as the key.</p>
<p>A performance consideration that should be made when choosing the key value
is a value to match that contains wildcard characters. The search key should
contain fields that occur a minimum number of times on the system. For this
reason, it is more efficient to specify a key search value that does not
contain wildcards.</p>
<p>The search is an AND of all the input fields. It will be a full match or a
generic match if a wildcard character is used as the last character of the
field value.</p>
<p><strong>Special value of fields to be returned.</strong> This field selects
a group of fields depending on the special value. The order of the field names
returned in the SRCV0101 format is returned in the format, SRCV0120. The
SRCV0120 format is optional. It is optional because the order of the field
names is always the same, but it is given so you can programmatically find the
order of fields returned.</p>
<p>The special values are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>*SYSDIR</em></td>
<td valign="top">Returns all of the system distribution directory fields except
the X.400 O/R name fields, the SMTP name fields, and the user-defined
fields.</td>
</tr>
<tr>
<td valign="top"><em>*ORNAME</em></td>
<td valign="top">Returns the X.400 O/R name fields.</td>
</tr>
<tr>
<td valign="top"><em>*SMTP</em></td>
<td valign="top">Returns the SMTP name fields.</td>
</tr>
</table>
<p><strong>Type of system distribution directory fields to return.</strong> The
indicator for the type of system distribution directory fields that are defined
on the system to be returned.</p>
<p>The possible values are:</p>
<table cellpadding="3">
<!-- cols="5 95" -->
<tr>
<td valign="top"><em>0</em></td>
<td valign="top">All system distribution directory fields, including both
IBM-defined fields and user-defined fields.</td>
</tr>
<tr>
<td valign="top"><em>1</em></td>
<td valign="top">IBM-defined system distribution directory fields.</td>
</tr>
<tr>
<td valign="top"><em>2</em></td>
<td valign="top">User-defined system distribution directory fields.</td>
</tr>
</table>
<p><strong>Value to match.</strong> If a blank value is encountered, the API
will ignore the field.</p>
<p>All values entered are monocased and converted to a common character set and
code page before the search takes place. Therefore, the uppercase and lowercase
characters are not distinguished, except for the SMTP user ID where it is
distinguished. However, if the SMTP names are converted (CVTNAMSMTP command),
the SMTP user ID is not distinguished because the SMTP fields are converted
into user-defined fields.</p>
<p>A maximum of one wildcard character is allowed in the value to match
field.</p>
<p><strong>Wildcard character.</strong> The wildcard character indicates the
wildcard character used for wildcard searches. An example of a wildcard
character is an asterisk (*); however, the wildcard character can be anything
you specify. If the character is encountered in the values to search on, that
value indicates a wildcard search. This wildcard character will be in the CCSID
or character set and code page (CHRID) that is used as input.</p>
<p>The wildcard character represents any number of characters (not just one
character) in the search value to match. If a blank is used for a wildcard
value, the API will not check for wildcards and the value will be checked
specifically as input.</p>
<p><strong>Note:</strong> The wildcard character field is a CHAR(4) because of
DBCS and SBCS. In addition, for SBCS the wildcard character field is
left-adjusted.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="3">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9A8C E</td>
<td valign="top">Error occurred with QOKSCHD API. Reason code &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9845 E</td>
<td valign="top">Error occurred while opening file &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9846 E</td>
<td valign="top">Error while processing file &amp;1 in library &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9847 E</td>
<td valign="top">Error occurred while closing file &amp;1 in library
&amp;2.</td>
</tr>
<tr>
<td align="left" 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 align="left" valign="top">CPI9A9C I</td>
<td valign="top">Search data does not exist.</td>
</tr>
</table>
<br>
<hr>
API introduced: V3R1
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"off1a.htm">Office APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</body>
</html>