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

238 lines
7.0 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<!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>Move the Resume Cursor to a Return Point (CEEMRCR) 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. -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!-- ILE3A SCRIPT A converted by B2H R4.1 (346) (CMS) by NLJONES at -->
<!-- RCHVMX on 8 Mar 1999 at 11:01:18 -->
<!--Edited by Kersten Oct 2001 -->
<!-- End Header Records -->
<link rel="stylesheet" type="text/css" href="../rzahg/ic.css">
</head>
<body>
<!-- Java sync-link -->
<script type="text/javascript" language="Javascript" src="../rzahg/synch.js">
</script>
<a name="Top_Of_Page"></a>
<h2>Move the Resume Cursor to a Return Point (CEEMRCR) API</h2>
<div class="box" style="width: 60%;">
<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="30%">type_of_move</td>
<td align="left" valign="top" width="30%">Input</td>
<td align="left" valign="top" width="30%">INT4</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Omissible Parameter:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">2</td>
<td align="left" valign="top" width="30%">fc</td>
<td align="left" valign="top" width="30%">Output</td>
<td align="left" valign="top" width="30%">FEEDBACK</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Service Program Name: QLEAWI<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: Yes<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Move the Resume Cursor to a Return Point (CEEMRCR) API moves the resume
cursor to a return point relative to the current handle cursor.</p>
<p>Initially, the resume cursor is positioned after the machine instruction
that caused the condition to be raised. The direction of movement is always
toward older call stack entries.</p>
<!-- 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</h3>
<dl>
<dt><strong>type_of_move (input)</strong></dt>
<dd>The type of movement of the resume cursor relative to the current position
of the handle cursor. The values are:<br>
<br>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">Move the resume cursor from a later call stack
entry to the call stack entry that is currently associated with the handle
cursor.
<p>Chose this option if resumption in the call stack entry at which the resume
cursor is pointing is not possible, but may be possible in the call stack entry
at which the handle cursor is pointing.</p>
</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Move the resume cursor to the <em>call
return</em> point (immediately following the <em>call</em> statement) for the
call stack entry one prior to the position of the handle cursor. Also move the
handle cursor to the first handler of the call stack entry the resume cursor is
being moved to. This action exits the current call stack entry and skips all
condition handlers still to be called for the call stack entry.
<p>Chose this option if resumption is impossible at the current location, but
may be possible in the caller of the current procedure.</p>
</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3>Omissible Parameter</h3>
<dl>
<dt><strong>fc (output)</strong></dt>
<dd>A 12-byte feedback code.</dd>
</dl>
<br>
<h3>Feedback Codes and Conditions</h3>
<table cellpadding="3">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top">CEE0000</td>
<td align="left" valign="top">The API completed successfully</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 00</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE0254</td>
<td align="left" valign="top">The type of move for &amp;1 is not valid</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 10</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE0260</td>
<td align="left" valign="top">No active condition for call to &amp;1</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 30</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
<tr>
<td align="left" valign="top">CEE9902</td>
<td align="left" valign="top">Unexpected user error occurred in &amp;1</td>
</tr>
<tr>
<td align="left" valign="top">Severity: 30</td>
<td align="left" valign="top">&nbsp;</td>
</tr>
</table>
<br>
<h3>Usage Notes</h3>
<ul>
<li>
<p>If you attempt to move the resume cursor with a type_of_move of 0 and the
resume cursor and the handle cursor are at the same call stack entry, the move
is not valid.</p>
</li>
<li>
<p>The actual movement of the resume cursor occurs only after the condition
handler returns to the condition manager. If two or more calls from a given
user-written condition handler set the resume cursor to different places, the
most recent call will be used.</p>
</li>
<li>
<p>When a return operation is made to the condition manager after the resume
cursor is moved, any associated exit procedures are called for each call stack
entry that is passed. Moving a resume cursor past a call stack entry also
cancels any associated user-written condition handlers.</p>
</li>
<li>
<p>Ensure that the CEEMRCR API is called before handling the condition. A call
to the CEEMRCR API is not valid if there is no active condition. For example,
the condition may not be active if the condition handler uses the message
handler API, Change Exception Message (QMHCHGEM), to handle the condition.</p>
</li>
<li>
<p>When doing a type 1 move, the exception message is immediately moved to the
call message queue of the call stack entry one older than that indicated by the
handle cursor. Therefore, when using APIs to perform some action on the
exception (for example, QMHCHGEM), you must indicate a target invocation of one
older than the original handle cursor.</p>
</li>
</ul>
<br>
<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="ile1a1.htm">ILE
CEE APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>