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
 

 

select the duplicate block of records in to a separate file

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

New User


Joined: 21 Sep 2006
Posts: 17

PostPosted: Thu Nov 05, 2009 8:15 pm    Post subject: select the duplicate block of records in to a separate file
Reply with quote

HI, I have a situation where I have to select only the duplicate block of records. Each block has multiple records with first record of the block starting with '04' and last record of the block starting with with '00'. If there is only one block I dont want that blcok in my o/p file.

My i/p file is like this
04 11111
05 11111
01 11111
00 11111

04 11111
05 11111
01 11111
00 11111

04 22222
05 22222
05 22222
07 22222
01 22222
00 22222

04 44444
05 44444
05 44444
05 44444
01 44444
00 44444

04 44444
05 44444
05 44444
05 44444
01 44444
00 44444

04 66666
05 66666
05 66666
05 66666
01 66666
00 66666


My o/p file should be like:

04 11111
05 11111
01 11111
00 11111

04 11111
05 11111
01 11111
00 11111

04 44444
05 44444
05 44444
05 44444
01 44444
00 44444

04 44444
05 44444
05 44444
05 44444
01 44444
00 44444
Back to top
View user's profile Send private message

Skolusu

Senior Member


Joined: 07 Dec 2007
Posts: 2205
Location: San Jose

PostPosted: Thu Nov 05, 2009 10:56 pm    Post subject: Reply to: select the duplicate block of records in to a sepa
Reply with quote

paresh.ojha,

The following DFSORT/ICETOOL JCl will give you the desired results

Code:

//STEP0100 EXEC PGM=ICETOOL
//TOOLMSG  DD SYSOUT=*     
//DFSMSG   DD SYSOUT=*     
//IN       DD * 
04 11111                                                   
05 11111                                                   
01 11111                                                   
00 11111                                                   
04 11111                                                   
05 11111                                                   
01 11111                                                   
00 11111                                                   
04 22222                                                   
05 22222                                                   
05 22222                                                   
07 22222                                                   
01 22222                                                   
00 22222                                                   
04 44444                                                   
05 44444                                                   
05 44444                                                   
05 44444                                                   
01 44444                                                   
00 44444                                                   
04 44444                                                   
05 44444                                                   
05 44444                                                   
05 44444                                                   
01 44444                                                   
00 44444                                                   
04 66666                                                   
05 66666                                                   
05 66666                                                   
05 66666                                                   
01 66666                                                   
00 66666                                                   
//T1       DD DSN=&&T1,DISP=(,PASS),SPACE=(CYL,(X,Y),RLSE) 
//OUT      DD SYSOUT=*                                     
//TOOLIN   DD *                                             
  SELECT FROM(IN) TO(T1) ON(81,13,CH) ALLDUPS USING(CTL1)   
  SORT FROM(T1) USING(CTL2)                                 
//CTL1CNTL DD *                                             
  INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,2,ZD,EQ,4),             
  PUSH=(81:4,5,SEQ=8,ID=8))                 
  OUTFIL FNAMES=T1,BUILD=(1,80,94,8)         
//CTL2CNTL DD *                             
  SORT FIELDS=(81,8,CH,A)                   
  OUTFIL FNAMES=OUT,BUILD=(1,80)             
//*
Back to top
View user's profile Send private message
paresh.ojha

New User


Joined: 21 Sep 2006
Posts: 17

PostPosted: Fri Nov 06, 2009 12:07 am    Post subject:
Reply with quote

Thanks Kolusu,
This was really helpful
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 Converting Variable block file to Fix... bhavana yalavarthi DFSORT/ICETOOL 10 Tue May 16, 2017 2:20 pm
No new posts Using ICETOOL, how we can seperate th... bshkris SYNCSORT 5 Tue May 09, 2017 8:33 pm
No new posts Check if any Detail records and extra... V S Amarendra Reddy SYNCSORT 19 Mon May 08, 2017 8:54 pm
No new posts Getting error while opening a variabl... apandey1 COBOL Programming 5 Fri May 05, 2017 12:22 pm
No new posts Issue with NDM process to transmit ES... chetanambi All Other Mainframe Topics 6 Wed May 03, 2017 10:52 am


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