INCLUDE: Numeric tests
INCLUDE: Numeric tests
Summary
- INCLUDE numeric tests are used to filter the records which satisfies the numeric matching condition specified.
- (EQ, NUM) to test for numeric, or (NE, NUM) to test for non-numeric.
Syntax -
INCLUDE COND=(Field1 starting position, Field1 Length,
Field1 format, Relational Operator,NUM)
Field1 starting position | Starting position of field1 to be compared |
Field1 Length | Length of the field1 to be compared |
Field1 format_type | Format of the field1
|
Relation operator | Relational operators like GT, EQ, NE, LT etc,.
|
NUM | can be used to indicate a test for numeric or non-numeric. |
Example -
Scenario - From the below data, filter the records having the ID is numeric. The ID starts from 1st and ends at 5th column in the file.
Input File - MTH.SORT.INPUT
----+----1----+---2----+----3----+---4----+---5----+---6----+---7---+---8
********************************* Top of Data ******************************
00002 Srinivas Employee
test test test
00001 pawan kumar student
******************************** Bottom of Data ****************************
Input Record Layout -
01 INPUT-REC.
05 ID PIC X(05).
05 FILLER PIC X(05).
05 NAME PIC X(15).
05 FILLER PIC X(05).
05 OCCUPATION PIC X(10).
05 FILLER PIC X(40).
JCL -
----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
***************************** Top of Data ******************************
//Job-card
//*******************************************************************
//*
//* SORT TO WRITE NUMBERIC TEST IN INCLUDE CONDITION
//*
//*******************************************************************
//STEP01 EXEC PGM=SORT
//SORTIN DD DSN=MTH.SORT.INPUT,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD *
INCLUDE COND=(1,05,FS,EQ,NUM)
SORT FIELDS=COPY
/*
**************************** Bottom of Data *************************
Output -
----+----1----+----2---+---3---+----4---+----5---+----6---+---7----+---8
********************************* TOP OF DATA ****************************
00002 Srinivas Employee
00001 pawan kumar student
******************************** BOTTOM OF DATA **************************
Explaining Example -
- As a first step, need to get the position of the ID in the file.
- The ID starting from 1st position and ends at 5th position as per the input record layout provided. So the length of ID field is 5.
- As a Second step, need to get the type of the ID.
- From the Input record layout declaration, ID field is alpha-numeric. But we need only numeric data from it. So the type is FS.
- Lastly, the job requirement is to filter the data with the ID as numeric. So the keyword NUM should use to match the condition.
- The INCLUDE condition for the above requirement with all data gathered is
INCLUDE COND=(1,05,FS,EQ,NUM)
- The above condition specifies that include the records where the ID is numeric and copied to output file.
- The output would have the records where the IDs are numeric at first 5 positions.