IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Sorting body of file but keeping the header


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Richard J

New User


Joined: 27 Mar 2009
Posts: 13
Location: London, UK

PostPosted: Tue Apr 28, 2009 2:06 pm
Reply with quote

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
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Tue Apr 28, 2009 2:36 pm
Reply with quote

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
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Tue Apr 28, 2009 2:39 pm
Reply with quote

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
View user's profile Send private message
Richard J

New User


Joined: 27 Mar 2009
Posts: 13
Location: London, UK

PostPosted: Tue Apr 28, 2009 3:01 pm
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 8
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top