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

Only Detail record sort


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sriramd

New User


Joined: 02 Nov 2006
Posts: 10

PostPosted: Thu Feb 07, 2008 6:13 am
Reply with quote

Hi,

I have a file which has a header and some detail records. Length of the file is 80 bytes.

Header
cccc
aaaa
dddd
bbbb

I want to have my output file like:

Header
aaaa
bbbb
cccc
dddd

I dont want to add a step wherein I can split the file and then sort and merge them back.

TIA...
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Thu Feb 07, 2008 6:52 am
Reply with quote

You can use a DFSORT job like the following to 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 *
Header
cccc
aaaa
dddd
bbbb
/*
//SORTOUT DD DSN=... output file
//SYSIN DD *
* Put special key of '1' in 81 for data records.
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:C'1')),
* For header record, put special key of '0' in 81.
    IFTHEN=(WHEN=(1,6,CH,EQ,C'Header'),OVERLAY=(81:C'0'))
* Sort by special key ('0' or '1') and then regular key.
  SORT FIELDS=(81,1,CH,A,1,4,CH,A)
* Remove special key.
  OUTREC FIELDS=(1,80)
/*


For more information, see the "Sort records between a header and trailer" Smart DFSORT Trick at:

www.ibm.com/servers/storage/support/software/sort/mvs/tricks/
Back to top
View user's profile Send private message
sriramd

New User


Joined: 02 Nov 2006
Posts: 10

PostPosted: Thu Feb 07, 2008 10:11 pm
Reply with quote

Thanks a lot....
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Developer


Joined: 15 Feb 2005
Posts: 7129
Location: San Jose, CA

PostPosted: Thu Aug 14, 2008 2:41 am
Reply with quote

With the new DATASORT operator of DFSORT's ICETOOL, available with z/OS DFSORT V1R5 PTF UK90013 (July, 2008), you can do this kind of thing quite easily like this:

Code:

//S1   EXEC  PGM=ICETOOL
//TOOLMSG   DD  SYSOUT=*
//DFSMSG    DD  SYSOUT=*
//IN DD *
Header
cccc
aaaa
dddd
bbbb
//OUT DD SYSOUT=*
//TOOLIN DD *
DATASORT FROM(IN) TO(OUT) HEADER USING(CTL1)
/*
//CTL1CNTL DD *
  SORT FIELDS=(1,4,CH,A)
/*


For complete details on the new DATASORT function and the other new functions available with PTF UK90013, see:

www.ibm.com/systems/support/storage/software/sort/mvs/ugpf/
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Need to set RC4 through JCL SORT DFSORT/ICETOOL 5
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
No new posts FINDREP - Only first record from give... DFSORT/ICETOOL 3
No new posts JCL sort card - get first day and las... JCL & VSAM 9
Search our Forums:

Back to Top