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

385 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>Set COBOL Error Handler (QLRSETCE) 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. -->
<!-- NETMG2 SCRIPT A converted by B2H R4.1 (346) (CMS) by HOLTJM at -->
<!-- RCHVMW2 on 29 Jan 1999 at 10:01:37 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited by Kersten Oct 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>Set COBOL Error Handler (QLRSETCE) API</h2>
<div class="box" style="width: 75%;">
<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="60%">Error-handling exit program name</td>
<td align="left" valign="top" width="15%">Input</td>
<td align="left" valign="top" width="15%">Char(20)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Scope of error-handling program</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">New error-handling exit program library</td>
<td align="left" valign="top">Output</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Current or pending error-handling exit program
name</td>
<td align="left" valign="top">Output</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 Set COBOL Error Handler (QLRSETCE) API allows you to specify the
identity of a COBOL error-handling program. You can call it from any
programming language; however, this API only sets the name of the error
handling program that is called when an error occurs in an OPM COBOL/400
program.</p>
<p>After you call this API, any COBOL/400 program that issues an inquiry
message with options C, D, or F will first call the defined error-handling
program. This program receives the message identification and substitution
text, as well as the name of the program that received it, and a list of valid
one-character responses. The defined program is responsible for returning a
one-character code (blank, C, D, F, or G) indicating whether the COBOL program
should continue or not.</p>
<p><strong>Note:</strong> All messages issued by the operating system during
the running of a COBOL program are monitored by the COBOL program. Only some of
the system messages issued will result in a COBOL inquiry message.</p>
<p>For more information about error handling and the issuing of COBOL inquiry
messages, see the chapter on error handling in the <a href=
"../bookssc092540.pdf" target="_blank">WebSphere Development Studio:
ILE COBOL Programmer's Guide</a> <img src="wbpdf.gif" alt="Link to PDF"> book.</p>
<p>You can define a different error-handling program for each COBOL run unit,
but when a new COBOL run unit starts, it uses the error-handling program from
the previous run unit.</p>
<p>Only one error-handling program can be active at a time. If an error occurs
in the error-handling program, the COBOL program does not call the
error-handling program again. (In other words, recursive calls do not occur.)
Instead, the inquiry message would be issued as if no error-handling program
were defined.</p>
<p>You cannot change the name of the error-handling program while it is
responding to an error in a COBOL program.</p>
<p>If an error occurs during the calling of the error-handling program, an
informational message (LBE7430) is issued, and processing continues as if no
error-handling program were defined.</p>
<p>The error-handling program is defined by the user. The parameters are
described under <a href="XLRSETCE.htm">OPM COBOL Error-Handling Exit
Program</a>.</p>
<br>
<!-- Please NOTE: DO NOT DELETE THIS SECTION if this API has no authorities and locks. -->
<!-- Instead, use the commented out coding below to indicate NONE. -->
<h3>Authorities and Locks</h3>
<!-- Use this if there are no authorities and locks. -->
<p>None.</p>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Error-handling exit program name</strong></dt>
<dd>INPUT; CHAR(20)
<p>The qualified name of the error-handling program.</p>
<p>The 20 characters of this parameter are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>1-10</em></td>
<td valign="top">The name of the program object.<br>
Valid values are:<br>
<table cellpadding="3">
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">No user-defined COBOL error-handling program exists.</td>
</tr>
<tr>
<td valign="top"><em>program-name</em></td>
<td valign="top">The name of the error-handling program. The name can be an
extended one.</td>
</tr>
</table>
<br>
</td>
</tr>
<tr>
<td valign="top"><em>11-20</em></td>
<td valign="top">The library where the program object exists.<br>
Valid values are:
<table cellpadding="3">
<tr>
<td valign="top"><em>*CURLIB</em></td>
<td valign="top">The current library is used.</td>
</tr>
<tr>
<td valign="top"><em>*LIBL</em></td>
<td valign="top">The API searches the library list to find the object.</td>
</tr>
<tr>
<td valign="top"><em>library-name</em></td>
<td valign="top">The name of the library where the program object exists. The
name can be an extended one.</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Scope of error-handling program</strong></dt>
<dd>INPUT; CHAR(1)
<p>The program can apply to a current or pending run unit.</p>
<p>Valid values are:</p>
<table cellpadding="3">
<!-- cols="10 90" -->
<tr>
<td valign="top"><em>C</em></td>
<td valign="top">Current COBOL run unit</td>
</tr>
<tr>
<td valign="top"><em>P</em></td>
<td valign="top">Pending COBOL run unit</td>
</tr>
</table>
<br>
</dd>
<dt><strong>New error-handling exit program library</strong></dt>
<dd>OUTPUT; CHAR(10)
<p>The library where the program object exists. If *CURLIB or *LIBL was
specified for the error-handling exit program name parameter, the library
returned for this parameter shows the library where the program was found. If
*CURLIB or *LIBL was not specified, the library returned here should be the
same as character 11 through 20 of the error-handling exit program name
parameter.</p>
<p>Valid value is:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>library-name</em></td>
<td valign="top">The library where the program object exists.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Current or pending error-handling exit program name</strong></dt>
<dd>OUTPUT; CHAR(20)
<p>The qualified name of the error-handling program that was in place before
the current error-handling program was set.</p>
<p>The 20 characters of this parameter are:</p>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td valign="top"><em>1-10</em></td>
<td valign="top">The name of the previous error-handling program object.<br>
Valid values are:
<table cellpadding="3">
<tr>
<td valign="top"><em>*NONE</em></td>
<td valign="top">No previous current or pending error-handling program
existed.</td>
</tr>
<tr>
<td valign="top"><em>program-name</em></td>
<td valign="top">The name of the error-handling program.</td>
</tr>
</table>
</td>
</tr>
<tr>
<td valign="top"><em>11-20</em></td>
<td valign="top">The library where the previous error-handling program object
existed.<br>
Valid value is:
<table cellpadding="3">
<tr>
<td valign="top"><em>library-name</em></td>
<td valign="top">The library where the previous error-handling program object
existed.</td>
</tr>
</table>
</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>Error Messages</h3>
<table width="100%" cellpadding="3">
<!-- cols="15 85" -->
<tr>
<th align="left" valign="top">Message ID</th>
<th align="left" valign="top">Error Message Text</th>
</tr>
<tr>
<td valign="top">CPF3C90 E</td>
<td valign="top">Literal value cannot be changed.</td>
</tr>
<tr>
<td valign="top">LBE7040 E</td>
<td valign="top">Format of error code parameter is not correct.</td>
</tr>
<tr>
<td valign="top">LBE7050 E</td>
<td valign="top">Error handler is already responding to an error in the same
run unit.</td>
</tr>
<tr>
<td valign="top">LBE7051 E</td>
<td valign="top">Scope parameter not valid.</td>
</tr>
<tr>
<td valign="top">LBE7052 E</td>
<td valign="top">Run unit specified for error handler does not exist.</td>
</tr>
<tr>
<td valign="top">LBE7055 E</td>
<td valign="top">Severe error while addressing parameter list.The API did not
complete.</td>
</tr>
<tr>
<td valign="top">LBE7060 E</td>
<td valign="top">Error in program name or availability.</td>
</tr>
<tr>
<td valign="top">LBE7061 E</td>
<td valign="top">Error in library name or availability.</td>
</tr>
<tr>
<td valign="top">LBE7062 E</td>
<td valign="top">Error in library list.</td>
</tr>
</table>
<br>
<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="hll.htm">High-level language APIs</a> |
<a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>