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

383 lines
12 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>Exit Program for General Panel Checking</title>
<!-- 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. -->
<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>Exit Program for General Panel Checking</h2>
<p>A general exit program may be specified on the USREXIT attribute of the
panel definition (PANEL) tag. This attribute specifies the name of a dialog
variable identifying the program to call.</p>
<p>The UIM calls the program:</p>
<ul>
<li>After any necessary validity checking is done by the UIM
<p>For a VARUPD=YES attribute on the key item (KEYI) or pull-down field choice
(PDFLDC) tags, the UIM has already performed validity checking on all displayed
values. If errors are found, the UIM does not call the exit program. The
current panel is automatically redisplayed with the appropriate message and
error highlighting.</p>
<p>For a VARUPD=NO attribute, the UIM saves all values from entry fields in
their displayed form and does not update the dialog variables. The exit program
does not have access to these values.</p>
</li>
<li>After the UIM determines what function to perform
<p>For some dialog commands, the UIM does not call the exit program. For more
information on when the UIM calls the exit program, see <a href=
"../books/sc415715.pdf" target="_blank">Application Display
Programming</a><img src="wbpdf.gif" alt="Link to PDF"> book.</p>
<p>Any errors detected during function determination cause the UIM to redisplay
the panel without calling the exit program.</p>
</li>
<li>Before the UIM performs the determined function, including dialog variable
substitution in command strings specified in the CMD dialog command.</li>
</ul>
<p>The UIM calls the general exit program and passes information about the
function. The exit program performs its task and returns control to the UIM
through a normal return or by sending a CPF6A02 or CPF6A03 status message.
These messages are transient messages.</p>
<p>If the exit program returns control by sending a CPF6A02 status or escape
message, the UIM does not perform the determined function. The panel is
redisplayed and any previous messages sent to the UIM are shown.</p>
<p>If the exit program returns control by sending a CPF6A03 status or escape
message, the UIM continues performing the determined function. Any previous
messages sent to the UIM by the general exit program are shown if and when the
function completes. These messages are transient messages.</p>
<p>If the exit program returns control by sending any escape message other than
CPF6A02 or CPF6A03, the UIM does not perform the determined function. The panel
is redisplayed and any previous messages sent to the UIM are shown. These
messages are user messages.</p>
<p>If the exit program returns control normally or sends a non-escape message
other than CPF6A02 or CPPF6A03, the UIM continues performing the determined
function.</p>
<p>Messages sent to the UIM are displayed only once. They are cleared when the
next dialog command is performed, excluding the HELP, PRINT, and PAGEUP or
PAGEDOWN (only if paging the message line) dialog commands. If the exit program
marks dialog variables in error, the exit program or other application code is
responsible for resetting the dialog variables when the variable is no longer
incorrect.</p>
<p>The general exit program allows applications to perform extended validity
checking on field values. However, other functions are possible because the
exit program has access to panel information used by the UIM to perform a
specified function. The exit program can prevent the UIM from processing the
function. For example, the exit program could intercept a function key, perform
some other function, and tell the UIM to not process the function key. While
the UIM does not prevent this type of thing, it is the application developer's
responsibility to understand enough about UIM processing to ensure that things
work properly.</p>
<p>The action performed by the UIM is determined before the exit program is
called. Some actions, such as whether or not to perform the action list
processing, depend on the contents of dialog variables or list entries. Changes
to these variables or list entries do not cause the UIM to evaluate the
determined action again.</p>
<p>Dialog variable substitution into command strings is not done until after
the exit program is called; changing dialog variables can affect the final,
submitted command.</p>
<p>The exit and cancel flags for the job are not reset before the exit program
is called, and they are not checked after the exit program returns control to
the UIM. Therefore, exit and cancel flags should not be turned on by the exit
program.</p>
<br>
<h3>Single Parameter Interface</h3>
<p>QSYSINC Member Name: EUIPGEX</p>
<dl>
<dt><strong>Structure level</strong></dt>
<dd>BINARY(4); positions 1-4
<p>The interface level supported by this structure, indicating which fields and
values are available for the current interface level.</p>
</dd>
<dt><strong>Reserved</strong></dt>
<dd>CHAR(8); positions 5-12<br>
<br>
</dd>
<dt><strong>Type of call</strong></dt>
<dd>BINARY(4); positions 13-16
<p>Set to the following value:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>4</em></td>
<td align="left" valign="top">Processes a general panel exit.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Application handle</strong></dt>
<dd>CHAR(8); positions 17-24
<p>The application handle of the application currently being processed by the
UIM.</p>
</dd>
<dt><strong>Panel name</strong></dt>
<dd>CHAR(10); positions 25-34
<p>The name of the panel currently being processed by the UIM.</p>
</dd>
<dt><strong>Function key pressed</strong></dt>
<dd>BINARY(4); positions 35-38
<p>The function key that is pressed:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>1-24</em></td>
<td align="left" valign="top">A function key (F1-F24) is pressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>26</em></td>
<td align="left" valign="top">The Enter key is pressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>28</em></td>
<td align="left" valign="top">The Page Up key is pressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>29</em></td>
<td align="left" valign="top">The Page Down key is pressed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>31</em></td>
<td align="left" valign="top">The Home key is pressed.</td>
</tr>
</table>
<p>The general exit program is not called for any other keys.</p>
</dd>
<dt><strong>Function key qualifier</strong></dt>
<dd>BINARY(4); positions 9-42
<p>Provides information about the function that will be performed unless the
exit program returns through a CPF6A02 message:</p>
<table cellpadding="5">
<!-- cols="5 95" -->
<tr>
<td align="left" valign="top"><em>-1</em></td>
<td align="left" valign="top">Submits a command from the command line.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-2</em></td>
<td align="left" valign="top">Performs list action processing. The ACTOR
attribute of the list area (LIST) tag determines whether the processing is to
be performed by the UIM or by the application program displaying the
panel.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-3</em></td>
<td align="left" valign="top">Processes a menu item selection.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-4</em></td>
<td align="left" valign="top">The Enter key is pressed and there is no function
for the UIM to perform. The default enter action specified on the ENTER
attribute of the display panel (PANEL) tag will be performed.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-5</em></td>
<td align="left" valign="top">Processes a cursor-sensitive prompt
function.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-6</em></td>
<td align="left" valign="top">Processes a selection from a pull-down choice.
This value is used only when the structure level is two or greater.</td>
</tr>
<tr>
<td align="left" valign="top"><em>-7</em></td>
<td align="left" valign="top">Processes the default selection action specified
on the SELECT attribute of the PANEL tag because the Enter key was pressed or
the user selected one or more entries in an action list or selection list, and
there was no function for the UIM to perform.</td>
</tr>
</table>
<br>
</dd>
<dt><strong>Option number</strong></dt>
<dd>BINARY(4); positions 43-46
<p>When the field for the function key qualifier indicates that the UIM is
processing a menu item, this field is set to the option number of the menu item
selected by the user.</p>
<p>When the field for the function key qualifier indicates that the UIM is
processing a pull-down choice, this field is set to the option number of the
pull-down choice selected by the user.</p>
<p>For all other values for the function key qualifier, this field is not
set.</p>
</dd>
<dt><strong>Pull-down field name</strong></dt>
<dd>CHAR(10); positions 47-57
<p>The name of the pull-down field from which the pull-down choice is selected.
If this pull-down field does not have a name, it is set to blanks.</p>
<p>For all other values of the function key qualifier, this field is not
set.</p>
<p>This field is only available when the field for the structure level is set
to two or greater.</p>
</dd>
</dl>
<br>
<h3>Multiple Parameter Interface</h3>
<p>The description of parameters listed in the following table is the same as
the corresponding field in the structure for a single parameter interface. The
positions listed for each field in the structure do not apply to the multiple
parameter interface.</p>
<div class="box" style="width: 60%;">
<br>
&nbsp;&nbsp;Parameters for interface level 1:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">1</td>
<td align="left" valign="top" width="50%">Type of call</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">2</td>
<td align="left" valign="top">Application handle</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(8)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Panel name</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Char(10)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Function key pressed</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">Function key qualifier</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">6</td>
<td align="left" valign="top">Option number</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Additional parameter for interface level 2:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%">7</td>
<td align="left" valign="top" width="50%">Pull-down field name</td>
<td align="left" valign="top" width="20%">Input</td>
<td align="left" valign="top" width="20%">Char(10)</td>
</tr>
</table>
<br>
</div>
<br>
<hr>
Exit program introduced: V2R2
<hr>
<table cellpadding="2" cellspacing="2" align="center">
<tr align="center">
<td valign="middle" align="center"><a href="#Top_Of_Page">Top</a> | <a href=
"uim1.htm">User Interface Manager (UIM) APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</body>
</html>