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

reformat file after sorting


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

Active User


Joined: 22 Dec 2005
Posts: 116

PostPosted: Tue Dec 27, 2005 12:09 pm
Reply with quote

I need to reformat a file after sorting it based on some keys usinf ICETOOL.

Input file has a length of 200.
Output file has a length of 80.

I need to sort the input file on 150-160 position. The output files shud have the first 10 positions with those values in the input file from position 150-160, and from 11-80 shud be spaces. And there shud not be any duplicates. How can I do it, please help.
Nithin.
Back to top
View user's profile Send private message
Phantom

New User


Joined: 04 Sep 2005
Posts: 25

PostPosted: Tue Dec 27, 2005 12:40 pm
Reply with quote

Nithin,

When you say 150-160, it actually occupies 11 bytes (not 10). Under the assumption that your key is just 10 bytes (150 - 159), use the following sort card.

Using SORT
Code:

//R010   EXEC  PGM=SORT   
//SORTIN   DD  DSN=your.input.file,
//             DISP=SHR
//SORTOUT  DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
  SORT FIELDS=(150,10,CH,A)      *  SORT ON Cols 150-159  *
  SUM FIELDS=NONE                *  REMOVE DUPLICATES     *
  OUTREC FIELDS=(1:150,10,       *  COPY 150-159 to Col 1 in output *
                 80:X)           *  FILL SPACES TILL COLUMN 80  *
/*


Hope this helps,

Cheers,
Phantom
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: Tue Dec 27, 2005 8:25 pm
Reply with quote

Here's an alternative way to do it with DFSORT/ICETOOL:

Code:

//S1   EXEC PGM=ICETOOL
//TOOLMSG  DD SYSOUT=*
//DFSMSG   DD SYSOUT=*
//IN   DD DSN=...  input file (FB/200)
//OUT  DD DSN=...  output file (FB/80)
//TOOLIN   DD *
SELECT FROM(IN) TO(OUT) ON(150,10,CH) FIRST USING(CTL1)
/*
//CTL1CNTL DD *
  OUTFIL FNAMES=OUT,OUTREC=(150,10,80:X)
/*
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 Compare 2 files and retrive records f... DFSORT/ICETOOL 3
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
Search our Forums:

Back to Top