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

328 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 Cursor Address (QsnSetCsrAdr) 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. -->
<!-- DSMMST1 SCRIPT A converted by B2H R4.1 (346) (CMS) by V2KEA304 -->
<!-- at RCHVMW2 on 29 Jan 1999 at 16:05:09 -->
<!-- Change History: -->
<!-- YYMMDD USERID Change description -->
<!--File Edited October 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 Cursor Address (QsnSetCsrAdr) API</h2>
<div class="box" style="width: 70%;">
<br>
&nbsp;&nbsp;Omissible 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%">Field ID</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">Cursor row</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">3</td>
<td align="left" valign="top">Cursor column</td>
<td align="left" valign="top">Input</td>
<td align="left" valign="top">Binary(4)</td>
</tr>
<tr>
<td align="center" valign="top">4</td>
<td align="left" valign="top">Command buffer handle</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">Low-level environment handle</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">Error code</td>
<td align="left" valign="top">I/O</td>
<td align="left" valign="top">Char(*)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Returned Value:<br>
<!-- iddvc RMBR -->
<br>
<table width="100%">
<tr>
<td align="center" valign="top" width="10%"></td>
<td align="left" valign="top" width="50%">Return code</td>
<td align="left" valign="top" width="20%">Output</td>
<td align="left" valign="top" width="20%">Binary(4)</td>
</tr>
</table>
<br>
&nbsp;&nbsp;Default Public Authority: *USE<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Service Program: QSNAPI<br>
<!-- iddvc RMBR -->
<br>
&nbsp;&nbsp;Threadsafe: No<br>
<!-- iddvc RMBR -->
<br>
</div>
<p>The Set Cursor Address (QsnSetCsrAdr) API sets the position of the cursor on
the screen. The display address is not affected by this command if this is an
indirect operation and the target command buffer contains an active Write to
Display (WTD) command. Otherwise, a WTD command will be inserted that resets
the display address to row 1 column 1.</p>
<p>This command corresponds indirectly to the 5250 Write to Display command
(WTD) with an Insert Cursor or Move Cursor order. (For an indirect operation, a
WTD is placed in the command buffer only if one does not already exist in that
buffer.) The Move Cursor order is used if the control unit supports it (based
on the 5250 Query command). Otherwise, the Insert Cursor order is used.</p>
<p>If the Move Cursor order is supported, this API sets the cursor without
modifying the home address and without regard to the state of the keyboard.
Otherwise, the behavior is the same as that of the Insert Cursor (QsnInsCsr)
API.</p>
<p>If multiple QsnSetCsrAdr operations are applied to the same command buffer,
only the last QsnSetCsrAdr operation is in effect. The last QsnSetCsrAdr or
QsnInsCsr operation determines the cursor position. If the Move Cursor order is
used, the QsnSetCsrAdr negates any previous QsnInsCsr commands in the command
buffer, except for the last QsnInsCsr, which sets the home position. If the
Insert Cursor order is used, it negates any previous QsnInsCsr operations. If
the Move Cursor order is supported, you can set the home position and then move
the cursor by issuing a QsnInsCsr first, followed by a QsnSetCsrAdr
operation.</p>
<br>
<h3>Authorities and Locks</h3>
<p>None</p>
<br>
<h3>Restrictions</h3>
<p>The same restrictions apply as for the Write Data (QsnWrtDta) API.</p>
<br>
<h3>Omissible Parameter Group</h3>
<dl>
<dt><strong>Field ID</strong></dt>
<dd>INPUT; BINARY(4)
<p>The field ID indicating the field at which to set the display address. If
this parameter is specified with a nonzero value, the row and column parameters
are ignored and the row and column values corresponding to the field ID are
used to set the display address. Either the field ID or the row and column
parameters must be specified.</p>
</dd>
<dt><strong>Cursor row</strong></dt>
<dd>INPUT; BINARY(4)
<p>The row at which to position the cursor. The row parameter must refer to a
row no greater than the current screen or window mode height (if window mode is
enabled). The actual screen row used for a screen I/O operation is calculated
using the formula base+offset=actual. The base is the row location of the top
window border (0 for full screen) if offset is positive, or the row location of
the bottom window border (screen height plus 1 for full screen) if offset is
negative. The offset is the row parameter value specified, and actual is the
actual screen row to be used. A CPFA307 error occurs if an incorrect row value
is specified.</p>
</dd>
<dt><strong>Cursor column</strong></dt>
<dd>INPUT; BINARY(4)
<p>The column at which to position the cursor. The column parameter must refer
to a column no greater than the current screen or window mode width (if window
mode is on). The actual screen column used for a screen I/O operation is
calculated using the formula base+offset=actual. The base is the column
location of the left window border (0 for full screen) if offset is positive,
or the column location of the center window border (screen width plus 1 for
full screen) if offset is negative. The offset is the column parameter value
specified, and actual is the actual screen column to be used. A CPFA307 error
occurs if an incorrect column value is specified.</p>
</dd>
<dt><strong>Command buffer handle</strong></dt>
<dd>INPUT; BINARY(4)
<p>A handle for the command buffer in which to store the command. If this
parameter is omitted or specified as 0, this is a direct operation and the
cursor is positioned at the specified location immediately. Otherwise, this is
an indirect operation and the command is stored in the command buffer without
an I/O operation taking place.</p>
</dd>
<dt><strong>Low-level environment handle</strong></dt>
<dd>INPUT; BINARY(4)
<p>The low-level environment that the operation applies to. If this parameter
is omitted or given with a value of zero, the default low-level environment is
used.</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>. If this
parameter is omitted, diagnostic and escape messages are issued to the
application.</p>
</dd>
</dl>
<br>
<h3>Returned Value</h3>
<dl>
<dt><strong>Return code</strong></dt>
<dd>OUTPUT; BINARY(4)
<p>A return code indicating the result of the operation. The value returned
will be 0 if the operation was successful, or -1 otherwise.</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 align="left" valign="top">CPF24B4 E</td>
<td valign="top">Severe error while addressing parameter list.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF1 E</td>
<td valign="top">Error code parameter not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPF3CF2 E</td>
<td valign="top">Error(s) occurred during running of &amp;1 API.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA301 E</td>
<td valign="top">Command buffer is full.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA304 E</td>
<td valign="top">Data-stream error &amp;1 reported for screen I/O
operation.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA305 E</td>
<td valign="top">Cannot add operation to command buffer.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA307 E</td>
<td valign="top">Screen position &amp;1, &amp;2 outside of display or window
area.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA31E E</td>
<td valign="top">Required parameter &amp;1 omitted.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA331 E</td>
<td valign="top">Buffer handle incorrect.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA334 E</td>
<td valign="top">Low level environment handle incorrect.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA33C E</td>
<td valign="top">Undefined field ID &amp;1.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA343 E</td>
<td valign="top">Output operation not done.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA344 E</td>
<td valign="top">The file &amp;2 in library &amp;3 is not valid.</td>
</tr>
<tr>
<td align="left" valign="top">CPFA345 E</td>
<td valign="top">The invite active flag is not valid.</td>
</tr>
</table>
<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=
"dsm.htm">Dynamic Screen Manager APIs</a> | <a href="aplist.htm">APIs by
category</a></td>
</tr>
</table>
</center>
</body>
</html>