Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Merging consecutive records based on key

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
seahawk789

New User


Joined: 22 Feb 2010
Posts: 47
Location: Cochin

PostPosted: Thu Jul 15, 2010 11:06 pm    Post subject: Merging consecutive records based on key
Reply with quote

Please find the below requirement,

The input file as following data (Rec Len : 10)


11111 AAAA
11111 BBBB
11111 CCCC
11111 DDDD

22222 EEEE
22222 DDDD
22222 CCCC
22222 BBBB
22222 AAAA

33333 GGGG
33333 HHHH
33333 RRRR

44444 ABCD
44444 NNNN

55555 VVVV
55555 JJJJ

66666 ZZZZ



Output file should be as given below (Rec Len : 30)

11111 AAAA BBBB CCCC DDDD
22222 EEEE DDDD CCCC BBBB AAAA
33333 GGGG HHHH RRRR
44444 ABCD NNNN
55555 VVVV JJJJ
66666 ZZZZ



Shall we create this output file using ICETOOL/SORT ?

Thanks in advance.
Back to top
View user's profile Send private message

Frank Yaeger

DFSORT Moderator


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

PostPosted: Thu Jul 15, 2010 11:11 pm    Post subject:
Reply with quote

Here's a DFSORT/ICETOOL job that will do what you asked for:

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN DD DSN=...  input file (FB/10)
//OUT DD DSN=...  output file (FB/30)
//TOOLIN DD *
SPLICE FROM(IN) TO(OUT) ON(1,5,CH) WITHEACH KEEPNODUPS -
  WITH(12,4) WITH(17,4) WITH(22,4) WITH(27,4) USING(CTL1)
/*
//CTL1CNTL DD *
  OPTION COPY
  INREC IFOUTLEN=30,
    IFTHEN=(WHEN=INIT,OVERLAY=(31:SEQNUM,1,ZD,RESTART=(1,5))),
    IFTHEN=(WHEN=(31,1,ZD,EQ,2),OVERLAY=(12:7,4)),
    IFTHEN=(WHEN=(31,1,ZD,EQ,3),OVERLAY=(17:7,4)),
    IFTHEN=(WHEN=(31,1,ZD,EQ,4),OVERLAY=(22:7,4)),
    IFTHEN=(WHEN=(31,1,ZD,EQ,5),OVERLAY=(27:7,4))
/*
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Removing Duplicates based on certain ... chandracdac DFSORT/ICETOOL 8 Fri Dec 09, 2016 4:40 am
No new posts Limit duplicate records in the SORT pshongal SYNCSORT 6 Mon Nov 21, 2016 12:54 pm
No new posts How to split the records using the am... vnktrrd DFSORT/ICETOOL 24 Fri Oct 28, 2016 7:33 pm
No new posts Sort records based on numeric field. Alks SYNCSORT 2 Wed Oct 19, 2016 10:14 pm
No new posts abend sort based on count records in ... anatol DFSORT/ICETOOL 5 Mon Oct 17, 2016 10:10 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us