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

342 lines
9.4 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>Store Program Associated Space (QCLSPGAS) 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. -->
<!-- QCLSPGA SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 11:10:08 -->
<!-- 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>Store Program Associated Space (QCLSPGAS) 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%">Input data buffer</td>
<td align="left" valign="top" width="20%">Input</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 input data buffer</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">Qualified 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">4</td>
<td align="left" valign="top">Call stack counter</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">Data handle</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(16)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *EXCLUDE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Store Program Associated Space (QCLSPGAS) API allows you to store
information in the associated space of an original program model (OPM),
user-state program in the user domain. This API is intended to be used only on
programs created by the Create Program (QPRCRTPG) API.</p>
<p>This API's primary use is to store information about a program object for
later use. For example, it can be used by a compiler to store information about
the compilation process that is needed later at run time. The space associated
with a program object is not a replacement for data areas or user spaces. It is
recommended for static data only.</p>
<p>There is no capability to delete the information after it is stored.
Multiple store requests using the same data handle will write over any
information previously stored.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Program Library Authority</em></dt>
<dd>*USE</dd>
<dt><em>Program Authority</em></dt>
<dd>*ALL</dd>
<dt><em>Program Lock</em></dt>
<dd>*EXCL</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Input data buffer</strong></dt>
<dd>INPUT; CHAR(*)
<p>The information to store in the associated space. This information can
contain scalar data only. If it does contain pointer data, the pointer data is
not kept.</p>
</dd>
<dt><strong>Length of input data buffer</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the data in the input data buffer, in bytes. The maximum size
of an associated space is 16MB. An error is returned if the length of the input
data and the data already stored in the associated space exceeds 16MB.</p>
</dd>
<dt><strong>Qualified program name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The program object for which you want to store data in the associated space.
This must be an OPM, user-state program in the user domain. An error is
returned if the program is an ILE program, or if it is a system-state or
system-domain program. The first 10 characters contain the program name, and
the second 10 characters contain the library name.</p>
<p>You can use the following special value for the program name:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em><strong>*</strong></em></td>
<td align="left" valign="top">A program in the call stack. The call stack
counter contains the number of programs up the stack from the calling program
to look for the program where the data is to be stored.</td>
</tr>
</table>
<p>You can use the following 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>Call stack counter</strong></dt>
<dd>INPUT; BINARY(4)
<p>A number greater than zero identifying the location in the call stack for
the program if * is specified for the program name. This number is relative to
the program that called this API. This parameter is ignored if the program name
is not *.</p>
</dd>
<dt><strong>Data handle</strong></dt>
<dd>INPUT; CHAR(16)
<p>The identifier to store the information under in the associated space. This
identifier can be any unique value you choose to store your information under.
You must remember this value if you want to later retrieve this information.
Data may have been stored under a data handle. If this API is called to store
data under it, the existing data is overwritten with the new data.</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>.</p>
</dd>
</dl>
<br>
<h3>Error Messages</h3>
<table 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">CPF0301 E</td>
<td width="85%" valign="top">Length of data buffer is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0302 E</td>
<td align="left" valign="top">Value for call stack counter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0303 E</td>
<td align="left" valign="top">Limit of associated space size exceeded.</td>
</tr>
<tr>
<td align="left" valign="top">CPF0304 E</td>
<td align="left" valign="top">Operation not allowed for program &amp;1 in
library &amp;2.</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">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">CPF8100 E</td>
<td align="left" valign="top">All CPF81xx messages could be returned. xx is
from 01 to FF.</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">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">CPF9838 E</td>
<td align="left" valign="top">User profile storage limit exceeded.</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>
<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>