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

278 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>Pre-restricted State Exit Programs (EWCPRSEP)</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 -->
<!-- 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>
<h2>Pre-restricted State Exit Programs (EWCPRSEP)</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%">Return information</td>
<td align="left" valign="top" width="20%">Input/Output</td>
<td align="left" valign="top" width="20%">Char(*)</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">2</td>
<td align="left" valign="top" width="50%">Format of return information</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">3</td>
<td align="left" valign="top" width="50%">Action</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(1)</td>
</tr>
<tr>
<td align="center" valign="top" width="10%">4</td>
<td align="left" valign="top" width="50%">Delay time</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;QSYSINC Member Name: EWCPRSEP<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Exit Point Name: QIBM_QWC_PRERESTRICT<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Exit Point Format Name: PRER0100<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Exit Point Formats:PRSE0100,PRSE0200<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Pre-restricted State Exit Programs (EWCPRSEP) will provide a
method for the system to determine if a restricted state can be reached.
The Action field will have values which will be used to determine what the exit
program should do. This exit program will be called from the ENDSYS or ENDSBS
*ALL programs. A Check action will be used to determine if the restricted
state can be safely reached and how much time might be required.
An Execute action will be used to instruct the exit program to perform its
pre-restricted state work. The Execute action will be run in a separate job to
allow multiple exit programs to be run at the same time.</p>
<br>
<h3>Authorities and Locks</h3>
<dl>
<dt><em>User Profile Authority</em></dt>
<dd>*ALLOBJ and *SECADM special authorities are required to add and remove
exit programs to the QIBM_QWC_PRERESTRICT exit point.</dd>
</dl>
<br>
<h3>Required Parameter Group</h3>
<dl>
<dt><strong>Return information</strong></dt>
<dd>INPUT/OUTPUT; CHAR(*)
<p>The return information that receives the information requested.</p>
</dd>
<dt><strong>Format of the return information.</strong></dt>
<dd>INPUT; CHAR(8)
<p>The format of the exit program information to be returned. The following
formats may be passed to the exit program.:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>PRSE0100</em></td>
<td align="left" valign="top">Pre restricted state check. For details, see <a
href="#HDPRSE0100">PRSE0100</a>.</td>
</tr>
<tr>
<td align="left" valign="top"><em>PRSE0200</em></td>
<td align="left" valign="top">Pre restricted state execute or cancel. For details, see <a
href="#HDPRSE0200">PRSE0200</a>.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Action.</strong></dt>
<dd>INPUT; CHAR(1)
<p>The type of exit program call being made. The following actions may be
requested:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>1 Check</em></td>
<td align="left" valign="top">The exit program should determine if a restricted
state can be reached.</td>
</tr>
<tr>
<td align="left" valign="top"><em>2 Execute</em></td>
<td align="left" valign="top">The exit program should start the process of
entering a pre restricted state.</td>
</tr>
<tr>
<td align="left" valign="top"><em>3 Cancel</em></td>
<td align="left" valign="top">Another exit program is not able to enter a
restricted state at this time.
The exit program should reset any preliminary actions it may have made.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Delay time.</strong></dt>
<dd>INPUT; BINARY(4)
<p>The time specified for the delay when jobs are ended.
The possible values are:</p>
<table cellpadding="5">
<!-- cols="15 85" -->
<tr>
<td align="left" valign="top"><em>-1 </em></td>
<td align="left" valign="top">The jobs are ended in an immediate manner
(*IMMED).</td>
</tr>
<tr>
<td align="left" valign="top"><em>-2 </em></td>
<td align="left" valign="top">*NOLIMIT is specified for a controlled end.</td>
</tr>
<tr>
<td align="left" valign="top"><em>delay time</em></td>
<td align="left" valign="top">The delay time entered on the ENDSYS or ENDSBS
command for a controlled end. This value can range from
0 to 99999 seconds.</td>
</tr>
</table>
</dd>
</dl>
<br>
<h3><a name="HDPRSE0100">PRSE0100 Format</a></h3>
<p>The following table describes the information that is located in the
return information for the PRSE0100 format.
For detailed descriptions of the
fields, see <a href="#HDRCHKDDE">Field Descriptions</a>.</p>
<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%">Return information length</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">Status flag</td>
</tr>
<tr>
<td align="center" valign="top">8</td>
<td align="center" valign="top">8</td>
<td align="left" valign="top">BINARY(4)</td>
<td align="left" valign="top">Wait time</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDRCHKDDE">Field Descriptions</a></h3>
<p><strong>Return information length</strong> The length of the returned information.
This must be set to 12.</p>
<p><strong>Status flag</strong> A value returned to the exit point
to indicate whether a restricted state can be reached. The possible returned
values are as follows:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>0</em></td>
<td align="left" valign="top">No, a restricted state can not be
reached at this time.</td>
</tr>
<tr>
<td align="left" valign="top"><em>1</em></td>
<td align="left" valign="top">Yes, a restricted state can be reached.</td>
</tr>
</table>
<p><strong>Wait time</strong> The number of seconds that will be needed to reach
a preliminary restricted state. Note a maximum value of 3600 seconds (1 hour)
is used to achieve a preliminary restricted state.
Any jobs that have not reached that state by the
maximum time allowed will be terminated and the system will enter a restricted state.
<br>
<br>
<h3><a name="HDPRSE0200">PRSE0200 Format</a></h3>
<p>The following table describes the information that is returned in the
receiver variable for the PRSE0200 format.
For detailed descriptions of the
fields, see <a href="#HDREXECFD">Field Descriptions</a>.</p>
<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%">Return information length</td>
</tr>
</table>
<br>
<br>
<h3><a name="HDREXECFD">Field Descriptions</a></h3>
<p><strong>Return information length</strong> The length of the returned information.
This must be set to 4.</p>
<br>
<h3>Usage Notes</h3>
<p>The exit program will be called with a cancel action if another exit program
returns a zero status value. Once the exit program is called with an execute
action it will either be allowed to complete its task or it will be terminated
if the wait time is exceeded. If the ENDSYS or ENDSBS *ALL command is canceled
at this point, the program will not be terminated. If the command is run again, then
the exit program will have to handle this situation where the execute task may
have already occurred or is currently being run in another job.
The exit point program will also have to be able to handle any race conditions
that may occur if more than one command is executed.</p>
<p>The exit program will not be called if an ENDSYS is called and the system is
using auxiliary power. </p>
<p>Errors detected by the exit point (unable to call exit program, invalid status flag, and so on)
will be treated as if a status flag value of 1 was returned.</p>
<br>
<hr>
Exit program introduced: V5R3
<hr>
<center>
<table cellpadding="2" cellspacing="2">
<tr align="center">
<td valign="middle" align="center"><a href="#Top">Top</a> | <a href="wm1.htm">
Work Management APIs</a> | <a href="aplist.htm">APIs by category</a></td>
</tr>
</table>
</center>
</body>
</html>