VERIFY Operator
VERIFY Operator (for Beginners)
Summary
For extensive information, go through the VERIFY Operator for Experienced
VERIFY operator reviews up to 10 specified decimal fields in a dataset.
Syntax -

Required Operands
- FROM - FROM parameter specifies ddname of the input file.
- ON - ON operator specifies the field(s) used for DISPLAY operation.
Optional Operands
- VSAMTYPE - VSAMTYPE operand specifies the record format for a VSAM input file (F or V).
- NOSIGN - Specifying the sign of the decimal values is not to be reviewed.
- LIMIT - Specifies a limit for the number of invalid decimal values.
Example -
Scenario - Verify the numeric value in all the records in the specified field.
In this example, we are trying to verify non-numeric values at salary field.
INPUT1 - MATEPK.INPUT.PSFILE
BROWSE MATEPK.INPUT.PSFILE6 Line 00000000 Col 001 079
Command ===> Scroll ===> CSR
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8
********************************* Top of Data **********************************
ENO NAME TECHNOLOGY COMPANY STATE COUNTRY SALARY
===============================================================================
001 PAWAN MAINFRAME JPM AP IN 0000100000
002 SRINIVAS TESTING ORACLE TG IN 0000095000
003 SRIDHAR SAS CG OR US 0000080000
004 VENKATESH ABAP CSC CA IN 0000053000
005 RAVI HADOOP CTS FL US 0000072000
006 PRASAD HR INFOSYS MI US 0000066000
007 RAJA TESTING IBM CA US 0000047000
===============================================================================
TOTAL NUMBER OF RECORDS: 007
******************************** Bottom of Data ********************************
JCL -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
***************************** Top of Data ******************************
//MATEPKSP JOB (123),'MATEPK',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),
// NOTIFY=&SYSUID
//*
//STEP01 EXEC PGM=ICETOOL
//INDD1 DD DSN=MATEPK.INPUT.PSFILE,DISP=SHR
//INDD2 DD DSN=MATEPK.INPUT.PSFILE3,DISP=SHR
//TEMP DD DSN=&&TEMP,DISP=(MOD,PASS),SPACE=(TRK,(5,5)),UNIT=SYSDA,
// DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800)
//OUTDD DD DSN=MATEPK.OUTPUT.PSFILESP,
// DISP=(NEW,CATLG,DELETE),VOLUME=SER=DEVHD4,
// SPACE=(TRK,(1,1),RLSE),UNIT=SYSDA,
// DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800)
//TOOLIN DD *
COPY FROM(INDD1) TO(TEMP) USING(CTL1)
COPY FROM(INDD2) TO(TEMP) USING(CTL2)
SPLICE FROM(TEMP) TO(OUTDD) ON(1,3,ZD) WITH(70,10)
/*
//CTL1CNTL DD *
OUTREC FIELDS=(1,69,70:X)
/*
//CTL2CNTL DD *
OUTREC FIELDS=(1:1,3,70:10,10)
/*
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//
**************************** Bottom of Data ****************************
TOOLMSG (SDSF SPOOL) - Verify TOOLMSG for the return code of the submitted job.
----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9
********************************* TOP OF DATA ********************************************
1ICE600I 0 DFSORT ICETOOL UTILITY RUN STARTED
ICE650I 0 VISIT http://www.ibm.com/storage/dfsort FOR ICETOOL PAPERS, EXAMPLES AND MORE
ICE632I 0 SOURCE FOR ICETOOL STATEMENTS: TOOLIN
ICE630I 0 MODE IN EFFECT: STOP
VERIFY FROM(INDD) ON(70,10,ZD)
ICE618A 0 INVALID (70,10,ZD) VALUE - RECORD: 000000000000001
ICE649A 0 HEX VALUE: E2C1D3C1D9E840404040
ICE618A 0 INVALID (70,10,ZD) VALUE - RECORD: 000000000000002
ICE649A 0 HEX VALUE: 7E7E7E7E7E7E7E7E7E7E
ICE618A 0 INVALID (70,10,ZD) VALUE - RECORD: 000000000000010
ICE649A 0 HEX VALUE: 7E7E7E7E7E7E7E7E7E7E
ICE618A 0 INVALID (70,10,ZD) VALUE - RECORD: 000000000000011
ICE649A 0 HEX VALUE: 40404040404040404040
ICE627I 0 DFSORT CALL 0001 FOR COPY FROM INDD TO E35 EXIT COMPLETED
ICE628I 0 RECORD COUNT: 000000000000011
ICE602I 0 OPERATION RETURN CODE: 12
ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE: 12
******************************** BOTTOM OF DATA ******************************************
Explaining Solution -
- INDD - Specifies the ddname for input file.
- OUTDD - Specifies the ddname for output file.
- TOOLIN DD * - Specifies the ICETOOL statements for DFSORT.
- TOOLMSG - Specifies where to write the ICETOOL processing messages.
- DFSMSG - Specifies where to write the DFSORT processing messages.
- VERIFY FROM(INDD) ON(70,10,ZD) - Verifies and prints the invalid records having non-numeric values 70th position of length 10.