Sunteți pe pagina 1din 7

Sort Utility

This document contains the few control statements, we have discussed during the
session with examples.

The given files are the input files used in all the below given examples

Sample Input File (SAMPLE.INPUT):


MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV
ARAMES 34535345325354324 SURESH
SURESH 98347385385933987 PULI
RAMESH 67575789769876785 MADHU
KRISHN 50830948530859340 OIIED
KRISHN 30495849572938495 MADHU
SURESH 98347385385933987 PULI

Sample Input File (SAMPLE.INPUT1):


SUBBUK 98347385385933987 PULI

 SORT FIELDS:

//A025310C JOB (MPRD,ARE),'SAMPLE',


// CLASS=C,MSGCLASS=9,NOTIFY=&SYSUID,
//*
//STEP001 EXEC PGM=SORT,REGION=0M
//SORTIN DD DSN=SAMPLE.INPUT,
// DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT1,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT1) of the previous step:


MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV
ARAMES 34535345325354324 SURESH
SURESH 98347385385933987 PULI
RAMESH 67575789769876785 MADHU
KRISHN 50830948530859340 OIIED
KRISHN 30495849572938495 MADHU
SURESH 98347385385933987 PULI
//STEP002 EXEC PGM=SORT,REGION=0M
//SORTIN DD DSN=SAMPLE.INPUT,
// DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT2,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=(1,3,CH,A,9,3,CH,A)
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT2) of the previous step:


ARAMES 34535345325354324 SURESH
KRISHN 30495849572938495 MADHU
KRISHN 50830948530859340 OIIED
MOHANK 13342345345345345 RAJEEV
MOHANK 23423423434534344 KIRAN
RAMESH 67575789769876785 MADHU
SURESH 98347385385933987 PULI
SURESH 98347385385933987 PULI

//STEP003 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT3,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY, STOPAFT=2
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT3) of the previous step:


MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV

//STEP004 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT4,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY, SKIPREC=2
/*
//SYSOUT DD SYSOUT=*
//*
Output file (SAMPLE.OUTPUT4) of the previous step:
ARAMES 34535345325354324 SURESH
SURESH 98347385385933987 PULI
RAMESH 67575789769876785 MADHU
KRISHN 50830948530859340 OIIED
KRISHN 30495849572938495 MADHU
SURESH 98347385385933987 PULI

 INCLUDE COND

//STEP005 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT5,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY
INCLUDE=(1,6,CH,EQ,C'MOHANK')
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT5) of the previous step:


MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV

 OMIT COND

//STEP006 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT6,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY
OMIT=(1,6,CH,EQ,C'MOHANK')
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT5) of the previous step:


ARAMES 34535345325354324 SURESH
SURESH 98347385385933987 PULI
RAMESH 67575789769876785 MADHU
KRISHN 50830948530859340 OIIED
KRISHN 30495849572938495 MADHU
SURESH 98347385385933987 PULI
 MERGE FIELDS:

//STEP007 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
// DD DSN=SAMPLE.INPUT1,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT7,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
MERGE FIELDS=COPY
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT7) of the previous step:


MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV
ARAMES 34535345325354324 SURESH
SURESH 98347385385933987 PULI
RAMESH 67575789769876785 MADHU
KRISHN 50830948530859340 OIIED
KRISHN 30495849572938495 MADHU
SURESH 98347385385933987 PULI
SUBBUK 98347385385933987 PULI

 INREC FIELDS:

//STEP008 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT8,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SYSIN DD *
SORT FIELDS=COPY
INREC FIELDS=(7:2,5,20:10,3)
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT8) of the previous step:


OHANK 342
OHANK 334
RAMES 453
URESH 834
AMESH 757
RISHN 083
RISHN 049
URESH 834
In above example, we can use OUTREC instead of INREC,

 INREC adds, deletes, or reformats fields before the records are sorted or
merged. so that performance will be improved
 OUTREC adds, deletes, or reformats fields after the records are sorted or
merged.

 SUM FIELDS:

//STEP009 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOUT DD DSN= SAMPLE.OUTPUT9,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SORTXSUM DD DSN= SAMPLE.OUTPUT9,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA

//SYSIN DD *
SORT FIELDS=(1,3,CH,A)
SUM FIELDS=NONE,XSUM
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT9) of the previous step:


ARAMES 34535345325354324 SURESH
KRISHN 50830948530859340 OIIED
MOHANK 23423423434534344 KIRAN
RAMESH 67575789769876785 MADHU
SURESH 98347385385933987 PULI

Output file (SAMPLE.OUTPUT10) of the previous


step:
KRISHN 30495849572938495 MADHU
MOHANK 13342345345345345 RAJEEV
SURESH 98347385385933987 PULI

Here,
 SUM FIELDS=NONE means it will eliminate duplicates
 XSUM options will copy all records eliminated in sort process will copy to
another data set defined in SORTXSUM step
 OUTFIL Control Statement:

//STEP010 EXEC PGM=SORT,REGION=0M


//SORTIN DD DSN=SAMPLE.INPUT,DISP=SHR
//SORTOF01 DD DSN= SAMPLE.OUTPUT11,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA
//SORTOF02 DD DSN= SAMPLE.OUTPUT12,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(01,01),RLSE),
// UNIT=SYSDA

//SYSIN DD *
SORT FIELDS=COPY
OUTFIL FILES=01,INCLUDE=(1,6,CH,EQ,C'MOHANK')
OUTFIL FILES=02,INCLUDE=(1,6,CH,EQ,C'SURESH')
/*
//SYSOUT DD SYSOUT=*
//*

Output file (SAMPLE.OUTPUT11) of the previous


step:
MOHANK 23423423434534344 KIRAN
MOHANK 13342345345345345 RAJEEV

Output file (SAMPLE.OUTPUT12) of the previous


step:
SURESH 98347385385933987 PULI
SURESH 98347385385933987 PULI

Other Sort Examples

sort examples.zip

S-ar putea să vă placă și