View previous topic :: View next topic
|
Author |
Message |
neerajsaran
New User
Joined: 12 Dec 2010 Posts: 3 Location: Hyderabad
|
|
|
|
hi,
Is it possible to sort a file with a index such that in one half of the file index is at different position and for other half index is at different position.
eg.
POSITION (1-3)____ (4-6)________ (9-11)
_________SIS ______111
_________SIS ______222
_________SIS ______333
_________DCU __________________ 444
_________DCU __________________ 555
_________DCU __________________ 666
For first half position 4-6 is index and for other half position 9-11 is index.
Is it possible for DFSORT to take index as 4-6 for first part and 9-11 for other part. |
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Yes, you can, but you haven't given enough information for me to show you how.
How do you identify the "first part" and "second part"? Do records with 'SIS' in 1-3 have the key in 4-6, and records with 'DCU' in 1-3 have the key in 9-11? Or is it something else that identifies where the key is in a particular record? What?
Also, what is the RECFM and LRECL of your input file? |
|
Back to top |
|
|
neerajsaran
New User
Joined: 12 Dec 2010 Posts: 3 Location: Hyderabad
|
|
|
|
Yes it is the same way, for the record SIS in 1-3, key is in 4-6 and for record DCU in 1-3, key is in 9-11.
RECFM = FB
LRECL = 1713 |
|
Back to top |
|
|
Frank Yaeger
DFSORT Developer
Joined: 15 Feb 2005 Posts: 7129 Location: San Jose, CA
|
|
|
|
Here's a DFSORT job that will do what you asked for:
Code: |
//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (FB/1713)
//SORTOUT DD DSN=... output file (FB/1713)
//SYSIN DD *
INREC IFTHEN=(WHEN=(1,3,CH,EQ,C'SIS'),OVERLAY=(1714:4,3)),
IFTHEN=(WHEN=(1,3,CH,EQ,C'DCU'),OVERLAY=(1714:9,3))
SORT FIELDS=(1714,3,CH,A)
OUTREC BUILD=(1,1713)
/*
|
|
|
Back to top |
|
|
neerajsaran
New User
Joined: 12 Dec 2010 Posts: 3 Location: Hyderabad
|
|
|
|
hi,
thnks a lot.
It worked exactly the way i wished.. |
|
Back to top |
|
|
|