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

1607 lines
47 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Copyright" content="Copyright (c) 2006 by IBM Corporation">
<title>Retrieve Service Program Information (QBNRSPGM) 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. -->
<!-- QBNRSPG SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 11:14:11 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File by Kersten Jan 2002 -->
<!--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>Retrieve Service Program Information (QBNRSPGM) 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">Length of receiver variable</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Format name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Qualified service program name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">5</td>
<td align="left" valign="top">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 Retrieve Service Program Information (QBNRSPGM) API lets you retrieve
service program information and place it into a single variable in the calling
program. The amount of information returned is limited to the size of the
variable. This information is similar to the information returned using the
Display Service Program (DSPSRVPGM) command.</p>
<p>You can use the QBNRSPGM API to retrieve the following:</p>
<ul>
<li>Service program creation information</li>
<li>Service program statistics</li>
<li>Service program performance information</li>
<li>Service program size information</li>
</ul>
<br>
<h3><a name="HDRAALK">Authorities and Locks</a></h3>
<dl>
<dt><em>Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Service Program Authority (see note)</em></dt>
<dd>*READ</dd>
<dt><em>Service Program Lock</em></dt>
<dd>*SHRRD</dd>
</dl>
<p><strong>Note:</strong>You must have *USE service program authority to
retrieve the following fields in the SPGI0100 format:</p>
<ul>
<li>Export source file name</li>
<li>Export source file library name</li>
<li>Export source file member name</li>
</ul>
<p>If you attempt to retrieve these fields with *READ service program
authority, they are set to blanks. All other fields in the SPGI0100 format
require *READ service program authority.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Receiver variable</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The variable that is to receive the information requested. The minimum size
for this area is 8 bytes. You can specify the size of this area to be smaller
than the format requested if you specify the length of receiver variable
parameter correctly. As a result, the API returns only the data that 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. If this value is larger than the actual
size of the receiver variable, the results may not be predictable. The minimum
value is 8.</p>
</dd>
<dt><strong>Format name</strong></dt>
<dd>INPUT; CHAR(8)
<p>The content and format of the information returned for the service
program.</p>
<p>The possible format names are:</p>
<table cellpadding="5">
<!-- cols="25 75" -->
<tr>
<td align="left" valign="top"><em><a href="#HDRRPGM11">SPGI0100</a></em></td>
<td align="left" valign="top">Basic service program information.</td>
</tr>
<tr>
<td align="left" valign="top"><em><a href="#HDRRPGM22">SPGI0200</a></em></td>
<td align="left" valign="top">Service program size information.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Qualified service program name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The first 10 characters contain the service program name. The second 10
characters contain the name of the library where the service program is
located.</p>
<p>You can use these special values for the library name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CURLIB</em></td>
<td align="left" valign="top">The job's current library</td>
</tr>
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list</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="HDRRPGM11">SPGI0100 Format</a></h3>
<p>The following information is returned for the SPGI0100 format. See <a href=
"#HDRAALK">Authorities and Locks</a> for the authority needed regarding
specific fields. For detailed descriptions of the fields in the table, see <a
href="#HDRRPGMDDF">Field Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4">Service program creation
information</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">Service program name</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Service program library name</td>
</tr>
<tr>
<td align="center" valign="top">28</td>
<td align="center" valign="top">1C</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Service program owner</td>
</tr>
<tr>
<td align="center" valign="top">38</td>
<td align="center" valign="top">26</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Service program attribute</td>
</tr>
<tr>
<td align="center" valign="top">48</td>
<td align="center" valign="top">30</td>
<td align="left" valign="top">CHAR(13)</td>
<td align="left" valign="top">Creation date and time</td>
</tr>
<tr>
<td align="center" valign="top">61</td>
<td align="center" valign="top">3D</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Export source file name</td>
</tr>
<tr>
<td align="center" valign="top">71</td>
<td align="center" valign="top">47</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Export source file library name</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">Export source file member name</td>
</tr>
<tr>
<td align="center" valign="top">91</td>
<td align="center" valign="top">5B</td>
<td align="left" valign="top">CHAR(30)</td>
<td align="left" valign="top">Activation group attribute</td>
</tr>
<tr>
<td align="center" valign="top">121</td>
<td align="center" valign="top">79</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Current export signature</td>
</tr>
<tr>
<td align="center" valign="top">137</td>
<td align="center" valign="top">89</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">User profile</td>
</tr>
<tr>
<td align="center" valign="top">138</td>
<td align="center" valign="top">8A</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Observable information compressed</td>
</tr>
<tr>
<td align="center" valign="top">139</td>
<td align="center" valign="top">8B</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Run-time information compressed</td>
</tr>
<tr>
<td align="center" valign="top">140</td>
<td align="center" valign="top">8C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Service program CCSID</td>
</tr>
<tr>
<td align="center" valign="top">144</td>
<td align="center" valign="top">90</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of modules</td>
</tr>
<tr>
<td align="center" valign="top">148</td>
<td align="center" valign="top">94</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of service programs</td>
</tr>
<tr>
<td align="center" valign="top">152</td>
<td align="center" valign="top">98</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of copyrights</td>
</tr>
<tr>
<td align="center" valign="top">156</td>
<td align="center" valign="top">9C</td>
<td align="left" valign="top">CHAR(50)</td>
<td align="left" valign="top">Text description</td>
</tr>
<tr>
<td align="center" valign="top">206</td>
<td align="center" valign="top">CE</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Shared activation group</td>
</tr>
<tr>
<td align="center" valign="top">207</td>
<td align="center" valign="top">CF</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow update</td>
</tr>
<tr>
<td align="center" valign="top">208</td>
<td align="center" valign="top">D0</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Number of unresolved references</td>
</tr>
<tr>
<td align="center" valign="top">212</td>
<td align="center" valign="top">D4</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Use adopted authority</td>
</tr>
<tr>
<td align="center" valign="top">213</td>
<td align="center" valign="top">D5</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow bound *SRVPGM library name update</td>
</tr>
<tr>
<td align="center" valign="top">214</td>
<td align="center" valign="top">D6</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Profiling data</td>
</tr>
<tr>
<td align="center" valign="top">224</td>
<td align="center" valign="top">E0</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Teraspace storage enabled modules</td>
</tr>
<tr>
<td align="center" valign="top">225</td>
<td align="center" valign="top">E1</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Storage model</td>
</tr>
<tr>
<td align="center" valign="top">226</td>
<td align="center" valign="top">E2</td>
<td align="left" valign="top">CHAR(80)</td>
<td align="left" valign="top">Reserved '00'X</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4">Service program statistics
information</td>
</tr>
<tr>
<td align="center" valign="top">306</td>
<td align="center" valign="top">132</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Service program state</td>
</tr>
<tr>
<td align="center" valign="top">307</td>
<td align="center" valign="top">133</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Service program domain</td>
</tr>
<tr>
<td align="center" valign="top">308</td>
<td align="center" valign="top">134</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Associated space size</td>
</tr>
<tr>
<td align="center" valign="top">312</td>
<td align="center" valign="top">138</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Static storage size</td>
</tr>
<tr>
<td align="center" valign="top">316</td>
<td align="center" valign="top">13C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Service program size</td>
</tr>
<tr>
<td align="center" valign="top">320</td>
<td align="center" valign="top">140</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release service program created on</td>
</tr>
<tr>
<td align="center" valign="top">326</td>
<td align="center" valign="top">146</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Earliest release service program can run</td>
</tr>
<tr>
<td align="center" valign="top">332</td>
<td align="center" valign="top">14C</td>
<td align="left" valign="top">CHAR(6)</td>
<td align="left" valign="top">Release service program created for</td>
</tr>
<tr>
<td align="center" valign="top">338</td>
<td align="center" valign="top">152</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Allow static storage reinitialization</td>
</tr>
<tr>
<td align="center" valign="top">339</td>
<td align="center" valign="top">153</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Conversion required</td>
</tr>
<tr>
<td align="center" valign="top">340</td>
<td align="center" valign="top">154</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">All creation data</td>
</tr>
<tr>
<td align="center" valign="top">341</td>
<td align="center" valign="top">155</td>
<td align="left" valign="top">CHAR(91)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4">Service program performance
information</td>
</tr>
<tr>
<td align="center" valign="top">432</td>
<td align="center" valign="top">1B0</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Paging pool</td>
</tr>
<tr>
<td align="center" valign="top">433</td>
<td align="center" valign="top">1B1</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Paging amount</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRPGM22">SPGI0200 Format</a></h3>
<p>The following information is returned for the SPGI0200 format. For detailed
descriptions of the fields in the table, see <a href="#HDRRPGMDDF">Field
Descriptions</a>.</p>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="left" valign="top" colspan="4">Service program size information</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">Service program name</td>
</tr>
<tr>
<td align="center" valign="top">18</td>
<td align="center" valign="top">12</td>
<td align="left" valign="top">CHAR(10)</td>
<td align="left" valign="top">Service program library name</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">Current total service program size</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum service program size</td>
</tr>
<tr>
<td align="center" valign="top">36</td>
<td align="center" valign="top">24</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Current number of modules</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of modules</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">Current number of service programs</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">Maximum number of service programs</td>
</tr>
<tr>
<td align="center" valign="top">52</td>
<td align="center" valign="top">34</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Current string directory size</td>
</tr>
<tr>
<td align="center" valign="top">56</td>
<td align="center" valign="top">38</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum string directory size</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">Current copyright string size</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">Maximum copyright string size</td>
</tr>
<tr>
<td align="center" valign="top">68</td>
<td align="center" valign="top">44</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Current number of auxiliary storage segments</td>
</tr>
<tr>
<td align="center" valign="top">72</td>
<td align="center" valign="top">48</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of auxiliary storage segments</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">Current number of program procedure exports</td>
</tr>
<tr>
<td align="center" valign="top">80</td>
<td align="center" valign="top">50</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of program procedure exports</td>
</tr>
<tr>
<td align="center" valign="top">84</td>
<td align="center" valign="top">54</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Current number of program data exports</td>
</tr>
<tr>
<td align="center" valign="top">88</td>
<td align="center" valign="top">58</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of program data exports</td>
</tr>
<tr>
<td align="center" valign="top">92</td>
<td align="center" valign="top">5C</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Current number of signatures</td>
</tr>
<tr>
<td align="center" valign="top">96</td>
<td align="center" valign="top">60</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum number of signatures</td>
</tr>
<tr>
<td align="center" valign="top">100</td>
<td align="center" valign="top">64</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Minimum static storage size</td>
</tr>
<tr>
<td align="center" valign="top">104</td>
<td align="center" valign="top">68</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Maximum static storage size</td>
</tr>
<tr>
<td align="center" valign="top">108</td>
<td align="center" valign="top">6C</td>
<td align="left" valign="top">CHAR(4)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">112</td>
<td align="center" valign="top">70</td>
<td align="left" valign="top">BINARY(8)</td>
<td align="left" valign="top">Minimum static storage size - long</td>
</tr>
<tr>
<td align="center" valign="top">120</td>
<td align="center" valign="top">78</td>
<td align="left" valign="top">BINARY(8)</td>
<td align="left" valign="top">Maximum static storage size - long</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRRPGMDDF">Field Descriptions</a></h3>
<p>For more detailed information than that provided in the following field
descriptions, refer to the online help for the Create Service Program
(CRTSRVPGM) command.</p>
<p><strong>Activation group attribute.</strong> The activation group attribute
of this service program.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*CALLER</em></td>
<td align="left" valign="top">The service program runs in the activation group of the
program from which it is called.</td>
</tr>
<tr>
<td align="left" valign="top"><em>activation group name</em></td>
<td align="left" valign="top">The name of the activation group in which this service program
runs. If the activation group already exists when the service program is
called, the service program runs in the existing activation group. If the
activation group does not exist when the service program is called, a new
activation group is created in which the service program runs.</td>
</tr>
</table>
<p><strong>All creation
data.</strong> Whether the ILE service program has all creation data and if
that data is observable or unobservable. All observable creation data is needed
to re-create the service program using the Change Service Program (CHGSRVPGM)
command. All creation data (either observable or unobservable) is needed to
convert the service program during restore.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">*NO. Not all of the creation data is present. The creation
template of the service program object could be missing or at least one of the
modules in this service program does not have creation data. The Display
Service Program (DSPSRVPGM) command with *MODULE specified as the value for the
DETAIL parameter can be used to see whether a module has creation data.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">*YES. The ILE service program has all creation data and all of
that data is observable.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2</em></td>
<td align="left" valign="top">*UNOBS. The ILE service program has all creation data but not
all of that data is observable.</td>
</tr>
</table>
<p><strong>Allow static storage reinitialization.</strong> Whether service
program static storage can be reinitialized.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">Program static storage can be reinitialized.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Program static storage cannot be reinitialized.</td>
</tr>
</table>
<p><strong>Allow bound *SRVPGM library name update.</strong> Whether the Update
Service Program (UPDSRVPGM) command is allowed to change the bound *SRVPGM
library names on this service program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">The UPDSRVPGM command can specify a library name for the
SRVPGMLIB parameter.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The UPDSRVPGM command cannot specify a library name for the SRVPGMLIB
parameter.</td>
</tr>
</table>
<p><strong>Allow update.</strong> Whether the Update Service Program
(UPDSRVPGM) command is allowed on this service program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">The UPDSRVPGM command can be run on this service program.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The UPDSRVPGM command cannot be run on this service
program.</td>
</tr>
</table>
<p><strong>Associated space size.</strong> The size (in bytes) of the
associated space used by this service program.</p>
<p><strong>Bytes available.</strong> The number of bytes of data available to
be returned. All available data is returned if enough space is provided.</p>
<p><strong>Bytes returned.</strong> The number of bytes of data returned.</p>
<p><strong>Conversion required.</strong> Indicates whether the service program
has been converted to reduced instruction-set computer (RISC) format or if
conversion is still required.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Conversion is not required. The service program has been
converted.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Conversion is required.</td>
</tr>
</table>
<p><strong>Creation date and time.</strong> The date and time the service
program was created. The creation date and time field is in the CYYMMDDHHMMSS
format as follows:</p>
<table cellpadding="5">
<!-- cols="10 90" -->
<tr>
<td align="left" valign="top"><em>C</em></td>
<td align="left" valign="top">Century, where 0 indicates years 19<em>xx</em> and 1 indicates
years 20<em>xx</em>.</td>
</tr>
<tr>
<td align="left" valign="top">YY</td>
<td align="left" valign="top">Year</td>
</tr>
<tr>
<td align="left" valign="top">MM</td>
<td align="left" valign="top">Month</td>
</tr>
<tr>
<td align="left" valign="top">DD</td>
<td align="left" valign="top">Day</td>
</tr>
<tr>
<td align="left" valign="top">HH</td>
<td align="left" valign="top">Hour</td>
</tr>
<tr>
<td align="left" valign="top">MM</td>
<td align="left" valign="top">Minute</td>
</tr>
<tr>
<td align="left" valign="top">SS</td>
<td align="left" valign="top">Second</td>
</tr>
</table>
<p><strong>Current copyright string size.</strong> The size of the service
program's copyright string.</p>
<p><strong>Current export signature.</strong> The current export signature of
this service program.</p>
<p><strong>Current number of auxiliary storage segments.</strong> The number of
auxiliary storage segments in this service program.</p>
<p><strong>Current number of modules.</strong> The number of modules bound into
this service program.</p>
<p><strong>Current number of program data exports.</strong> The number of data
items exported from this service program.</p>
<p><strong>Current number of program procedure exports.</strong> The number of
procedures exported from this service program.</p>
<p><strong>Current number of service programs.</strong> The number of service
programs bound to this service program.</p>
<p><strong>Current number of signatures.</strong> The number of signatures for
this service program.</p>
<p><strong>Current string directory size.</strong> The service program's string
directory size.</p>
<p><strong>Current total service program size.</strong> The total size of the
service program, in kilobytes.</p>
<p><strong>Earliest release service program can run.</strong> The version,
release, and modification level of the earliest release on which the service
program is allowed to run. The field has a VvRrMm format, where:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Vv</em></td>
<td align="left" valign="top">The character V is followed by a 1-character version
number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Rr</em></td>
<td align="left" valign="top">The character R is followed by a 1-character release
level.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Mm</em></td>
<td align="left" valign="top">The character M is followed by a 1-character modification
level.</td>
</tr>
</table>
<p><strong>Export source file library name.</strong> The name of the library
that contains the export source file. This may be blank if:</p>
<ul>
<li>No export source file was specified on the CRTSRVPGM command.</li>
<li>You attempt to retrieve this field with a service program authority of
*READ. A service program authority of *USE is required.</li>
</ul>
<p><strong>Export source file member name.</strong> The name of the member in
the export source file that was used to create this service program. This may
be blank if:</p>
<ul>
<li>No export source file was specified on the CRTSRVPGM command.</li>
<li>You attempt to retrieve this field with a service program authority of
*READ. A service program authority of *USE is required.</li>
</ul>
<p><strong>Export source file name.</strong> The name of the export source file
that contains the export source file member. This may be blank if:</p>
<ul>
<li>No export source file was specified on the CRTSRVPGM command.</li>
<li>You attempt to retrieve this field with a service program authority of
*READ. A service program authority of *USE is required.</li>
</ul>
<p><strong>Maximum copyright string size.</strong> The maximum size of the
copyright string in a service program.</p>
<p><strong>Maximum number of auxiliary storage segments.</strong> The maximum
number of auxiliary storage segments a service program can have.</p>
<p><strong>Maximum number of modules.</strong> The maximum number of modules
that can be bound into a service program.</p>
<p><strong>Maximum number of program data exports.</strong> The maximum number
of data items that can be exported by a service program.</p>
<p><strong>Maximum number of program procedure exports.</strong> The maximum
number of procedures that can be exported by a service program.</p>
<p><strong>Maximum number of service programs.</strong> The maximum number of
service programs that can be bound to a service program.</p>
<p><strong>Maximum number of signatures.</strong> The maximum number of
signatures that can be in a service program.</p>
<p><strong>Maximum service program size.</strong> The maximum size of a service
program, in kilobytes.</p>
<p><strong>Maximum static storage size.</strong> The maximum amount of static
storage in bytes that may be needed to run the service program. A value of 4294967295 will be given if 4
gigabytes (4294967296) or greater is needed. In this case, the <em>maximum
static storage size - long</em> field should be used instead.</p>
<p><strong>Maximum static storage size - long.</strong> The maximum amount of
static storage in bytes that may be needed to run the service program.</p>
<p><strong>Maximum string directory size.</strong> The maximum size of the
string directory in a service program, in bytes.</p>
<p><strong>Minimum static storage size.</strong> The minimum amount of static
storage, in bytes, needed to run the service program. A value of 4294967295 will be given if 4 gigabytes
(4294967296) or greater is needed. In this case, the <em>minimum static storage
size - long</em> field should be used instead.</p>
<p><strong>Minimum static storage size - long.</strong> The minimum amount of
static storage in bytes needed to run the service program.</p>
<p><strong>Number of copyrights.</strong> The number of copyrights in this
service program.</p>
<p><strong>Number of modules.</strong> The number of modules bound into this
service program.</p>
<p><strong>Number of service programs.</strong> The number of service programs
bound to this program.</p>
<p><strong>Number of unresolved references.</strong> The number of symbols that
could not be resolved at Create Service Program (CRTSRVPGM) command time. This
number could be zero if all references were resolved at the time the service
program was created.</p>
<p><strong>Observable information compressed.</strong> Whether the observable
information associated with the service program is compressed.</p>
<p>The possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">The observable information is compressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The observable information is not compressed.</td>
</tr>
</table>
<p><strong>Paging amount.</strong> The compiler may have allowed you to control
this attribute through the GENOPT parameter of the CRTSRVPGM command.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Page the program one page at a time (*NOBLOCK).</td>
</tr>
<tr>
<td align="left" valign="top"><em>B</em></td>
<td align="left" valign="top">Page the program in eight-page blocks (*BLOCK).</td>
</tr>
</table>
<p>*BLOCK gives better performance in most situations. It is likely that more
than one page in the block is referred to before being replaced by other paging
occurring in the storage pool.</p>
<p>*NOBLOCK can give better performance if the other pages that would have been
brought in as a block are unlikely to be referred to before being replaced by
other paging.</p>
<p><strong>Paging pool.</strong> The paging pool used for the service program
object. The compiler may have allowed you to control this attribute through the
GENOPT parameter of the CRTSRVPGM command.</p>
<p>The values returned are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">Use the user pool (*USER).</td>
</tr>
<tr>
<td align="left" valign="top"><em>M</em></td>
<td align="left" valign="top">Use the machine pool (*MACHINE).</td>
</tr>
</table>
<p>*USER is used by most system service programs and all user service programs
unless GENOPT(*MACHINE) is specified.</p>
<p>*MACHINE is used by a few system service programs that are so highly used
that their pages should remain almost constantly in main storage. The machine
pool is intended to be a stable, low paging pool. If user service programs page
in the machine pool, there may be contention for main storage between system
and user service programs. This may adversely affect system performance and
response times. To prevent paging contention, increase the QMCHPOOL system
value with the Change System Value (CHGSYSVAL) command.</p>
<p><strong>Profiling data.</strong> The profiling data attribute for this
service program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NOCOL</em></td>
<td align="left" valign="top">The collection of profiling data is not enabled and profiling
data is not applied.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*COL</em></td>
<td align="left" valign="top">The collection of profiling data is enabled for at least one
module bound into this service program. Any applied profiling data has been
removed. The QBNLSPGM API, format SPGL0100, can be used to determine if a
module bound into this service program is enabled to collect profiling
data.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*APYBLKORD</em></td>
<td align="left" valign="top">Block-order profiling data has been applied to at least one
module bound into this service program. The QBNLSPGM API, format SPGL0100, can
be used to determine if a module bound into this service program has
block-order profiling data applied.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*APYPRCORD</em></td>
<td align="left" valign="top">Procedure-order profiling data has been applied to this
service program.</td>
</tr>
<tr>
<td align="left" valign="top"><em>*APYALL</em></td>
<td align="left" valign="top">Block-order and procedure-order profiling data have been
applied to this service program.</td>
</tr>
</table>
<p><strong>Release service program created for.</strong> This is the release
specified on the target release (TGTRLS) parameter of the Create Service
Program (CRTSRVPGM) command. The value specified for the TGTRLS parameter can
affect the earliest release value on which the program can run.</p>
<p><strong>Release service program created on.</strong> The version, release,
and modification level of the operating system on which the service program was
created. The field has a VvRrMm format, where:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Vv</em></td>
<td align="left" valign="top">The character V is followed by a 1-character version
number.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Rr</em></td>
<td align="left" valign="top">The character R is followed by a 1-character release
level.</td>
</tr>
<tr>
<td align="left" valign="top"><em>Mm</em></td>
<td align="left" valign="top">The character M is followed by a 1-character modification
level.</td>
</tr>
</table>
<p><strong>Reserved.</strong> An ignored field.</p>
<p><strong>Run-time information compressed.</strong> Whether the run-time
information associated with the service program is compressed.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">The run-time information is compressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The run-time information is not compressed.</td>
</tr>
</table>
<p><strong>Service program attribute.</strong> The language the program is
written in (for example, RPG.)</p>
<p><strong>Service program CCSID.</strong> The coded character set identifier
(CCSID) for this service program. This is 65535 for service programs.</p>
<p><strong>Service program domain.</strong> The domain of the service
program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">The service program can be called by system-state
programs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">The service program can be called by user- or system-state
programs.</td>
</tr>
</table>
<p><strong>Service program library name.</strong> The name of the library
containing the service program.</p>
<p><strong>Service program name.</strong> The name of the service program.</p>
<p><strong>Service program owner.</strong> The name of the service program
owner's user profile.</p>
<p><strong>Service program size.</strong> The size (in bytes) of this service
program.</p>
<p><strong>Service program state.</strong> The state of the service
program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>I</em></td>
<td align="left" valign="top">The service program runs under (inherits) the same state as
its caller.</td>
</tr>
<tr>
<td align="left" valign="top"><em>S</em></td>
<td align="left" valign="top">The service program can call user- or system-state
programs.</td>
</tr>
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">The service program can call user-state programs.</td>
</tr>
</table>
<p><strong>Shared activation group.</strong> Whether the service program runs
in a shared activation group.</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">The activation group is shared.</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">The activation group is not shared.</td>
</tr>
</table>
<p><strong>Static storage size.</strong> The maximum amount of static storage
in bytes that may be needed to run the service program. A value of 4294967295 will be given if 4
gigabytes (4294967296) or greater is needed. In this case, the <em>maximum
static storage size - long</em> field should be used. The <em>maximum static
storage size - long</em> field is available from the SPGI0200 format.</p>
<p><strong>Storage model.</strong> Where the automatic and static storage for
this service program is allocated at run time.</p>
<p>The following values can be returned:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>0 *SNGLVL</em></td>
<td align="left" valign="top">Automatic and static storage are allocated from single-level
storage.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1 *TERASPACE</em></td>
<td align="left" valign="top">Automatic and static storage are allocated from
teraspace.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2 *INHERIT</em></td>
<td align="left" valign="top">Automatic and static storage are allocated from either
single-level storage or teraspace, depending on the activation.</td>
</tr>
</table>
<p><strong>Teraspace storage enabled modules.</strong> The teraspace storage
capability of the modules bound to this service program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>'00'X</em></td>
<td align="left" valign="top">No modules bound to this service program are teraspace storage
enabled.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'80'X</em></td>
<td align="left" valign="top">One or more modules bound to this service program are
teraspace storage enabled.</td>
</tr>
<tr>
<td align="left" valign="top"><em>'A0'X</em></td>
<td align="left" valign="top">All modules bound to this service program are teraspace
storage enabled.</td>
</tr>
</table>
<p><strong>Text description.</strong> The user text, if any, used to briefly
describe the service program and its function.</p>
<p><strong>Use adopted authority.</strong> The value specified for the
USEADPAUT option on the command used to change the service program.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>Y</em></td>
<td align="left" valign="top">Uses program adopted authority from previous call levels when
this service program is running (*YES).</td>
</tr>
<tr>
<td align="left" valign="top"><em>N</em></td>
<td align="left" valign="top">Does not use program adopted authority from previous call
levels when this service program is running (*NO).</td>
</tr>
</table>
<p><strong>User profile.</strong> The value specified for the USRPRF option on
the CRTSRVPGM command.</p>
<p>Possible values are:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>U</em></td>
<td align="left" valign="top">The service program runs under the current user's user profile
(*USER).</td>
</tr>
<tr>
<td align="left" valign="top"><em>O</em></td>
<td align="left" valign="top">The service program runs under both the current user's and the
owner's user profiles (*OWNER).</td>
</tr>
</table>
<br>
<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">CPF2150 E</td>
<td width="85%" valign="top">Object information function failed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF2151 E</td>
<td align="left" valign="top">Operation failed for &amp;2 in &amp;1 type *&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF24B4 E</td>
<td align="left" valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C19 E</td>
<td align="left" valign="top">Error occurred with receiver variable specified.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C20 E</td>
<td align="left" valign="top">Error found by program &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C21 E</td>
<td align="left" valign="top">Format name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C24 E</td>
<td align="left" valign="top">Length of the receiver variable is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8122 E</td>
<td align="left" valign="top">&amp;8 damage on library &amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF8123 E</td>
<td align="left" valign="top">Damage on object information for library &amp;4.</td>
</tr>
<tr>
<td align="left" valign="top">CPF813D E</td>
<td align="left" valign="top">Service program &amp;4 in &amp;9 damaged.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9801 E</td>
<td align="left" valign="top">Object &amp;2 in library &amp;3 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9802 E</td>
<td align="left" valign="top">Not authorized to object &amp;2 in &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9803 E</td>
<td align="left" valign="top">Cannot allocate object &amp;2 in library &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9806 E</td>
<td align="left" valign="top">Cannot perform function for object &amp;2 in library
&amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9807 E</td>
<td align="left" valign="top">One or more libraries in library list deleted.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9808 E</td>
<td align="left" valign="top">Cannot allocate one or more libraries on library list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9810 E</td>
<td align="left" valign="top">Library &amp;1 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9811 E</td>
<td align="left" valign="top">Program &amp;1 in library &amp;2 not found.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9820 E</td>
<td align="left" valign="top">Not authorized to use library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9821 E</td>
<td align="left" valign="top">Not authorized to program &amp;1 in library &amp;2.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9830 E</td>
<td align="left" valign="top">Cannot assign library &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPF9872 E</td>
<td align="left" valign="top">Program or service program &amp;1 in library &amp;2 ended.
Reason code &amp;3.</td>
</tr>
</table>
<br>
<hr>
API introduced: V2R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"pgm1.htm">Program and CL Command APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>