sudip_mitra
New User
Joined: 05 Apr 2006 Posts: 5 Location: India
|
|
|
|
Hi,
I have a requirement, input file need to be sorted as maximum number of occurrences of Item# will come first then next maximum occurrences.
File input looks like:
1111ABC
1111ABC
1111ABC
0111DDD
0111DDD
0111DDD
0111DDD
0111DDD
0011XXX
0011XXX
Sorted file look like:
0111DDD
0111DDD
0111DDD
0111DDD
0111DDD
1111ABC
1111ABC
1111ABC
0011XXX
0011XXX
Can anyone suggest how can I achieve this using sort.
Thanks, |
|
Skolusu
Senior Member
Joined: 07 Dec 2007 Posts: 2205 Location: San Jose
|
|
|
|
sudip_mitra,
Use the following DFSORT JCL which will give you the desired results. I assumed your input file is FB Recfm and LRECL of 80.
Code: |
//STEP0100 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//INA DD DSN=your input file,DISP=SHR
//INB DD DSN=same input file again,DISP=SHR
//SORTOUT DD SYSOUT=*
//SYSIN DD *
JOINKEYS F1=INA,FIELDS=(1,7,A)
JOINKEYS F2=INB,FIELDS=(1,7,A)
JOIN UNPAIRED
REFORMAT FIELDS=(F1:1,80,F2:81,8)
SORT FIELDS=(81,8,CH,D),EQUALS
OUTREC BUILD=(1,80)
//JNF2CNTL DD *
INREC OVERLAY=(81:7C'0',C'1')
SUM FIELDS=(81,8,ZD)
//* |
|
|