eHorizon.Andrew
New User
Joined: 18 Jan 2007 Posts: 28 Location: Bank of communications
|
|
|
|
hi,
I have a question, how can I speify the order of records in an output file,e.g. a file contains many records, which is formatted like follow,
Code: |
name currency currency-wanted
11** cad usd
11** cad usd
11** usd usd
11** usd usd
11** eur usd
11** jpy usd
22** aud eur
22** aud eur
22** eur eur
22** usd eur
22** usd eur
|
the result I want is that , the records contain same name should be collocated together and those whose "currency" field equals to "currency-wanted" must be put at the end of them.So the output should be
Code: |
name currency currency-wanted
11** cad usd
11** cad usd
11** eur usd
11** jpy usd
11** usd usd
11** usd usd
22** aud eur
22** aud eur
22** usd eur
22** usd eur
22** eur eur
|
I am a new programmer, sorry for any various interpretations bringing to you...
thank you for help. |
|
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. I assumed your input file has RECFM=FB and LRECL=80, but the job can be changed appropriately for other attributes.
Code: |
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=... input file (FB/80)
//SORTOUT DD DSN=... output file (FB/80)
//SYSIN DD *
INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:C'0')),
IFTHEN=(WHEN=(14,3,CH,EQ,34,3,CH),OVERLAY=(81:C'1'))
SORT FIELDS=(1,4,CH,A,81,1,CH,A),EQUALS
OUTREC BUILD=(1,80)
/*
|
If 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:
Use [URL] BBCode for External Links |
|