Summary -
In this topic, we described about the Include Alphanumeric Tests with detailed example.
INCLUDE can be used to perform arithmetic tests during sorting.
Syntax -
INCLUDE COND=(Field1 starting position, Field1 Length, Field1 format,
Relational Operator,alphanumeric_char)
Let’s discuss in detail.
name | Description |
---|---|
Field1 starting position | Starting position of field1 to be compared |
Field1 Length | Length of the field1 to be compared |
Field1 format_type | Specifies the format of the field1. Use BI for Alphanumeric tests |
Relation operator | Relational operators like GT, EQ, NE, LT etc,.
|
alphanumeric_char | Specifies the alphanumeric character type The set of alphanumeric characters are provided below:
|
Example:
From the below data, filter the records having the ID is alphanumeric and only numeric. The ID starts from 1st and ends at 5th column in the file.
Input:MTH.SORT.INPUT
----+----1----+----2----+----3----+----4----+----5---+---6---+---7---+---8
********************************* Top of Data *****************************
00002 Srinivas Employee
test3 test3 test3
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).
Job:
000100 //Jobcard
000400 //*
000500 //*****************************************************************
000600 //*
000700 //* SORT TO WRITE ALPHANUMERIC TEST IN INCLUDE CONDITION FOR MIXED
000710 //* NUMERIC CASE
000800 //*
000900 //*****************************************************************
001100 //STEP01 EXEC PGM=SORT
001300 //SORTIN DD DSN=MTH.SORT.INPUT,DISP=SHR
001800 //SORTOUT DD SYSOUT=*
001900 //SYSOUT DD SYSOUT=*
002400 //SYSIN DD *
002401 INCLUDE COND=(1,05,BI,EQ,MN)
002410 SORT FIELDS=COPY
003400 /*
****** **************************** Bottom of Data ***********************
Output:
---+---1---+---2----+---3----+----4---+---5---+---6----+----7---+---8
********************************* TOP OF DATA ******************************
00002 Srinivas Employee
test3 test3 test3
00001 pawan kumar student
******************************** BOTTOM OF DATA ****************************
Explaining Solution:
- As a first step, need to get the position of the ID in the file.
- The names 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. For alpha-numeric test, use BI instead of the actual field type.
- Lastly, the job requirement is to filter the data with the ID having alphanumeric and only numeric. So the keyword MN should use to match the condition.
- The INCLUDE condition for the above requirement with all the data gathered is
INCLUDE COND=(1,05,BI,EQ,MN)
- The above condition specifies that include the records where the ID having alphanumeric and only numeric.
- The output would have the records where the IDs are alphanumeric and only numeric at first 5 positions.