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

420 lines
11 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>Activate Bound Program (QleActBndPgm) 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. -->
<!-- QLEACTB SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 11:15:42 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited by Kersten Nov 2001 -->
<!--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>Activate Bound Program (QleActBndPgm) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Required Parameter:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Pointer to bound program</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">PTR(SYP)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Omissible Parameter Group:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">2</td>
<td align="left" valign="top" width="50%">Activation mark</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Activation information</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Length of activation information</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</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;Returned Value:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%"></td>
<td align="left" valign="top" width="50%">Activation mark</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Service Program: QLEAWI<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Activate Bound Program (QleActBndPgm) API activates the bound program or
service program specified by the pointer to bound program parameter if it is
not already active. All dependent service programs are activated, and all
initialization of the newly activated service programs is done.</p>
<p>Initialization may consist of calling user procedures. All unhandled
exceptions that occur during initialization will be percolated to the caller of
QleActBndPgm; they will never be returned in the error code parameter.
QleActBndPgm will never move the resume cursor for the exception. Therefore, it
is possible for the caller of QleActBndPgm to handle an exception and resume
initialization.</p>
<p>This API is identical to the <a href="qleactbpl.htm">Activate Bound Program Long</a> (QleActBndPgmLong)
API except that all mark values produced or consumed by the API are Binary(4)
mark values. The QleActBndPgmLong API produces and consumes Binary(8) mark values.
This API is normally used in conjunction with the Get Export (QleGetExp)
API. First, you activate a service program using QleActBndPgm, and then later
you use QleGetExp to retrieve pointers to procedures and data from that
activation.</p>
<p>The QleActBndPgm API may not be called in a secondary thread of a Common
Platform Architecture (CPA) application.</p>
<br>
<h3>Authorities and Locks</h3>
<p>None.</p>
<br>
<h3>Required Parameter</h3>
<dl>
<dt><strong>Pointer to bound program</strong></dt>
<dd>INPUT; PTR(SYP)
<p>A system pointer to the program or service program to be activated.</p>
</dd>
</dl>
<br>
<h3>Omissible Parameter Group</h3>
<dl>
<dt><strong>Activation mark</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>The entity uniquely identifying the activation within the current job.</p>
</dd>
<dt><strong>Activation information</strong></dt>
<dd>OUTPUT; CHAR(*)
<p>The structure that contains additional activation information. The format of
this structure is shown in <a href="#HDRACTINF">Format of Activation
Information</a>. If activation information is specified, the length of
activation information parameter must also be specified. The storage for
activation information must be on a 16-byte boundary.</p>
</dd>
<dt><strong>Length of activation information</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the activation information. If the length is larger than the
size of the storage for activation information, the results may not be
predictable. The minimum length is 8 bytes.</p>
</dd>
<dt><strong>Error code</strong></dt>
<dd>I/O; CHAR(*)
<p>The structure in which to return error information. For the format of the
structure, see <a href="../apiref/error.htm#hdrerrcod">Error Code Parameter</a>. If this
parameter is omitted, diagnostic and escape messages are issued to the
application.</p>
</dd>
</dl>
<br>
<h3>Returned Value</h3>
<dl>
<dt><strong>Activation mark</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>This API returns the value for the activation mark parameter.</p>
</dd>
</dl>
<br>
<h3><a name="HDRACTINF">Format of Activation Information</a></h3>
<table border width="80%">
<tr>
<th align="center" valign="bottom" colspan="2">Offset</th>
<th align="left" valign="bottom" rowspan="2">Type</th>
<th align="left" valign="bottom" rowspan="2">Field</th>
</tr>
<tr>
<th align="center" valign="bottom">Dec</th>
<th align="center" valign="bottom">Hex</th>
</tr>
<tr>
<td align="center" valign="top" width="10%">0</td>
<td align="center" valign="top" width="10%">0</td>
<td align="left" valign="top" width="20%">BINARY(4)</td>
<td align="left" valign="top" width="60%">Bytes returned</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="center" valign="top">4</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Bytes available</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">CHAR(8)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">16</td>
<td align="center" valign="top">10</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Activation group mark</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">Activation mark</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">31</td>
<td align="center" valign="top">1F</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Flags</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">CHAR(16)</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<h3>Field Descriptions</h3>
<p><strong>Activation group mark.</strong> An entity uniquely identifying the
activation group within the current job.</p>
<p><strong>Activation mark.</strong> An entity uniquely identifying the
activation within the current job.</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Flags</th>
<th align="left" valign="top">Bit values</th>
</tr>
<tr>
<td align="left" valign="top">Bit 0</td>
<td align="left" valign="top">
<table cellpadding="5">
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">The program or service program was not already
activated.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">The program or service program was already
activated.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top">Bit 1-7</td>
<td align="left" valign="top">Reserved</td>
</tr>
</table>
<br>
<p><strong>Bytes available.</strong> The length of all available information
that could be returned. Bytes available can be greater than the length of
activation information parameter. If it is greater, the information returned is
truncated to the length specified.</p>
<p><strong>Bytes returned.</strong> The length of all information returned. The
value of the bytes returned field is always less than or equal to the length
returned in the bytes available field.</p>
<p><strong>Reserved.</strong> An area of reserved storage.</p>
<br>
<h3>Error Messages</h3>
<table width="100%" cellpadding="5">
<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">CPF24B4 E</td>
<td width="85%" valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C1E E</td>
<td align="left" valign="top">Required parameter &amp;1 omitted.</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">CPF3C3A E</td>
<td align="left" valign="top">Value for parameter &amp;2 for API &amp;1 not
valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3C90 E</td>
<td align="left" valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td align="left" valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td align="left" valign="top">Error(s) occurred during running of &amp;1
API.</td>
</tr>
<tr>
<td align="left" valign="top">MCH3402 E</td>
<td align="left" valign="top">The argument being tested is not an address.</td>
</tr>
<tr>
<td align="left" valign="top">MCH4421 E</td>
<td align="left" valign="top">At least one field in the allocation strategy is
not valid.</td>
</tr>
<tr>
<td align="left" valign="top">MCH4430 E</td>
<td align="left" valign="top">The exit priority value provided for &amp;1 is
not valid.</td>
</tr>
</table>
<hr>
API introduced: V3R6
<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>