DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
RAMESHKRISHNAREDDY
HOME|JCLTUTORIALS|DRONATUTORIALS
DFSORTTUTORIAL
SORTJCLfromDRONASERIES
SORTAFILE|SORTSUMFIELDSNONE|SORTOUTFILSplitdatafile|SORTSUMFIELDSXSUM|SORTINCLUDE|SORTINRECOUTREC|Examples
SORTJCLDISCUSSIONFORUM|ONLINEMAINFRAMETUTORIALS
SORTINCLUDE
IncludeExample1
IncludeExample2
SORTincludedate
IncludedateExample1
IncludedateExample2
IncludeValidateNumericData
CHAPTER3SORTINREC
SORTINRECExample
SORTOUTRECOVERLAYOutrec2
SORTOutrecExamples
BuildinSORT
ASSUMPTIONS
BeforediscussingaboutSORT,letusassumefollowingthings
Inputfilehasfollowingdataandstructure
INPUTFILE
MOHANK23423423434534344KIRAN
MOHANK13342345345345345RAJEEV
ARAMES34535345325354324SURESH
SURESH98347385385933987PULI
RAMESH67575789769876785MADHU
KRISHN50830948530859340OIIED
KRISHN30495849572938495MADHU
SURESH98347385385933987PULI
SimpleSORTjclstructueisasfollowsSamplesortjcl
.
.
//STEP10EXECPGM=SORT,REGION=1024K,PARM=parameters
//SYSOUTDDSYSOUT=*OutputmessagesfromSORT
//SORTINDDDSN=...,DISP=SHRInputifSORTrequest
//SORTOUTDDDSN=...OutputforSORTrequest
//SORTOFxxDDDSN=...OUTFILEoutputdatasets
//SORTXSUMDDDSN=...OutputeliminatedbytheSUMstm
//SORTWKnnDDUNIT=SYSDA,WorkfilesifSORTrequest
//SYSINDD*Controlstatementinputdataset
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
1/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
sortcontrolstatements
/*
.
.
FOLLOWINGARETHESORTCARDJCLSFORDIFFERENTTYPESOFSORTS
TASK1.SORTAGIVENFILESORTFIELDSSAMPLESORTJCL
//SYSINDD*
SORTFIELDS=(1,3,CH,A,9,3,CH,A)
/*
OUTPUTFILE
ARAMES34535345325354324SURESH
KRISHN30495849572938495MADHU
KRISHN50830948530859340OIIED
MOHANK13342345345345345RAJEEV
MOHANK23423423434534344KIRAN
RAMESH67575789769876785MADHU
SURESH98347385385933987PULI
SURESH98347385385933987PULI
EXPLANATION
AbovesyntaxofSORTsortedtherecrods,depends
onkeyswehaveprovided
(wehaveprovidedtwokeysinFIELDSparameter)
FIRSTKEY
1,3,CH,Afirstkeystartedatcol1,itslengthis3
SECONDKEY
9,3,CH,Asecondkeystartedatcol9,itslengthis3
Intheaboveexample,
CHmeanscharacterwemayuseBIforbinary
AAscendingorder
TASK2.ELEMINATEDUPLICATESSORTJCLSUMFIELDS
//SYSINDD*
SORTFIELDS=(1,3,CH,A)
SUMFIELDS=NONE
/*
//**copyrightwww.mainframegurukul.com
OUTFILE
ARAMES34535345325354324SURESH
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
2/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
KRISHN50830948530859340OIIED
MOHANK23423423434534344KIRAN
RAMESH67575789769876785MADHU
SURESH98347385385933987PULI
EXPLANATION
ifwegiveSUMFIELDS=NONEitwilleliminateduplicates
TAGS:SORTJCL,SORTJCLSUMFIELDSNONE,ELIMINATEDUPLICATES
TASK3.SPLITFILEINTOTWOORTHREEFILESDEPENDSONCONDITIONSOUTFIL
.
.
.
//SORTOF01DDDSN=dataset1,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,4),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SORTOF02DDDSN=dataset2,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,4),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
//SORTOF03DDDSN=dataset3,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,4),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)
.
.
.
//SYSINDD*
SORTFIELDS=COPY
OUTFILFILES=01,INCLUDE=(1,6,CH,EQ,C'MOHANK')
OUTFILFILES=02,INCLUDE=(1,6,CH,EQ,C'SURESH')
OUTFILFILES=03,INCLUDE=(1,6,CH,EQ,C'KRISHN')
/*
SORTOF01
MOHANK23423423434534344KIRAN
MOHANK13342345345345345RAJEEV
SORTOF02
SURESH98347385385933987PULI
SURESH98347385385933987PULI
SORTOF03
KRISHN50830948530859340OIIED
KRISHN30495849572938495MADHU
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
3/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
EXPLANATION
1.SORTFIELDS=COPYindicate,itforcopyofrecords,notforsort
2.OUTFILFILES=01,INCLUDE=(1,6,CH,EQ,C'MOHANK')
OUTFILFILES=02,INCLUDE=(1,6,CH,EQ,C'SURESH')
OUTFILFILES=03,INCLUDE=(1,6,CH,EQ,C'KRISHN')
SYNCSORTwilltakedatafrom1stpositioonto6thpositionofinput
fileanditwillcomparethatdatawithMOHANKorSURESHorKRISHN
IfdataequalstoMOHANKthenthatrecorrdwillcopiestodatasetdefined
inSORTOF01step.(becausewedefinedFILES=01insecondcondition)
IfdataequalstoSURESHthenthatrecorrdwillpasstodatasetdefined
inSORTOF02step.(becausewedefinedFILES=02insecondcondition)
IfdataequalstoKRISHNthenthatrecorrdwillcopiedtodatasetdifned
inSORTOF03step.(becausewedefinedFILES=03inthirdcondition)
SORTJCLTOSPLITDATAUSINGOUTFILEExample2
Aim:Wanttosplitafilecontaning700recordsinto3fileswhere1stfilehas200,2ndhas200and3rdhas300.
WanttodoitusingJCLsortusingOUTFIL
WecansplitthefilesusingOUTFILoption.Checkbelowexample.
//***********************************************************
//SPLITFLSEXECPGM=SORT
//***********************************************************
//SYSPRINTDDSYSOUT=*
//SYSOUTDDSYSOUT=*
//SYSUDUMPDDSYSOUT=*
//SORTINDDDSN=FILE1......,DISP=SHR
//SORTOF01DDDSN=OUTPUTFILE1.......,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,1),RLSE),
//RECFM=FB,LRECL=20
//SORTOF02DDDSN=OUTPUTFILE2..............,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,1),RLSE),
//RECFM=FB,LRECL=20
//SORTOF03DDDSN=OUTPUTFILE3..............,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,1),RLSE),
//RECFM=FB,LRECL=20
//SYSINDD*
SORTFIELDS=COPY
OUTFILFILES=01,ENDREC=200
OUTFILFILES=02,STARTREC=201,ENDREC=400
OUTFILFILES=03,STARTREC=401,ENDREC=700
/*
TAGS:SORTJCL,SORTJCLTOSPLITDATAFILE,SORTJCLOUTFIL,SORTJCLINCLUDE
TASK4.COPYELIMINATEDDUPLICATESINTOANOTHERFILESAMPLESORTUTILITYJCL
.
.
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
4/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
//SORTXSUMDDDSN=datasetname,
//DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,
//SPACE=(CYL,(1,4),RLSE),
//DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
.
.
//SYSINDD*
SORTFIELDS=(1,3,CH,A)
SUMFIELDS=NONE,XSUM
/*
//*copyrightwww.mainframegurukul.com&www.geocitie.comhttp://www.mainframegurukul.com/srcsinc
SORTOUT
ARAMES34535345325354324SURESH
KRISHN50830948530859340OIIED
MOHANK23423423434534344KIRAN
RAMESH67575789769876785MADHU
SURESH98347385385933987PULI
SORTXSUM
KRISHN30495849572938495MADHU
MOHANK13342345345345345RAJEEV
SURESH98347385385933987PULI
EXPLANATION
1.SORTFIELDS=(1,3,CH,A)
Inputfilewillbesorteddependinguponthekeyspecifiedabove
1,3,CH,Akeystartingpositionis1andlength3,comparingtype
character,sortingisdoninascendingorder
2.SUMFIELDS=NONE,XSUM
SUMFIELDS=NONEmeansitwilleliminateduplicates
XSUMoptionswillcopyallrecordseliminatedinsort
processwillcopytoanotherdatasetdefinedin
SORTXSUMstep
TAGS:SORTJCL,SORTJCLTOCOPYDUPLICATESINTOANOTHERFILE,SORTJCLSUMFIELDSXSUMOPTION.
TASK5.COPYRECORDSDEPENDINGUPONCONDITIONINCLUDEINSORTJCL
//SYSINDD*
SORTFIELDS=COPY
INCLUDECOND=(1,6,CH,EQ,C'SURESH')
/*
//*copyrightwww.mainframegurukul.com
OUTPUTFILE
SURESH98347385385933987PULI
SURESH98347385385933987PULI
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
5/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
EXPLANATION
abovecardistocopyrecordsfrominputfilewhich
containsSURESHat1stposition
TAGS:SORTJCL,SORTJCLINCLUDEEXAMPLE.
TASK6.FORMATINGAFILE(USINGINREC)
//SYSINDD*
SORTFIELDS=COPY
INRECFIELDS=(7:2,5,20:10,3)
/*
//*copyrightwww.mainframegurukul.com
OUTPUTFILE
OHANK342a
OHANK334
RAMES453
URESH834
AMESH757
RISHN083
RISHN049
URESH834
EXPLANATION
1.SORTFIELDS=COPY
Itisforcopyrecordstooutputfile
2.INRECFIELDS=(7:2,5,20:10,3)(forformatting)
Herewehavetwoformattings,
1.7:2,5dataat2ndpositionofinputfilewithlength5
copiedto7thpositionofoutputfile
2.20:10,3dataat10thpositionofinputfilewithlength3
copiedto20thpositionofoutputfile
Inaboveexample,wecanuseOUTRECinstreadofINREC,
INRECadds,deletes,orreformatsfieldsbeforethe
recordsaresortedormerged.sothatperformancewill
beimproved
OUTRECadds,deletes,orreformatsfieldsafterthe
recordsaresortedormerged.
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
6/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
FormorecomplexINRECandOUTRECSORTJCLs.Referbelow
discussionatmainframegurukulSORTforums.
HexadecimaltodecimalconversionSORTJCLINRECOUTREC
SORTJCLSORTINGAVBFILEINRECOUTRECPARSEBUILD
SortjclreportwriterqueriesusingOUTREC
TAGS:SORTJCL,SORTJCLINRECT,SORTJCLOUTREC
Otherparameterswecanpasswithsortcard
SKIPREC=n
causessorttoskipover'n'recordsintheinputfilebefore
startingasortingorcopyingoperation.
STOPAFT=n
causessorttostopafter'n'recordsintheinputfilehave
beensortedorcopied.
Thisbookisanexcellentbookforthosewhowanttobecome
expertsinJCLprogramming
RAMESHKRISHNAREDDY
MoreDetails(Buyatamazon.com)
CURRENTDISCUSSIONSINSORTFORUM
www.mainframegurukul.com
comparetwofilesusingSORT
DFSORTarticleinz/Journal(Oct/Nov)
TodeletetheTrailerREcordfromthefile
sorttwofileswithsamesortcondition
Sortingcommadelimitedfile?
howtolookupandchange
sortwithheader
searchastring
ALternatetoIDCAMSREPRO
ICETOOL/DFSORTQuestion.
QueryonrecordcountinICETOOL
Inthiswebsiteyoucanpostquestionsonsort/icetool.
Thosewillgetansweredbyexpertsinthisforum.
Ifanysuggestionspleasesendtosrcsinc@yahoo.comorclickheretosend
AtutorialfromDRONASERIES
www.mainframegurukul.com/srcsinc
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
7/8
5/23/2016
DFSORTTUTORIALREFERENCESTUDYMATERIALSORTJCLIBMMAINFRAME
Visitbookssectioninthissiteforgoodbooks
Search:
Keywords:
Books
JCL
Home|Donations|Entertainment|Contactme|privacy|privacy
http://www.mainframegurukul.com/srcsinc/drona/programming/languages/jcl/jcl.sort.html
8/8