 |
Use the verify statement, VER, to check that the current value
of a variable meets some criteria. Typically, it is used in the processing
section to verify the data stored in a dialog variable. Verification
of an input variable value is performed after the value has been stored
in the variable pool. The current rules for padding, justification,
and VDEFINE apply to the value stored in the pool. The syntax shown
here and the associated text describe the types of verification provided
by ISPF.
The syntax of the VER statement supports the VSYM built-in function
in the variable parameter. In addition, the verification processing
for the types DSNAME, DSNAMEF, DSNAMEFM, DSNAMEPQ, and DDSNAMEQ resolves
system symbols within the variable name and updates the variable in
the panel field. Therefore, there is no need to include VSYM within
the variable parameter on the VER statement when you specify any one
of these DSNAME types.
Example: VER(VSYM(X),NAME,MSG=ABC123)

>>-VER--(variable--+----------+--------------------------------->
'-NONBLANK-'
>--+-----------------------------------------+------------------>
+-ALPHA-----------------------------------+
+-ALPHAB----------------------------------+
+-BIT-------------------------------------+
+-DBCS------------------------------------+
+-DSNAME----------------------------------+
+-DSNAMEF---------------------------------+
+-DSNAMEFM--------------------------------+
+-DSNAMEPQ--------------------------------+
+-DSNAMEQ---------------------------------+
+-EBCDIC----------------------------------+
+-ENUM------------------------------------+
+-FILEID----------------------------------+
+-HEX-------------------------------------+
+-IDATE-----------------------------------+
+-INCLUDE-+--------+-,value1-+---------+--+
| '-,IMBLK-' '-,value2-' |
+-IPADDR4---------------------------------+
+-ITIME-----------------------------------+
+-JDATE-----------------------------------+
+-JSTD------------------------------------+
+-LEN,relational-operator,expected-length-+
| .-------. |
| V | |
+-LIST,---value-+-------------------------+
+-LISTV,varlist---------------------------+
+-LISTVX,varlist--------------------------+
| .-,-----. |
| V | |
+-LISTX,---value-+------------------------+
+-MIX-------------------------------------+
+-NAME------------------------------------+
+-NAMEF-----------------------------------+
+-NUM-------------------------------------+
+-PICT,string-----------------------------+
+-PICTCN,mask-character,field-mask,string-+
+-RANGE,lower,upper-----------------------+
+-STDDATE---------------------------------+
'-STDTIME---------------------------------'
>--+------------+--)-------------------------------------------><
'-,MSG=value-'
where: - variable
- Name of the variable to be checked.
- NONBLANK
- Optional keyword. Specifies that the variable must contain a value
and not all blanks. NONBLANK, or NB, can be specified
with another type verification, such as ALPHA, NUM, or HEX. Do this
by specifying the NONBLANK keyword after the variable name but before
the other keyword. Example:
VER (&A,NB,PICT,NNN-NNNN)
is
equivalent to: VER (&A,NONBLANK)
VER (&A,PICT,NNN-NNNN)
If the variable does not
meet the verification criteria, ISPF displays a message. The message
can be specified in the MSG=value parameter, where value is
a message ID. If no message is specified, an ISPF-supplied message
is displayed, based on the type of verification. Even if a VER fails,
processing of the panel's )PROC and )REINIT statements is performed.
- keyword
- Specifies the verification criteria. One of these keywords must
be specified:
- ALPHA
- The variable
must contain only lowercase or uppercase alphabetic characters (A-Z,
a-z, #, $, or @). Blanks are not allowed.
- ALPHAB
- The variable must contain only lowercase or uppercase alphabetic
characters (A-Z or a-z). Blanks are not allowed.
- BIT
- The variable
must contain all zeros and ones.
- DBCS
- The
variable must contain only valid DBCS characters.
- DSNAME
- The variable
must contain a valid TSO data set name. A data set name qualifier
must begin with an alphabetic character (A-Z, $, @, or #). The remaining
characters must be either uppercase alphanumeric or a hyphen (-).
A period is used to connect each qualifier in the data set name.
ISPF first determines if the TSO/E NOPREFIX PROFILE option is
in use. If it is, ISPF does use a prefix in the calculation of the
data set length. A maximum of 44 characters can be entered for a data
set name, if that data set name is enclosed in quotes. If the TSO/E
NOPREFIX PROFILE option is in use, a maximum of 44 characters can
be entered for a data set name when it is not enclosed within quotes.
If the TSO/E NOPREFIX PROFILE option is not in use, a maximum of 42
characters can be entered for a data set name, not enclosed in quotes.
ISPF uses the minimum data set prefix of two characters (one character
and a period separator) during its calculation of the data set name
length. Note: The verification processing for DSNAME resolves system
symbols within the variable name and updates the variable in the panel
field. Therefore, when you specify the verification type DSNAME, there
is no need to include VSYM within the variable parameter on the VER
statement.
- DSNAMEF
-
This
parameter provides the same function as DSNAME with the additional
feature that asterisks (*) and percent signs (%) can be used within
the qualifiers. You can use DSNAMEF to filter a list of data sets.
A
single asterisk within a qualifier indicates that zero or more characters
can occupy that position. Consecutive asterisks are not valid within
a qualifier.
A single percent sign indicates that any one alphanumeric
or national character can occupy that position. One to eight percent
signs can be specified in each qualifier.
Note: The verification
processing for DSNAMEF resolves system symbols within the variable
name and updates the variable in the panel field. Therefore, when
you specify the verification type DSNAMEF, there is no need to include
VSYM within the variable parameter on the VER statement.
- DSNAMEFM
- This
parameter provides the same function as DSNAMEF, but asterisks (*)
and percent signs (%) can only be used within a member name, not within
the qualifiers. You can use DSNAMEFM to filter members in a data set.
A single asterisk within a member name indicates that zero or
more characters can occupy that position.
A single percent
sign indicates that any one alphanumeric or national character
can occupy that position. One to eight percent signs can be specified
in each member name.
Note: The verification processing for DSNAMEFM
resolves system symbols within the variable name and updates the variable
in the panel field. Therefore, when you specify the verification type
DSNAMEFM, there is no need to include VSYM within the variable parameter
on the VER statement.
- DSNAMEPQ
-
This
parameter provides the same function as DSNAMEQ, except if the TSO
data set name starts with a parenthesis and no closing parenthesis
is found, DSNAMEPQ adds the closing parenthesis and the end quote.
Note: The
verification processing for DSNAMEPQ resolves system symbols within
the variable name and updates the variable in the panel field. Therefore,
when you specify the verification type DSNAMEPQ, there is no need
to include VSYM within the variable parameter on the VER statement.
- DSNAMEQ
- This
parameter provides the same function as DSNAME with the additional
feature that if the TSO data set name starts with a quotation mark
and no ending quotation mark is found, DSNAMEQ adds the ending quotation
mark for you.
Note: The verification processing for DSNAMEQ resolves
system symbols within the variable name and updates the variable in
the panel field. Therefore, when you specify the verification type
DSNAMEQ, there is no need to include VSYM within the variable parameter
on the VER statement.
- EBCDIC
- The variable must contain only valid EBCDIC characters.
- ENUM
- The variable can contain, in addition
to numeric characters:
- Plus sign (+)
- Negative number indicators
- Delimiter symbols
- Decimal symbol (.)
- Certain national language decimal symbol (,).
ISPF ignores leading blanks. Blanks
between characters (except the French language delimiter) and trailing
blanks are not allowed. This includes blanks between leading or trailing
signs and the adjacent character. Use of any characters other than
those listed results in ISPF issuing an appropriate error message.
The ENUM parameter allows verification of a numeric variable that
has been expressed in a more natural style. ISPF verifies variable
values for correct decimal and comma notation plus correct sign placement.
Negative number indicators include
a leading or trailing minus sign and a number enclosed by parentheses.
The decimal and delimiter symbols can vary according to national language.
The negative number indicators are common to all national languages.
Use
of delimiter symbols is optional. However, if they are used, ISPF
validates the delimiter symbols beginning at the left-most symbol
that it finds in the variable being verified. In case of an invalid
placement or omission of a delimiter symbol, ISPF issues an appropriate
error message.
Use of the decimal symbol is optional. A maximum
of one decimal symbol is allowed. If used, the decimal must be correctly
placed in relation to any delimiter symbols used. Delimiter symbols
are not allowed to the right of a decimal symbol. In case of an invalid
placement of a decimal symbol, ISPF issues an appropriate error message. Table 1 illustrates decimal and delimiter symbol use
for each of the national languages supported by ISPF. Table 1. Decimal and delimiter symbols| Language |
Whole |
Fractional |
|---|
| Danish |
999,999.88 |
0.789 |
| English |
999,999.88 |
0.789 |
| French |
999.999,88 |
0,789 |
| German |
999.999,88 |
0,789 |
| Italian |
999.999,88 |
0,789 |
| Japanese |
999,999.88 |
0.789 |
| Korean |
999,999.88 |
0.789 |
| Portuguese |
999.999,88 |
0,789 |
| Spanish |
999.999,88 |
0,789 |
| Traditional Chinese |
999,999.88 |
0.789 |
| Simplified Chinese |
999,999.88 |
0.789 |
| Swiss-German |
999.999,88 |
0,789 |
The variable being verified can contain leading blanks.
Any trailing blanks in the variable's value in the variable pool cause
a verify error condition. Trailing blanks result from defining the
variable by using the VDEFINE service with the NOBSCAN option specified.
These trailing blanks are not overlaid when the variable is updated
by a panel operation if the corresponding panel field has a justification
attribute of LEFT or ASIS.
Note: ISPF treats fields containing
the nonnumeric characters allowed when using VER ENUM as character
fields. To use these fields in numeric operations, an installation
can need to provide a routine to convert the fields from character
to numeric data. The ISPF VDEFINE exit routine is one option available
for incorporating these conversion routines.
Table 2 shows examples of results when verifying
variable values (English) with the ENUM keyword specified. Table 2. Verifying variable values
with the ENUM keyword specified| Value |
Results |
Reason |
|---|
| +2574 |
Valid |
Leading plus sign is allowed |
| -2574 |
Valid |
Leading minus sign allowed |
| 25.74 |
Valid |
Decimal allowed |
| .2574 |
Valid |
Leading decimal allowed |
| 2,574 |
Valid |
Delimiter character allowed (but not required) |
| (2,574) |
Valid |
Alternate method of showing a negative value allowed |
| 2574- |
Valid |
Trailing minus sign allowed |
| 2574+ |
Invalid |
Trailing plus sign not allowed |
| -2574- |
Invalid |
Double negative indication not allowed |
| ( 2,574 ) |
Invalid |
Two errors; blanks not allowed between either
sign indicator and the adjacent character |
| 35,543785 |
Invalid |
If used, the delimiter character must be inserted
at every appropriate point (35,543,785) |
| 4,5932.673 |
Invalid |
Delimiter must be positioned in relation to decimal
(45,932.673) |
| 33.452.78 |
Invalid |
Only one decimal allowed in numeric field |
| 8.364,798 |
Invalid |
Delimiter not allowed to right of decimal |
- FILEID
- The variable
must contain a valid file ID in CMS syntax. The file name and file
type, if given, must be from 1-8 alphanumeric characters, including
A-Z, 0-9, $, #, @, +, - (hyphen), : (colon), and _ (underscore). The
filemode must be a single letter (A-Z), optionally followed by a single
digit (0-9). In addition, one or more fields of the fileid can be
an asterisk (*) or a string of characters followed by an asterisk.
For example:
- tr* status
- All files having a file name beginning with the letters tr and
having a file type of status.
- * exec
- All files having a file type of exec.
- HEX
- The variable
must contain only hexadecimal characters (0-9, A-F, a-f).
- IDATE
- The international
date (IDATE) format contains 8 characters, including the national
language date delimiter. The format represents a date expressed in
a 2-digit year (YY), month (MM), and day (DD). Valid values for YY
are 00-99. Valid values for MM are 01-12. Valid values for DD are
01-31. ISPF verifies for a valid date and national language date delimiter.
For the United States, the format is YY/MM/DD.
- INCLUDE
- Defines
a list of value parameters, each specifying the character types a
verify field is allowed to contain.
- IMBLK
- Optional positional subparameter. Indicates that the variable
is allowed to contain embedded blanks. Any leading or trailing blank
characters are ignored.
- value1,value2
- Specifies ALPHA, ALPHAB, or NUM; at least one value must be specified.
The specification of two different values are combined and indicate
to ISPF that the field can contain data of either type. ISPF issues
an error message if more than two values are specified.
Example: )PROC
VER (&vara,NB,INCLUDE,IMBLK,ALPHAB,NUM,MSG=NSL001)
VER (&varb,NB,INCLUDE,IMBLK,NUM,MSG=NSL002)
VER (&varc,NB,INCLUDE,ALPHA,NUM,MSG=NSL003)
⋮
This example illustrates that the variable vara can
contain any alphabetic (A-Z or a-z) or numeric character as well as
embedded blanks; varb can contain numeric
characters only and embedded blanks; and variable varc can
only contain alphabetic characters (A-Z, a-z, #, $, or @) and numeric
characters (0-9), but no embedded blanks.
- IPADDR4
- The variable must contain a valid IP (Internet Protocol) address
in dotted decimal notation (as the decimal representation of four
8-bit values, concatenated with dots). For example, 128.2.7.9 is a
valid IP version 4 address. The first octet (8-bit value) can range
from 0 to 223 in decimal notation. The remaining three octets of the
IP version 4 address can range from 0 to 255 in decimal notation.
IPADDR4 verifies standard IP version 4 IP addresses. IPADDR4 does
not support Classless Inter-Domain Routing (CIDR) notation.
- ITIME
- The international
date (ITIME) format contains 5 characters, including the national
language time delimiter. The format represents a date expressed in
a 2-digit hour (HH), and a 2-digit minute (MM). Valid values for HH
are 00-23. Valid values for MM are 00-59. For the United States, the
format is HH:MM.
- JDATE
- The Julian
date (JDATE) format contains 6 characters, including the period (.)
delimiter. The format represents a date expressed in a 2-digit year
(YY), and a 3-digit day of the year (DDD). Valid values for YY are
00-99. Valid values for DDD are 001-365 (or 001-366 for leap years).
The format is YY.DDD.
- JSTD
- The Julian
standard date (JSTD) format contains 8 characters, including the period
(.) delimiter. The format represents a date expressed in a 4-digit
year (YYYY), and a 3-digit day of the year (DDD). Valid values for
YYYY are 0000-9999. Valid values for DDD are 001-365 (or 001-366 for
leap years). The format is YYYY.DDD.
- LEN,relational-operator,expected-length
- The length
of the variable (number of characters) must satisfy the condition
expressed by the relational operator and expected length.
You
can use the LEN function in a panel's )INIT, )REINIT, or )PROC section
to verify the number of characters (bytes) in a variable that is currently
residing in the variable pool.
For DBCS character
strings the number of bytes in the string is twice the number of characters.
- relational-operator
- Valid
relational operators are:
- = or EQ
- Equal to
- < or LT
- Less than
- > or GT
- Greater than
- <= or LE
- Less than or equal
- >= or GE
- Greater than or equal
- ¬= or NE
- Not equal
- ¬> or NG
- Not greater than
- ¬< or NL
- Not less than.
You can specify the relational
operator either as a special symbol (=, <, and so forth) or as
a character symbol (EQ, LT, and so forth) expressed in uppercase.
A relational operator can be expressed either as a literal value (remember
to enclose special symbol values in quotes) or as a dialog variable
containing the value.
- expected-length
- The
expected-length operand is a positive number having a maximum of 5
characters, with which ISPF compares the number of characters in the
variable data. Like the relational operator, the expected-length operand
can be expressed as a literal value or as a dialog variable containing
the value.
Example: VER (&NAME,LEN,‘<=’,8)
This
statement verifies that the number of characters defining the value
of variable &NAME is less than or equal to 8.
Example:
VER (&NAME,LEN,NG,&SIZE)
This statement
verifies that the number of characters defining the value of variable &NAME
is not greater than the value of dialog variable &SIZE
When
input fields are stored in their corresponding dialog variables, any
keyed leading or trailing pad characters associated with right or
left justification of the variable field are deleted before being
stored.
The length of a variable, used by ISPF for comparison,
is the total number of characters in the variable as it is currently
stored in the variable pool. Thus, for a variable created using the
VDEFINE service with NOBSCAN specified, any trailing blanks are included
in the length value used for comparison.
If a variable has
been defined using the VDEFINE service but currently has no value,
ISPF uses a length value of zero for comparison.
- LIST,value1,value2, ...
- The variable
must contain one of the listed values. The maximum number of listed
values allowed is 100.
- LISTV,varlist
- Allows
the use of a variable containing a list of values to be used for variable
field verification.
- varlist
- When defined within the panel, this is the name of a variable,
preceded by an &, that contains a list of values
that will be compared to the value contained in the verify variable.
The varlist variable can contain up to 100
values. Each value in the varlist variable
must be delimited by a comma or at least one blank. A value in the varlist variable
containing any of these special characters should be enclosed in single
quotes (' '):
Blank < ( + | ) ; ¬ - , > : =
To
specify the ampersand character in a value contained in the varlist variable,
or a period in a value contained in the varlist variable
when it immediately follows a dialog variable name, you must double
these characters. To specify the single quote character in a value
contained in the varlist variable, use two
single quote characters enclosed within single quotes ('').
If
the varlist is set in the dialog, use the notation that is correct
for the programming language used to code the dialog.
Example: )PROC
⋮
VER (&areacode,NONBLANK,LISTV,&varlist,MSG=NSL011)
⋮
The variable specified in the VER LISTV variable
parameter must be set before being referenced in the statement. (The
variable used in the previous example could have been assigned these
values in the )INIT section of the panel definition.) &varlist ='919 914 212'
Note: To
have quotes as part of an assignment, you must double the number of
quotes used in each previous layer. For example: &list1 = ‘one o‘‘ne‘ yields one o‘ne
&list2 = ‘two t‘‘‘‘wo‘ yields two t‘‘wo
- LISTVX,varlist
- The LISTVX
("varlist exclude") keyword enables you to specify a variable
containing a list of values that the field variable must not contain.
If LISTVX is used, the keyword NONBLANK is implied. The varlist follows
the same rules as the varlist for LISTV.
- LISTX,value1,value2,...
- The LISTX
("list exclude") keyword enables you to list values that the
field variable must not contain. If LISTX is used, the keyword NONBLANK
is implied. The maximum number of listed values allowed is 100.
- MIX
- The variable
must contain all valid DBCS, EBCDIC, shift-in, and shift-out characters.
- NAME
- The variable
must contain a valid name, following the rules of member names, up
to eight alphanumeric characters (A-Z, #, $, @, 0-9). It can also contain X'C0' (that is, a '{' for a 037 code
page), but not as the first character. The first character must be
alphabetic (A-Z, $, @, or #).
- NAMEF
-
This
parameter provides the same function as NAME with the additional feature
that asterisks (*) and percent signs (%) can be used within the qualifiers.
You can use DSNAMEF to filter a list of data sets.
A single
asterisk within a qualifier indicates that zero or more characters
can occupy that position. Consecutive asterisks are not valid within
a qualifier.
A single percent sign indicates that any one alphanumeric
or national character can occupy that position. One to eight percent
signs can be specified in each qualifier.
- NUM
- The variable
must contain all numeric characters (0-9). However, leading blanks
are acceptable.
- PICT,string
- The variable
must contain characters that match the corresponding type of character
in the picture string. The string parameter
can be composed of these characters:
- C
- any character
- A
- any alphabetic character (A-Z, a-z, #, $, @)
- N
- any numeric character (0-9)
- 9
- any numeric character (same as N)
- X
- any hexadecimal character (0-9, A-F, a-f)
In addition, the string can
contain any special characters that represent themselves. For example:
VER (xxx,PICT,‘A/NNN’)
In this example,
the value must start with an alphabetic character, followed by a slash,
followed by 3 numeric characters. The length of the variable value
and the picture string must be the same. Trailing blanks are not included.
- PICTCN,mask-character,field-mask,string
-
The
VER statement keyword PICTCN, with its three parameters, enables you
to check a variable for specific constants within the variable. VER (variable,PICTCN,mask-character,field-mask,string)
- variable
- Name of the variable to be checked.
- mask-character
- Any special character that represents itself. If you select one
of these special characters as a mask-character, the mask-character
and the field-mask containing the mask-character must be enclosed
in quotes:
- ¬
- 'not' symbol
- =
- equal sign
- .
- period
- >
- greater than symbol
- <
- less than symbol
- )
- right parenthesis
- (
- left parenthesis
- ‘
- single quote
Note: The mask-character cannot be
one of the picture string characters (C, A, N, 9, X, c, a, n, x).
- field-mask
- A combination of constants and the mask-character. The field-mask
is used to audit the string. For example, your mask-character is a
slash mark (/) and the constants are V, R, and M in the positions
shown: 'V//R//M//'. A single quote can be used as a constant but avoid
using a mask-character that must be enclosed in single quotes when
a single quote is a constant.
- string
-
A combination of constants and picture string characters.
The picture string characters can be: - C
- any character
- A
- any alphabetic character (A-Z, a-z, #, $, @)
- N
- any numeric character (0-9)
- 9
- any numeric character (same as N)
- X
- any hexadecimal character (0-9, A-F, a-f)
The picture string
characters must be in the positions indicated by the mask-character
in the field-mask parameter. For example, 'VNNRNNMNN'.
The
three parameters mask-character, field-mask, and string can be dialog
variables.
Here are some examples:
In
this VER PICTCN statement the mask-character is the not symbol (¬),
the constants are V,R, and M. The picture string characters are N
(any numeric character 0-9). If fld1 = V10R20M00
it passes the verification. If fld1 = V10R20M0Y
it fails because Y is not a numeric character. VER (&fld1,PICTCN,'¬','V¬¬R¬¬M¬¬',VNNRNNMNN)
In
this VER PICTCN statement the mask-character is the asterisk (*),
the constants are O and S. The picture string characters are N (any
numeric character 0-9) and A (any alphabetic character A-Z, a-z,#,$,@).
If fld1 = OS390R8 it passes verification.
If fld1 = OS39018 it fails because 1 is
not an alphabetic character. VER (&fld1,PICTCN,*,OS*****,OSNNNAN)
- RANGE,lower,upper
- The variable
must contain all numeric characters (0-9). It can also contain a leading
plus (+) or minus ( -). Its value must fall within the specified lower
and upper limits, which can be either positive or negative. The length
of the specified variable is limited to 16 digits, in addition to
the plus or minus sign. Further, the lower and upper parameters
can consist of no more than 16 digits each, in addition to the plus
or minus sign, if used. Any characters in excess of the 16 allowed
are truncated.
- STDDATE
- The standard
date (STDDATE) format contains 10 characters, including the national
language date delimiter. The format represents a date expressed in
a 4-digit year (YYYY), 2-digit month (MM), and a 2-digit day (DD).
Valid values for YYYY are 0000-9999. Valid values for MM are 01-12.
Valid values for DD are 01-31. ISPF verifies for a valid date and
national language date delimiter. For the United States, the format
is YYYY/MM/DD.
- STDTIME
- The standard
time (STDTIME) format contains 8 characters, including the national
language time delimiter. The format represents a time expressed in
a 2-digit hour (HH), 2-digit minute (MM), and a 2-digit second (SS).
Valid values for HH are 00-23. Valid values for MM are 00-59. Valid
values for SS are 00-59. For the United States, the format is HH:MM:SS.
- MSG=value
- value contains the message issued if
the current value of the variable does not meet the criteria being
checked.
For all tests except NONBLANK, LISTX, and LISTVX, a blank value
is acceptable. That is, if you enter a value, or leave a nonblank
initial value unchanged, it must conform to the specified condition.
If a variable value is stored as all blanks, the value passes any
verification test except NONBLANK.
Figure 1 shows a sample panel with VER statements
to verify that information entered meets these criteria:
- The truncated value of TYPECHG is N, U,
or D.
- The three name variables, LNAME, FNAME, and I, contain all alphabetic
characters.
- The PHA (area code) field contains all numeric characters and
a length of 3.
- The PHNUM (local number) field contains 3 numeric characters followed
by a hyphen, followed by 4 numeric characters.
For the TYPECHG test, a message ID has been specified in the event
that the test fails. In all the other cases, an ISPF-provided message
is displayed if the variable fails the verification test.
Figure 1. Sample panel definition with
verification )BODY
%---------------------------- EMPLOYEE RECORDS ------------------------
%COMMAND===>_ZCMD %
+
%EMPLOYEE SERIAL: &EMPSER
+
+ TYPE OF CHANGE%===>_TYPECHG + (NEW, UPDATE, OR DELETE)
+
+ EMPLOYEE NAME:
+ LAST %===>_LNAME +
+ FIRST %===>_FNAME +
+ INITIAL%===>_I+
+
+ HOME ADDRESS:
+ LINE 1 %===>_ADDR1 +
+ LINE 2 %===>_ADDR2 +
+ LINE 3 %===>_ADDR3 +
+ LINE 4 %===>_ADDR4 +
+
+ HOME PHONE:
+ AREA CODE %===>_PHA+
+ LOCAL NUMBER%===>_PHNUM +
+
)INIT
IF (&PHA = ‘ ’)
&PHA = 301
&TYPECHG = TRANS (&TYPECHG N,NEW U,UPDATE D,DELETE)
)PROC
&TYPECHG = TRUNC (&TYPECHG,1)
VER (&TYPECHG,LIST,N,U,D,MSG=EMPX210)
VER (&LNAME,ALPHAB)
VER (&FNAME,ALPHAB)
VER (&I,ALPHAB)
VER (&PHA,LEN,‘=’,3)
VER (&PHA,NUM)
VER (&PHNUM,PICT,‘NNN-NNNN’)
)END
|