MODE CONTINUE
VERIFY FROM(CHECK) ON(2,3,PD) LIMIT(500)
DISPLAY FROM(CHECK) LIST(PDREPORT) BLANK LIMIT(500) -
HEADER('Relative Record') ON(NUM) -
HEADER('Numeric') ON(2,3,PD) -
HEADER('Hexadecimal') ON(2,3,HEX) -
HEADER('Associated Field') ON(21,20,CH)
This example shows how each record containing an invalid decimal
value can be identified either by its relative record number or an
associated field in the record.
The MODE operator ensures that the DISPLAY operator is processed
if the VERIFY operator identifies an invalid decimal value.
The VERIFY operator checks for invalid digits (A-F) and invalid
signs (0-9) in the packed decimal values from positions 2-4 of the
CHECK data set. Messages ICE618A and ICE649A are printed in the TOOLMSG
data set for each value (if any) that contains an invalid digit or
sign. If 500 invalid values are found, the operation is terminated.
The DISPLAY operator checks for invalid digits (A-F) in the packed
decimal values from positions 2-4 of the CHECK data set. Messages
ICE618A and ICE649A are printed in the TOOLMSG data set for each value
(if any) that contains an invalid digit. If 500 invalid values are
found, the operation is terminated. If a check for invalid signs
is required, the VERIFY operator must be used, because the DISPLAY
operator only checks for invalid digits. The VERIFY operator is not
required if signs need not be checked.
The DISPLAY operator also prints, in the PDREPORT data set:
- A heading line containing the specified underlined headings
- Data lines in the BLANK format containing:
- The relative record number. This number can be matched against
the RECORD numbers printed in the ICE618A messages to find the records
with invalid signs.
- The numeric representation of the packed decimal value in positions
2-4. Asterisks are shown for values with invalid digits, making them
easy to identify. Asterisks are not shown for values with invalid
signs; these must be identified by matching the relative record number
against the RECORD number in ICE618A.
- The hexadecimal representation of the packed decimal value in
positions 2-4 (also shown in ICE649A). This makes it easy to find
the specific hexadecimal digits or signs that are invalid.
- The characters in positions 21-40. An associated field such as
this can be used to make identification of the records with invalid
values easier.
The ICE618A and ICE649A messages in TOOLMSG for the VERIFY operator
are:
ICE618A 0 INVALID (2,3,PD) VALUE - RECORD: 000000000000003
ICE649A 0 HEX VALUE: 53A54C
ICE618A 0 INVALID (2,3,PD) VALUE - RECORD: 000000000000012
ICE649A 0 HEX VALUE: 621540
ICE618A 0 INVALID (2,3,PD) VALUE - RECORD: 000000000000019
ICE649A 0 HEX VALUE: 400F3C
The ICE618A and ICE649A messages in TOOLMSG for the DISPLAY operator
are:
ICE618A 0 INVALID (2,3,PD) VALUE - RECORD: 000000000000003
ICE649A 0 HEX VALUE: 53A54C
ICE618A 0 INVALID (2,3,PD) VALUE - RECORD: 000000000000019
ICE649A 0 HEX VALUE: 400F3C
The PDREPORT output looks as follows:
Relative Record Numeric Hexadecimal Associated Field
--------------- ------- ----------- --------------------
1 18600 18600C Wagar
2 -93 00093B Gellai
3 ****** 53A54C Giulianelli
4 86399 86399C Mehta
5 24215 24215F Johnson
6 8351 08351C Packer
7 19003 19003C Childers
8 -31285 31285D Burg
9 88316 88316C Monkman
10 1860 01860C Vezinaw
11 -29285 29285D Mead
12 62154 621540 Wu
13 -328 00328D Madrid
14 -11010 11010D Warren
15 1363 01363F Burt
16 92132 92132C Mao
17 -48500 48500D Shen
18 -55 00055D Yamamoto-Smith
19 ****** 400F3C Yaeger
20 33218 33218C Leung
21 96031 96031C Kaspar
PDREPORT can be used in conjunction with the ICE618A and ICE649A
messages to identify that:
- Record 3 has an invalid digit of A and an associated field of "Giulianelli"
- Record 12 has an invalid sign of 0 and an associated field of "Wu"
- Record 19 has an invalid digit of F and an associated field of "Yaeger".