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

417 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 Long (QleActBndPgmLong) 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. -->
<!-- Created for V5R3 by Aaron Albertson (aarona) -->
<!-- Change history: -->
<!-- YYMMDD USERID:(description of change, DCR/PTR ...)-->
<!--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 Long (QleActBndPgmLong) 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(8)</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(8)</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 Long (QleActBndPgmLong) 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
QleActBndPgmLong; they will never be returned in the error code parameter.
QleActBndPgmLong will never move the resume cursor for the exception. Therefore,
it is possible for the caller of QleActBndPgmLong to handle an exception and
resume initialization.</p>
<p>This API is identical to the <a href="qleactbp.htm">Activate Bound Program</a> (QleActBndPgm) API
except that all mark values produced or consumed by the API are Binary(8) mark
values. The QleActBndPgm API produces and consumes Binary(4) mark values.
The QleActBndPgmLong API is normally used in conjunction with the Get Export
Long (QleGetExpLong) API. First, you activate a service program using the
QleActBndPgmLong API, and then later you use the QleGetExpLong API to retrieve
pointers to procedures and data from that activation.</p>
<p>The QleActBndPgmLong 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(8)
<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(8)
<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(8)</td>
<td align="left" valign="top">Activation group mark</td>
</tr>
<tr>
<td align="center" valign="top">24</td>
<td align="center" valign="top">18</td>
<td align="left" valign="top">BINARY(8)</td>
<td align="left" valign="top">Activation mark</td>
</tr>
<tr>
<td align="center" valign="top">32</td>
<td align="center" valign="top">20</td>
<td align="left" valign="top">CHAR(7)</td>
<td align="left" valign="top">Reserved</td>
</tr>
<tr>
<td align="center" valign="top">39</td>
<td align="center" valign="top">27</td>
<td align="left" valign="top">CHAR(1)</td>
<td align="left" valign="top">Flags</td>
</tr>
<tr>
<td align="center" valign="top">40</td>
<td align="center" valign="top">28</td>
<td align="left" valign="top">CHAR(8)</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: V5R3
<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>