View previous topic :: View next topic
|
Author |
Message |
Richard J
New User
Joined: 27 Mar 2009 Posts: 13 Location: London, UK
|
|
|
|
Hi everyone,
Is anybody able to offer some advice on my problem please?
I am trying to sort an input file which contains one header record and many detail records using SKIPREC=1, in the output I would like to keep the header record in place at the top of the file but am unable to find a way to do this.
File format
Code: |
Header Record
Detail 1
Detail 2
Detail... n |
sort conditions
Code: |
SORT FIELDS=(1,4,BI,A,6,4,BI,A),
SKIPREC=1
SUM FIELDS=NONE
|
I found a sort usefull tricks .pdf from previous posts and the article 'Keep or remove specific relative records' which led me to try...
Code: |
SORT FIELDS=(1,4,BI,A,6,4,BI,A),
SKIPREC=1
SUM FIELDS=NONE
SUBSET FROM(SORTIN) TO(SORTOUT) INPUT KEEP RRN(1)
|
... this seems like it should be the solution but there is something I am clearly missing as it doesn't seem to like it.
Thankyou for any help. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Take a look at the pdf again and look at one of the first tricks - sort detail records between headers and trailers.
THIS is the pdf that I used to find the trick. |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
|
|
Hi,
try this but I'm unable to test this as my DFSORT does not yet support the DATASORT function
Code: |
//STEP0001 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD *
Header Record
Detail 1
Detail 2
Detail... n
//OUT DD SYSOUT=*
//TOOLIN DD *
DATASORT FROM(IN) TO(OUT) HEADER USING(CTL1)
/*
//CTL1CNTL DD *
SORT FIELDS=(1,4,BI,A,6,4,BI,A)
/*
|
Gerry |
|
Back to top |
|
|
Richard J
New User
Joined: 27 Mar 2009 Posts: 13 Location: London, UK
|
|
|
|
The answer was right under my nose all along! Thanks for your help expat and gcicchet. Your suggestions worked like a charm. |
|
Back to top |
|
|
|