Sorting a sequential file

In this Mainframe Forum - You can post your queries on JCL, OS/390 JCL, MVS JCL, z/OS JCL, JES2 & JES3

Moderators: Frank Yaeger, DikDude, Moderator Group

Post Reply
Doice
Member
Posts: 2
Joined: Mon Apr 20, 2009 5:57 pm

Sorting a sequential file

Post by Doice » Mon Apr 20, 2009 6:05 pm

Hi all,

I am very new to the whole mainframe scene and am writing my first JCL not withouth trouble. I have the following question:

I have a sequential file that has lines with each 82 characters. I have to sort it on the last 2 characters (81,82) and if these characters are for example LA it should add that line to fileA and when it is LB it should add that line to fileB.

As you can see the SORT function doesn't give me enough options to actually filter on those two parameters, it just cuts a piece away and dumps it in a member.

Can anyone please help me on my way as I can see no way how to check every line inside a file using JCL.


Many Thanks
Doice

User avatar
dbzTHEdinosauer
Moderator
Posts: 981
Joined: Mon Oct 02, 2006 8:31 pm

Post by dbzTHEdinosauer » Mon Apr 20, 2009 7:50 pm

As you can see the SORT function doesn't give me enough options to actually filter on those two parameters, it just cuts a piece away and dumps it in a member.
that is not true.
A little time spent looking thru existing threads in this forum will
provide you insight to DFSORT/ICETOOL capabilities.

or check out the DFSORT documentation. The one titled - SORTRICKS - will show you how to split files based on values.

check this sticky for DFSORT documentation:
http://www.mainframegurukul.com/Mainfra ... php?t=3715
Dick Brenholtz
JCL, SQL and code in programs have an irritating habit of doing what you say,
not what you meant.

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Mon Apr 20, 2009 8:21 pm

Doice,

DFSORT is very rich in functionality and can easily do what you asked for as follows:

Code: Select all

//S1    EXEC  PGM=SORT                                         
//SYSOUT    DD  SYSOUT=*                                       
//SORTIN DD DSN=...  input file (FB/82)
//FILEA DD DSN=...  output file1 (FB/82)                               
//FILEB DD DSN=...  output file2 (FB/82)                  
//SYSIN    DD    *                                             
   SORT FIELDS=(81,2,CH,A)                                     
   OUTFIL FNAMES=FILEA,INCLUDE=(81,2,CH,EQ,C'LA')              
   OUTFIL FNAMES=FILEB,INCLUDE=(81,2,CH,EQ,C'LB')              
/*
Since you're not familiar with DFSORT and DFSORT's ICETOOL, I'd suggest reading through "z/OS DFSORT: Getting Started". It's an excellent tutorial, with lots of examples, that will show you how to use DFSORT, DFSORT's ICETOOL and DFSORT Symbols. You can access it online, along with all of the other DFSORT books, from:

www.ibm.com/servers/storage/support/sof ... tmpub.html
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort

Doice
Member
Posts: 2
Joined: Mon Apr 20, 2009 5:57 pm

Post by Doice » Tue Apr 21, 2009 11:54 am

Thanks you guys, I have tried it and it works perfectly!!!
Indeed after reading more about sort it does include much more functionality.

Thanks again for the quick reply, and next time I will search this forum more thoroughly before asking questions.

Post Reply

FREE TUTORIALS

Tutorials
Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions



Other References
Mainframe Tools and others