736 lines
35 KiB
HTML
736 lines
35 KiB
HTML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html lang="en-us" xml:lang="en-us">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
<meta name="security" content="public" />
|
||
<meta name="Robots" content="index,follow" />
|
||
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
<meta name="DC.Type" content="reference" />
|
||
<meta name="DC.Title" content="CHECK (Check) keyword for display files" />
|
||
<meta name="abstract" content="Use this keyword to perform a number of functions, depending on the parameter values specified." />
|
||
<meta name="description" content="Use this keyword to perform a number of functions, depending on the parameter values specified." />
|
||
<meta name="DC.subject" content="CHECK (Check) keyword" />
|
||
<meta name="keywords" content="CHECK (Check) keyword" />
|
||
<meta name="DC.Relation" scheme="URI" content="rzakcmstkeyent.htm" />
|
||
<meta name="DC.Relation" scheme="URI" content="rzakcmstdfauto.htm" />
|
||
<meta name="DC.Relation" scheme="URI" content="rzakcmstdflower.htm" />
|
||
<meta name="copyright" content="(C) Copyright IBM Corporation 2001, 2006" />
|
||
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 2001, 2006" />
|
||
<meta name="DC.Format" content="XHTML" />
|
||
<meta name="DC.Identifier" content="rzakcmstdfcheck" />
|
||
<meta name="DC.Language" content="en-us" />
|
||
<!-- 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="./ibmdita.css" />
|
||
<link rel="stylesheet" type="text/css" href="./ic.css" />
|
||
<title>CHECK (Check) keyword for display files</title>
|
||
</head>
|
||
<body id="rzakcmstdfcheck"><a name="rzakcmstdfcheck"><!-- --></a>
|
||
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
|
||
<h1 class="topictitle1">CHECK (Check) keyword for display files</h1>
|
||
<div><p>Use this keyword to perform a number of functions, depending on
|
||
the parameter values specified.</p>
|
||
<div class="section"><dl><dt><strong>Function</strong></dt>
|
||
<dd><strong>Valid parameter values</strong></dd>
|
||
<dt class="dlterm">Validity checking</dt>
|
||
<dd>AB, ME, MF, M10, M10F, M11, M11F, VN, VNE</dd>
|
||
<dt class="dlterm">Keyboard control</dt>
|
||
<dd>ER, FE, LC, RB, RZ</dd>
|
||
<dt class="dlterm">Cursor control</dt>
|
||
<dd>RL, RLTB</dd>
|
||
</dl>
|
||
<div class="p">The formats of the keyword are: <pre>CHECK(validity-checking-code [. . .])
|
||
CHECK(keyboard-control-code [. . .])
|
||
CHECK(cursor-control-code)</pre>
|
||
</div>
|
||
<p>The following CHECK keywords
|
||
are the preferred form of other DDS keywords:</p>
|
||
<ul><li>CHECK(ER) is equivalent to AUTO(RA)</li>
|
||
<li>CHECK(LC) is equivalent to LOWER</li>
|
||
<li>CHECK(RB) is equivalent to AUTO(RAB)</li>
|
||
<li>CHECK(RZ) is equivalent to AUTO(RAZ)</li>
|
||
</ul>
|
||
<p>The following CHECK keyword functions can also be specified using
|
||
the Change Input Default (CHGINPDFT) keyword at the file, record, or field
|
||
level:</p>
|
||
<dl><dt><strong>CHECK keyword</strong></dt>
|
||
<dd><strong>CHGINPDFT equivalent</strong></dd>
|
||
<dt class="dlterm">CHECK(FE)</dt>
|
||
<dd>CHGINPDFT(FE)</dd>
|
||
<dt class="dlterm">CHECK(LC)</dt>
|
||
<dd>CHGINPDFT(LC)</dd>
|
||
<dt class="dlterm">CHECK(ME)</dt>
|
||
<dd>CHGINPDFT(ME)</dd>
|
||
<dt class="dlterm">CHECK(MF)</dt>
|
||
<dd>CHGINPDFT(MF)</dd>
|
||
</dl>
|
||
<p>Option indicators are valid only for CHECK(ER) and CHECK(ME).</p>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Validity checking</h4><p>Use
|
||
CHECK at the field level to specify that the <span class="keyword">i5/OS™</span> operating
|
||
system or the device is to check the validity of the data typed into an input-capable
|
||
(input-only or input/output) field.</p>
|
||
<div class="p">CHECK validates the data by applying
|
||
one or more edit/check algorithms against the data. An error message is displayed
|
||
if a specified edit/check algorithm is not satisfied. <div class="note"><span class="notetitle">Note:</span> See the <a href="rzakcmstdfchkme.htm">CHKMSGID (Check Message Identifier) keyword for display files</a> topic for information about defining user-specified
|
||
messages.</div>
|
||
</div>
|
||
<p>The valid edit/check codes are:</p>
|
||
<dl><dt><strong>Edit/Check code</strong></dt>
|
||
<dd><strong>Meaning</strong></dd>
|
||
<dt class="dlterm">AB</dt>
|
||
<dd>Allow blanks <p>Use this code at the file, record, or field level to allow
|
||
all-blank input to satisfy validity checking for an input-capable field should
|
||
any associated validity check fail. This enables the passing of data to the
|
||
program when the workstation user has positioned the cursor to the field but
|
||
left it blank (for instance, by pressing the Erase Input key, the Field Exit
|
||
key, or the spacebar). For example, FLD1 is an input-capable field with CHECK(M10
|
||
ME) in effect. If the workstation user accidentally types into the field,
|
||
the M10 algorithm must be satisfied. Specifying (CHECK(M10 ME AB)) allows
|
||
the display station user to blank the field to satisfy validity checking.</p>
|
||
<p>When
|
||
specified at the file level, this keyword applies for all input-capable fields
|
||
in the file for which a validity checking keyword is coded. Likewise, when
|
||
specified at the record level, this keyword applies for all input-capable
|
||
fields in the record for which a validity checking keyword is coded. At the
|
||
field level, always specify this keyword with another validity checking keyword
|
||
(CHECK(M10, M10F, M11, M11F, VN, VNE), CHKMSGID, COMP, RANGE, or VALUES).</p>
|
||
<p>CHECK(AB)
|
||
should not be specified if SFLROLVAL or SFLRCDNBR is also specified for the
|
||
field.</p>
|
||
<p>CHECK(AB) can be used in database files for reference purposes.</p>
|
||
<p>When
|
||
you consider using CHECK(AB) with other validity checking functions, note
|
||
that processing occurs in the following order:</p>
|
||
<ol><li>Any of the following order: <ol type="a"><li>The keyboard shift attribute specified in position 35 (such as alphanumeric
|
||
shift or numeric only) can restrict input typing to certain characters.</li>
|
||
<li>If the keyboard shift attribute is numeric shift, the data type (character
|
||
or numeric) is set by the entry in positions 36 through 37 (decimal positions)
|
||
and restricts input typing to certain characters.</li>
|
||
<li>The CHECK(FE), CHECK(MF), and CHECK(ME) keywords, if specified, restrict
|
||
input typing.</li>
|
||
</ol>
|
||
</li>
|
||
<li>Either of the following order: <ol type="a"><li>If CHECK(AB) is specified, data management passes the input data to the
|
||
program (blanks for a character field and zeros for a numeric field). No further
|
||
validity checking is done.</li>
|
||
<li>If CHECK(AB) is not specified, data management performs the following
|
||
validity checking functions before passing the data to the program: CHECK(VN),
|
||
CHECK(VNE), CHECK(M10), CHECK(M10F), CHECK(M11), CHECK(M11F), COMP(. . .),
|
||
RANGE(. . .), VALUES(. . .).</li>
|
||
</ol>
|
||
</li>
|
||
</ol>
|
||
<p>You cannot specify the CHECK(AB) keyword on a floating-point field
|
||
(F in position 35).</p>
|
||
<p>Option indicators are not valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">ME</dt>
|
||
<dd>Mandatory enter <p>This code specifies that at least 1 character of data
|
||
(a blank is valid) must be typed into the field. Note that when no field currently
|
||
on the display has been changed, the display station does not enforce mandatory
|
||
enter. To enforce mandatory enter, specify DSPATR(MDT) for at least one field
|
||
in each record on the display. For all other fields in the record, CHECK(ME)
|
||
is then enforced. However, because the device cannot determine if the user
|
||
has typed data to a field with both DSPATR(MDT) and CHECK(ME), you should
|
||
also specify DSPATR(ND) so that this field is not displayed.</p>
|
||
<p>Option
|
||
indicators are valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">MF</dt>
|
||
<dd>Mandatory fill <p>This code specifies that if any part of the field is
|
||
altered, each position in the field must have a character entered in it. Blanks
|
||
are considered valid characters.</p>
|
||
<p>This code cannot be specified with
|
||
keyboard control codes (RB or RZ) or with the WRDWRAP keyword.</p>
|
||
<p>Option
|
||
indicators are not valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">M10/M10F or M11/M11F (IBM<sup>®</sup> Modulus 10 or Modulus 11 Algorithm)</dt>
|
||
<dd>IBM Modulus
|
||
10 self-check algorithm <p>This code specifies that data typed into the field
|
||
must satisfy the IBM Modulus 10 (M10 or M10F) or Modulus 11 (M11 or M11F)
|
||
self-check algorithm. When you specify CHECK(M10) or CHECK(M11), the self-check
|
||
verifies that the field has a valid Modulus 10 or Modulus 11 number when you
|
||
press the Enter key or a function key. When you specify CHECK(M10F) or CHECK(M11F),
|
||
the self-check verifies that the field has a valid Modulus 10 or Modulus 11
|
||
number as the user types the data into the field. You cannot specify both
|
||
the Modulus 10 and the Modulus 11 self-check algorithms for the same field
|
||
or both formats of the same algorithm for the same field.</p>
|
||
<p>A self-check
|
||
field is composed of two parts: the base number and one check digit. The check
|
||
digit is the farthest right digit in the field. The base number and the check
|
||
digit together make up a field in your database (for example, an account number).
|
||
The following figure is an example of an 8-digit self-check field.</p>
|
||
<br /><img src="rsll637.gif" alt="In the figure, a 7-digit number
(6371257) is followed by a check digit of 1." /><br /><div class="p">See the <a href="../books/sc415715.pdf" target="_blank">Application Display
|
||
Programming book</a><img src="wbpdf.gif" alt="Link to PDF" /> for information about how to use CHECK(M10), CHECK(M10F), CHECK(M11),
|
||
and CHECK(M11F). <div class="note"><span class="notetitle">Notes:</span> <ol><li>The <span class="keyword">i5/OS</span> operating
|
||
system supports a maximum length of 31 digits for numeric fields.</li>
|
||
<li>You cannot specify the CHECK(M10), CHECK(M10F), CHECK(M11), and CHECK(M11F)
|
||
keywords with the COMP(EQ) keyword.</li>
|
||
<li>You cannot specify the CHECK(M10), CHECK(M10F), CHECK(M11), and CHECK(M11F)
|
||
keywords on a floating-point field (F in position 35).</li>
|
||
<li>You cannot specify the CHECK(M10F) or the CHECK(M11F) keyword in a file
|
||
containing the USRDSPMGT keyword.</li>
|
||
<li>You cannot specify the CHECK(M10F) or the CHECK(M11F) keyword on a field
|
||
containing the CHKMSGID or WRDWRAP keyword.</li>
|
||
</ol>
|
||
</div>
|
||
</div>
|
||
<p>For each position in the base number, there is a Modulus
|
||
10 weight factor and a Modulus 11 weight factor. Positions are counted from
|
||
the farthest right digit (not including the check digit).</p>
|
||
<p>The
|
||
Modulus 10 weight factor is 2 for positions 1, 3, 5, …, 31. It is 1 for positions
|
||
2, 4, 6, …, 30. The Modulus 11 weight factors are 2, 3, 4, 5, 6, 7, 2, 3,
|
||
4, 5, 6, 7,…, 2, 3, 4, 5, 6, 7, 2 for positions 1, 2,…, 31.</p>
|
||
<p>To calculate
|
||
the Modulus 10 self-check digit, do the following tasks:</p>
|
||
<ol><li>Multiply the units position and every alternate position of the base number
|
||
by 2.</li>
|
||
<li>Add the digits in the products to the digits in the base number that were
|
||
not multiplied.</li>
|
||
<li>Subtract the sum from the next higher number ending in zero.</li>
|
||
</ol>
|
||
<p>The difference is the self-check digit.</p>
|
||
<p>For
|
||
example:</p>
|
||
<pre>Base number: 6 1 2 4 8
|
||
Units position and every alternate position: 6 2 8
|
||
Multiply by the weight factor, 2: x2 x2 x2
|
||
Products: 12 4 16
|
||
Digits not multiplied: 1 4
|
||
Add the digits of the products and the digits
|
||
from the base number that were not used for
|
||
multiplication: ( 1 + 2 ) + 4 + ( 1 + 6 ) + 1 + 4 = 19
|
||
Next higher number ending in 0: 20
|
||
Subtract: -19
|
||
Self-check digit: 1</pre>
|
||
<p>To
|
||
calculate the Modulus 11 self-check digit, do the following tasks:</p>
|
||
<ol><li>Assign a weight factor to each digit position of the base number. These
|
||
factors are: 2, 3, 4, 5, 6, 7, 2, 3, 4, 5, 6, 7, 2, 3, . . . starting with
|
||
the units position of the number and progressing toward the high-order digit.
|
||
For example, the base number 991246351 can be assigned the weight factors
|
||
as follows: <pre>Base number 9 9 1 2 4 6 3 5 1
|
||
Weight factors 4 3 2 7 6 5 4 3 2</pre>
|
||
</li>
|
||
<li>Multiply each digit by its weight factor.</li>
|
||
<li>Add the products.</li>
|
||
<li>Divide this sum by 11.</li>
|
||
<li>Subtract the remainder from 11.</li>
|
||
</ol>
|
||
<p>The difference is the self-check digit.</p>
|
||
<div class="p">For example: <dl><dt class="dlterm">Base number</dt>
|
||
<dd>1 3 7 3 9</dd>
|
||
<dt class="dlterm">Weight factors</dt>
|
||
<dd>x6 x5 x4 x3 x2</dd>
|
||
<dt class="dlterm">Multiply each digit by its weight factor</dt>
|
||
<dd>6 15 28 9 18</dd>
|
||
<dt class="dlterm">Add the products</dt>
|
||
<dd>6 + 15 + 28 + 9 + 18 = 76</dd>
|
||
<dt class="dlterm">Divide the sum by 11</dt>
|
||
<dd>76/11 = 6 plus a remainder of 10</dd>
|
||
<dt class="dlterm">Subtract the remainder from 11</dt>
|
||
<dd>11 - 10 = 1</dd>
|
||
<dt class="dlterm">Self-check digit</dt>
|
||
<dd>1</dd>
|
||
</dl>
|
||
<div class="note"><span class="notetitle">Note:</span> If the remainder in step 4 is 0, the self-check digit
|
||
is 0. If the remainder is 1, the base number has no self-check digit; you
|
||
must make sure that such base numbers are not used in the fields you define
|
||
as self-check fields.</div>
|
||
</div>
|
||
<p>Option indicators are not valid for CHECK(M10),
|
||
CHECK(M10F), CHECK(M11), or CHECK(M11F).</p>
|
||
</dd>
|
||
<dt class="dlterm">VN</dt>
|
||
<dd>Validate name <p>Use this code to specify that the data typed into the
|
||
field must be a valid simple name. The first character must be $, #, @, or
|
||
A through Z. The remaining characters must be alphanumeric ($, #, @, A through
|
||
Z, 0 through 9, or underscore (_), and must not contain embedded blanks.</p>
|
||
<p>When
|
||
the CHECK(VN) keyword is specified on a field, the field must be character
|
||
(keyboard shift of A, N, X, W, or I), and must be input-capable (usage of
|
||
I or B).</p>
|
||
<p>CHECK(VN) cannot be specified with any of the following keywords:</p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="90%" frame="void" border="0" rules="none"><tbody><tr><td valign="top" width="50%"><p>CHECK(M10)<br />
|
||
CHECK(M10F)<br />
|
||
CHECK(M11)<br />
|
||
CHECK(M11F)</p>
|
||
</td>
|
||
<td valign="top" width="50%"><p>CHECK(VNE)<br />
|
||
COMP<br />
|
||
RANGE<br />
|
||
VALUES</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p>Option indicators are not valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">VNE</dt>
|
||
<dd>Validate name extended <p>Use this code to specify that the data typed
|
||
into the field must be a valid extended name.</p>
|
||
<p>When the CHECK(VNE) keyword
|
||
is specified on a field, the field must be character (keyboard shift of A,
|
||
N, X, W, or I), input-capable (usage of I or B), and have a maximum length
|
||
of 255 characters.</p>
|
||
<div class="p">If the name is not delimited by double quotation
|
||
marks: <ul><li>The first character must be A through Z, a through z, #, $, or @.</li>
|
||
<li>The remaining characters must be A through Z, a through z, #, $, _, or
|
||
a period.</li>
|
||
<li>Lowercase letters will be converted to uppercase.</li>
|
||
</ul>
|
||
</div>
|
||
<div class="p">If the name is delimited by double quotation marks: <ul><li>Any character is allowed except: <dl><dt class="dlterm">Hex 00 through Hex 3F</dt>
|
||
<dd>(device control)</dd>
|
||
<dt class="dlterm">Hex FF</dt>
|
||
<dd>(device control)</dd>
|
||
<dt class="dlterm">Hex 40</dt>
|
||
<dd>(blank)</dd>
|
||
<dt class="dlterm">Hex 5C</dt>
|
||
<dd>(*)</dd>
|
||
<dt class="dlterm">Hex 6F</dt>
|
||
<dd>(?)</dd>
|
||
<dt class="dlterm">Hex 7D</dt>
|
||
<dd>(')</dd>
|
||
<dt class="dlterm">Hex 7F</dt>
|
||
<dd>(")</dd>
|
||
</dl>
|
||
</li>
|
||
<li>Lowercase letters remain lowercase.</li>
|
||
<li>The system removes quotation marks when they are not needed (if the syntax
|
||
of the name meets the requirements of an unquoted name, and all letters are
|
||
uppercase).</li>
|
||
</ul>
|
||
</div>
|
||
<p>CHECK(VNE) cannot be specified with any of the following keywords:</p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="90%" frame="void" border="0" rules="none"><tbody><tr><td valign="top" width="50%"><p>CHECK(M10)<br />
|
||
CHECK(M10F)<br />
|
||
CHECK(M11)<br />
|
||
CHECK(M11F)</p>
|
||
</td>
|
||
<td valign="top" width="50%"><p>CHECK(VN)<br />
|
||
COMP<br />
|
||
RANGE<br />
|
||
VALUES</p>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
<p>Option indicators are not valid for this keyword.</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Keyboard control</h4><p>When
|
||
the CHECK keyword is used with a keyboard control code, it controls certain
|
||
data-entry aspects. The valid keyboard control codes are:</p>
|
||
<dl><dt><strong>Keyboard control code</strong></dt>
|
||
<dd><strong>Meaning</strong></dd>
|
||
<dt class="dlterm">ER</dt>
|
||
<dd>End of record; equivalent to AUTO(RA) <p>Use this code so that the workstation
|
||
user does not need to press the Enter key. Whenever the workstation user keys
|
||
a character (including a blank) into the last position of the field, the record
|
||
is sent from the device just the same as if the Enter key had been pressed.
|
||
If you also specify DSPATR(SP) for the field, the record is sent from the
|
||
device as soon as the workstation user selects the field. If you use this
|
||
function, it should be on the last field typed in by the user for this record.</p>
|
||
<p>Option
|
||
indicators are valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">FE</dt>
|
||
<dd>Field exit check <p>This code specifies that the workstation user cannot
|
||
advance to the next input field without pressing one of the field exit keys.
|
||
The cursor remains under the low-order character position of the field until
|
||
a valid field exit key has been pressed, even though that character has been
|
||
typed in. If the user presses any other key, an error results.</p>
|
||
<p>If you
|
||
want to specify CHECK(FE) for all the input-capable fields in a record format,
|
||
specify CHGINPDFT(FE) at the record level. If you want to specify CHECK(FE)
|
||
for all the input-capable fields in a file, specify CHGINPDFT(FE) at the file
|
||
level.</p>
|
||
<p>Field exit keys include the Field Exit, Field+, Field-, and cursor
|
||
movement keys. Which keys are valid field exit keys depends on the keyboard
|
||
style being used.</p>
|
||
<p>This code applies only to input fields into which
|
||
the workstation user can type.</p>
|
||
<p>Option indicators are not valid for this
|
||
keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">LC</dt>
|
||
<dd>Lowercase; equivalent to LOWER <p>Use CHECK(LC) for input-only or input/output
|
||
fields to permit the workstation user to type lowercase a through z. The way
|
||
the workstation user keys in the characters (uppercase or lowercase) is the
|
||
way the characters appear on the display and are returned to your program.</p>
|
||
<p>If
|
||
you want to specify CHECK(LC) for all the character input-capable fields in
|
||
a record format, specify CHGINPDFT(LC) at the record level. If you want to
|
||
specify CHECK(LC) for all the character input-capable fields in a file, specify
|
||
CHGINPDFT(LC) at the file level.</p>
|
||
<p>Your program can display a field that
|
||
contains both uppercase and lowercase characters.</p>
|
||
<p>If you specify this
|
||
keyword, lowercase a through z remain lowercase. If you do not specify this
|
||
keyword, lowercase a through z are changed to uppercase.</p>
|
||
<p>The CHECK(LC)
|
||
keyword has no effect on data-entry keyboards. Data-entry keyboards do not
|
||
support lowercase characters a through z.</p>
|
||
<p>Option indicators are not
|
||
valid for this keyword.</p>
|
||
<p><a href="#rzakcmstdfcheck__exchlc">Figure 1</a> shows
|
||
how to specify the CHECK(LC) keyword.</p>
|
||
<div class="fignone" id="rzakcmstdfcheck__exchlc"><a name="rzakcmstdfcheck__exchlc"><!-- --></a><span class="figcap">Figure 1. Specify the
|
||
CHECK(LC) keyword</span><pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
00100A NAME 30 I 3 2CHECK(LC)
|
||
A</pre>
|
||
</div>
|
||
</dd>
|
||
<dt class="dlterm">RB</dt>
|
||
<dd>Right-aligned with blank fill; equivalent to AUTO(RAB) <p>This code shifts
|
||
data typed into the field to the farthest right positions and fills the remaining
|
||
positions with blanks.</p>
|
||
<p>For signed numeric fields, you do not need to
|
||
specify CHECK(RB). right-aligned with blank fill is the default. When the
|
||
value of a signed numeric field is zero, it appears as all blanks on the display.</p>
|
||
<p>The <span class="keyword">i5/OS</span> program converts blanks to
|
||
zeros when returning numeric fields to your program.</p>
|
||
<p>Option indicators
|
||
are not valid for this keyword.</p>
|
||
</dd>
|
||
<dt class="dlterm">RZ</dt>
|
||
<dd>Right-aligned with zero fill; equivalent to AUTO(RAZ) <p>This code shifts
|
||
data typed into the field to the farthest right positions and fills the remaining
|
||
positions with zeros.</p>
|
||
<p>For signed numeric fields, if you do not specify
|
||
CHECK(RZ), CHECK(RB) is the default.</p>
|
||
</dd>
|
||
</dl>
|
||
<p>Option indicators are not valid with this keyword.</p>
|
||
<p>The following list shows programming considerations for
|
||
CHECK(RB) and CHECK(RZ):</p>
|
||
<ul><li>You activate right-alignment only by pressing the Field
|
||
Exit, the Field+, or the Field- key. If you use the cursor movement keys to
|
||
exit from a right-aligned field, the field is not right-aligned; it is left
|
||
as is.</li>
|
||
<li>right-aligned fields longer than 15 character positions slow keyboard
|
||
entries.</li>
|
||
<li>The Dup key fills a right-aligned field from the cursor location to the
|
||
end of the field with the duplication character, but the field is not right-aligned.</li>
|
||
<li>You cannot specify the CHECK(RB) or CHECK(RZ) keyword on a field containing
|
||
the WRDWRAP keyword.</li>
|
||
</ul>
|
||
</div>
|
||
<div class="example"><h4 class="sectiontitle">Example 1</h4><p>The following example shows how to specify
|
||
the CHECK keyword for right-aligned with blank fill (RB) and for right-aligned
|
||
with zero fill (RZ).</p>
|
||
<pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
00010A R RECORD1
|
||
00020A* Numeric only
|
||
00030A DATA1 7Y OI 2 2TEXT('No right-adjust')
|
||
00040A DATA2 7Y OI 3 2CHECK(RZ)
|
||
00050A* Signed numeric
|
||
00060A DATA3 7S OI 4 2TEXT('CHECK(RB) is the default')
|
||
00070A DATA4 7S OI 5 2CHECK(RZ)
|
||
00080A* Character
|
||
00090A DATA5 7 I 6 2TEXT('No right-adjust')
|
||
00100A DATA6 7 I 7 2CHECK(RB)
|
||
A</pre>
|
||
</div>
|
||
<div class="section"><p>When you specify the CHECK keyword for right-aligned
|
||
with zero or blank fill, fill the following displays:</p>
|
||
|
||
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="void" border="0" rules="none"><thead align="left"><tr><th align="left" valign="bottom" width="18.181818181818183%" id="d0e515">Field name</th>
|
||
<th align="left" valign="bottom" width="25.5050505050505%" id="d0e517">Data typed in</th>
|
||
<th align="left" valign="bottom" width="18.434343434343432%" id="d0e519">Key pressed</th>
|
||
<th align="left" valign="bottom" width="37.878787878787875%" id="d0e521">Result on display</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody><tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 "><em>Numeric only</em></td>
|
||
<td valign="top" width="25.5050505050505%" headers="d0e517 "> </td>
|
||
<td valign="top" width="18.434343434343432%" headers="d0e519 "> </td>
|
||
<td valign="top" width="37.878787878787875%" headers="d0e521 "> </td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA1</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 – _ _ _</li>
|
||
<li>0 _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 – _ _ _</li>
|
||
<li>0 _ _ _ _ _ _ _ See note.</li>
|
||
<li>_ _ _ _ _ _ See note.</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA2</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 – _ _ _</li>
|
||
<li>0 _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>0 0 0 0 1 2 3</li>
|
||
<li>0 0 0 1 2 3 –</li>
|
||
<li>0 0 0 0 0 0 0</li>
|
||
<li>0 0 0 0 0 0 0</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 "><em>Signed Numeric</em></td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "> </td>
|
||
<td valign="top" width="18.434343434343432%" headers="d0e519 "> </td>
|
||
<td valign="top" width="37.878787878787875%" headers="d0e521 "> </td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA3</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _ _</li>
|
||
<li>1 2 3 _ _ _ _ _</li>
|
||
<li>0 _ _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field-</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>_ _ _ _ 1 2 3 _</li>
|
||
<li>_ _ _ _ 1 2 3 –</li>
|
||
<li>_ _ _ _ _ _ 0 _ See note.</li>
|
||
<li>_ _ _ _ _ _ _ _ See note.</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA4</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _ _</li>
|
||
<li>1 2 3 _ _ _ _ _</li>
|
||
<li>0 _ _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field-</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>0 0 0 0 1 2 3 _</li>
|
||
<li>0 0 0 0 1 2 3 –</li>
|
||
<li>0 0 0 0 0 0 0 _</li>
|
||
<li>0 0 0 0 0 0 0 _</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 "> </td>
|
||
<td colspan="3" align="left" valign="top" headers="d0e517 d0e519 d0e521 "><div class="note"><span class="notetitle">Note:</span> The <span class="keyword">i5/OS</span> operating system converts
|
||
blanks to zeros when returning numeric fields to your program. Therefore,
|
||
this field is returned to your program as all zeros.</div>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 "><em>Character</em></td>
|
||
<td valign="top" width="25.5050505050505%" headers="d0e517 "> </td>
|
||
<td valign="top" width="18.434343434343432%" headers="d0e519 "> </td>
|
||
<td valign="top" width="37.878787878787875%" headers="d0e521 "> </td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA5</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 – _ _ _</li>
|
||
<li>0 _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
<li>A B C _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 – _ _ _</li>
|
||
<li> 0_ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
<li>A B C _ _ _ _</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
<tr><td align="left" valign="top" width="18.181818181818183%" headers="d0e515 ">DATA6</td>
|
||
<td align="left" valign="top" width="25.5050505050505%" headers="d0e517 "><ol><li>1 2 3 _ _ _ _</li>
|
||
<li>1 2 3 –_ _ _</li>
|
||
<li>0 _ _ _ _ _ _</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
<li>A B C _ _ _ _</li>
|
||
</ol>
|
||
</td>
|
||
<td align="left" valign="top" width="18.434343434343432%" headers="d0e519 "><ul><li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
<li>Field Exit</li>
|
||
</ul>
|
||
</td>
|
||
<td align="left" valign="top" width="37.878787878787875%" headers="d0e521 "><ul><li>_ _ _ _ 1 2 3</li>
|
||
<li>__ _ 1 2 3 –</li>
|
||
<li>_ _ _ _ _ _ 0</li>
|
||
<li>_ _ _ _ _ _ _</li>
|
||
<li>__ _ _ A B C</li>
|
||
</ul>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Cursor control</h4><p>When
|
||
the CHECK keyword is used with a cursor control code, it specifies that the
|
||
cursor is to move from right to left. This feature is designed for languages
|
||
where information is read right to left.</p>
|
||
<p>the <span class="keyword">i5/OS</span> operating
|
||
system does not ensure that right-to-left files are opened only for display
|
||
stations capable of right-to-left cursor movement. Therefore, all workstations
|
||
in the same system should be configured with the same language capability
|
||
and with the same right-to-left capability.</p>
|
||
<p>The valid cursor control
|
||
codes that can be specified for cursor control are:</p>
|
||
<dl><dt><strong>Cursor control code</strong></dt>
|
||
<dd><strong>Meaning</strong></dd>
|
||
<dt class="dlterm">RL</dt>
|
||
<dd>Right-to-left cursor movement within fields <p>Use the CHECK(RL) keyword
|
||
at the file, record, or field level to specify that the cursor should move
|
||
from right to left within input-capable character fields. At the file level,
|
||
specifying CHECK(RL) makes the cursor move from right to left in all input-capable
|
||
character fields in the file. At the record level, specifying CHECK(RL) makes
|
||
the cursor move from right to left in all input-capable character fields in
|
||
the record. At the field level, specifying CHECK(RL) makes the cursor move
|
||
from right to left in only the field with which it is associated.</p>
|
||
<p><strong>Example
|
||
2:</strong></p>
|
||
<p>The following example shows how to specify the CHECK(RL) keyword
|
||
at the file level.</p>
|
||
<pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
00010A CHECK(RL)
|
||
00020A R DSPLY
|
||
A</pre>
|
||
<p><strong>Example 3:</strong></p>
|
||
<p>The following example shows how
|
||
to specify the RL cursor control with edit check.</p>
|
||
<pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
A :
|
||
A :
|
||
A R RECORD1 CHECK(RL AB)
|
||
A :
|
||
A :
|
||
A R RECORD2
|
||
A INPFLD 4 I 4 10CHECK(RL MF)
|
||
A :
|
||
A :
|
||
A</pre>
|
||
<div class="note"><span class="notetitle">Note:</span> If you want to specify the RL cursor control code
|
||
with an edit/check code, you can do so only if the edit/check code is valid
|
||
at the level you specify. In the example above, CHECK(RL AB) is specified
|
||
at the record level because AB is valid at that level. CHECK(RL MF) is specified
|
||
at the field level because MF is valid only at that level.</div>
|
||
</dd>
|
||
<dt class="dlterm">RLTB</dt>
|
||
<dd>Right-to-left, top-to-bottom cursor movement from field to field <div class="p">Use
|
||
the CHECK(RLTB) keyword only at the file level. It specifies the direction
|
||
the cursor is to advance from input-capable field to input-capable field.
|
||
CHECK(RLTB) specifies that on exiting from a field, the cursor advances by
|
||
moving from right to left and from top to bottom of the display until it reaches
|
||
the next input-capable field. You can specify the RLTB cursor control code
|
||
with only the edit/check code AB, as the others are not valid at the file
|
||
level. <div class="note"><span class="notetitle">Note:</span> Specifying CHECK(RLTB) does not change which input-capable field
|
||
the cursor is positioned in when the display initially appears.</div>
|
||
</div>
|
||
<p><strong>Example
|
||
4:</strong></p>
|
||
<p>The following example shows how to specify the CHECK(RLTB) keyword.</p>
|
||
<pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
00010A CHECK(RLTB)
|
||
00020A R PROMPT
|
||
A</pre>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<div class="section"><h4 class="sectiontitle">Right-to-left capability restrictions</h4><p>The right-to-left
|
||
capability includes the following restrictions:</p>
|
||
<ul><li>The check digit for modulus checking is the farthest right byte in the
|
||
field.</li>
|
||
<li>Katakana cannot be used with right-to-left support.</li>
|
||
<li>CHECK(RL) and CHECK(RLTB) cannot be specified with user-defined records
|
||
(having the USRDFN keyword).</li>
|
||
<li>CHECK(RL) applies only to character fields.</li>
|
||
<li>You cannot specify the CHECK(RB) or CHECK(RZ) keyword on a field containing
|
||
the WRDWRAP keyword.</li>
|
||
</ul>
|
||
<p>A warning message appears for the following conditions:</p>
|
||
<ul><li>A right-to-left field that also allows magnetic card reader operator identification
|
||
data (DSPATR(OID) keyword)</li>
|
||
<li>A right-to-left field that spans more than one line</li>
|
||
<li>A right-to-left field that is also a self-check field (CHECK(M10) or CHECK(M11)
|
||
keyword)</li>
|
||
<li>A right-to-left field for which CHECK(RZ) or CHECK(RB) is specified</li>
|
||
</ul>
|
||
<p>Option indicators are not valid with cursor control codes.</p>
|
||
</div>
|
||
<div class="example"><h4 class="sectiontitle">Example 5</h4><p>The following example shows how to specify
|
||
the validity-checking CHECK keywords.</p>
|
||
<pre>|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
|
||
00060A R RECORD1 CHECK(AB)
|
||
00070A FIELD11 10 B 1 2TEXT('CHECK(AB) not propagated to +
|
||
00080A this field')
|
||
00090A FIELD21 10 B 1 22CHECK(VN)
|
||
00100A TEXT('CHECK(AB) is propagated to +
|
||
00110A this field')
|
||
00120A FIELD31 10 B 1 42CHECK(VNE)
|
||
00130A TEXT('CHECK(AB) is propagated to +
|
||
00140A this field')
|
||
00150A*
|
||
00160A R RECORD2
|
||
00170A FIELD12 10 B 2 2CHECK(VN) CHECK(AB)
|
||
00180A FIELD22 10 B 2 22CHECK(VN AB)
|
||
00190A FIELD32 1 B 2 42CHECK(AB) VALUES('A' 'B' 'C')
|
||
00200A FIELD42 10 B 2 62CHECK(VN)
|
||
00210A FIELD52 10 B 3 2CHECK(VNE)
|
||
00220A FIELD62 10 B 3 22CHECK(VNE AB)
|
||
00230A FIELD72 10 B 4 1CHECK(ME MF)
|
||
00240A FIELD82 8 OB 4 22CHECK(M10)
|
||
00250A FIELD92 10 OB 4 42CHECK(M11)
|
||
A</pre>
|
||
</div>
|
||
</div>
|
||
<div>
|
||
<div class="familylinks">
|
||
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzakcmstkeyent.htm" title="You type the keyword entries that define display files in positions 45 through 80 (functions).">DDS keyword entries for display files (positions 45 through 80)</a></div>
|
||
</div>
|
||
<div class="relref"><strong>Related reference</strong><br />
|
||
<div><a href="rzakcmstdfauto.htm" title="Under some circumstances, the AUTO keyword is equivalent to the CHECK keyword.">AUTO (Auto) keyword for display files</a></div>
|
||
<div><a href="rzakcmstdflower.htm" title="The LOWER keyword is equivalent to the CHECK(LC) keyword.">LOWER (Lower) keyword for display files</a></div>
|
||
</div>
|
||
</div>
|
||
</body>
|
||
</html> |