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

376 lines
10 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>End Preprocessor (QbnEndPreProcessor) 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. -->
<!-- QCLENDP SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 5 Feb 1999 at 14:55:01 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--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 type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<h2>End Preprocessor (QbnEndPreProcessor) 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%">Qualified input source file name</td>
<td align="LEFT" valign="TOP" width="20%">Input</td>
<td align="LEFT" valign="TOP" width="20%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="TOP">2</td>
<td align="LEFT" valign="TOP">Input source member name</td>
<td align="LEFT" valign="TOP">Input</td>
<td align="LEFT" valign="TOP">Char(10)</td>
</tr>
<tr>
<td align="center" valign="TOP">3</td>
<td align="LEFT" valign="TOP">Qualified output source file 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">Output source member name</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">Qualified exit 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">6</td>
<td align="LEFT" valign="TOP">Exit program data</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 exit program data</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">Error code</td>
<td align="LEFT" valign="TOP">I/O</td>
<td align="LEFT" valign="TOP">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program: QBNPREPR<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The End Preprocessor (QbnEndPreProcessor) API must be called by every
preprocessor after the output source file and preprocessor information is
created. It records the fact that a preprocessor was called and may be used to
pass information used during module creation. This information can be
classified as follows:</p>
<ul>
<li>Associated space data</li>
<li>Extended attribute data</li>
<li>Preprocessor level data</li>
<li>Name of an exit program to call at ILE program creation time</li>
</ul>
<p>The End Preprocessor API then moves the above information in the output
source file member where it is used at module creation time. The initial
preprocessor may get input from inline data, but all subsequent preprocessors
must get their input from the output file member of the previous
preprocessor.</p>
<p>The output source file created by a previous preprocessor must not be
changed. If the output file has been changed, module creation fails.<br>
</p>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>Input Source File Authority</em></dt>
<dd>*READ and *OBJOPR</dd>
<dt><em>Input Source Library Authority</em></dt>
<dd>*EXECUTE</dd>
<dt><em>Output Source File Authority</em></dt>
<dd>*CHANGE and *OBJOPR</dd>
<dt><em>Output Source File Member Lock</em></dt>
<dd>*EXCL</dd>
<dt><em>Output Source Library Authority</em></dt>
<dd>*EXECUTE</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Qualified input source file name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The qualified name of the input source file to the preprocessor. The first
10 characters contain the input source file name, which is left-justified and
padded with blanks. The second 10 characters contain the input source file
library, which is left-justified and padded with blanks. The input source file
name can be specified with the following special value:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*INLINE</em></td>
<td align="left" valign="top">The input source data is specified as an inline
data file.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Input source member name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the member within the input source file, which is left-justified
and padded with blanks. This parameter is ignored if the qualified input source
file name parameter is *INLINE.</p>
</dd>
<dt><strong>Qualified output source file name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The qualified name of the output source file to the preprocessor. The first
10 characters contain the output source file name. The file is left-justified
and padded with blanks. The second 10 characters contain the output source file
library name. The file is left-justified and padded with blanks.</p>
</dd>
<dt><strong>Output source member name</strong></dt>
<dd>INPUT; CHAR(10)
<p>The name of the member within the output source file. The file is
left-justified and padded with blanks.</p>
</dd>
<dt><strong>Qualified exit program name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The qualified name of the exit program to be called during module creation.
The first 10 characters contain the exit program name, which is left-justified
and padded with blanks. The second 10 characters contain the exit program
library where the exit program is located, which is left-justified and padded
with blanks. You can use this special value for the exit program name:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*NONE</em></td>
<td align="left" valign="top">This indicates that there is no exit
program.</td>
</tr>
</table>
<p>You can use this special value for the exit program library:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>*LIBL</em></td>
<td align="left" valign="top">The library list.</td>
</tr>
</table>
<p>The exit program is passed five parameters when called. The first two
parameters are the exit program data and the exit program data length. The
third parameter is reserved CHAR(10). The fourth and fifth parameters are both
reserved BINARY(4).</p>
<p>The exit program data being used in this API is defined by the user.</p>
</dd>
<dt><strong>Exit program data</strong></dt>
<dd>INPUT; CHAR(*)
<p>Data that is stored with the output source file member. When module creation
calls the exit program, a copy of the data is passed. The format of this data
is specified by the preprocessor. This value is ignored if *NONE is specified
for the qualified exit program name parameter.</p>
</dd>
<dt><strong>Length of exit program data</strong></dt>
<dd>INPUT; BINARY(4)
<p>The length of the data contained in the exit program data parameter. This
value is ignored if *NONE is specified for the qualified exit program name
parameter.</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 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">CPF2207 E</td>
<td width="85%" valign="top">Not authorized to use object &amp;1 in library
&amp;3 type *&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">CPF5CA0 E</td>
<td align="left" valign="top">Input source file name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5CA1 E</td>
<td align="left" valign="top">Exit program name &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5CEA E</td>
<td align="left" valign="top">Library value &amp;1 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5CA4 E</td>
<td align="left" valign="top">Error occurred while addressing API
Parameter.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5D20 E</td>
<td align="left" valign="top">Not able to open source file member &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5D21 E</td>
<td align="left" valign="top">Not able to open source file member &amp;3.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5D22 E</td>
<td align="left" valign="top">Not able to locate internal data.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5D23 E</td>
<td align="left" valign="top">Source file member has been changed.</td>
</tr>
<tr>
<td align="left" valign="top">CPF5D24 E</td>
<td align="left" valign="top">Unexpected error occurred during preprocessor
processing.</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: V3R1
<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>