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

Add Duplicate records


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

Active User


Joined: 24 May 2013
Posts: 156
Location: INDIA

PostPosted: Fri Dec 27, 2013 2:45 pm
Reply with quote

Hi All,

I have a scenario like below

Code:
Input 

1234ABCDEFGHI
5678JKLMNOPQR

Output

1234DABCDEFGHI
1234HABCDEFGHI
5678DJKLMNOPQR
5678HJKLMNOPQR



I want to Duplicate each record in the file so in output file there will be 2 records for each .. first willbe having a D at 5th position and second will be having a H in 5th position .. like above

I am planing to do it with SYNCSORT . .and was wondering if any one can give an idea or have done this kind of sort earlier . I tried searchign it in Docs or google but couldnt find much to implement

Many thanks in advance !!
Back to top
View user's profile Send private message
thesumitk

Active User


Joined: 24 May 2013
Posts: 156
Location: INDIA

PostPosted: Fri Dec 27, 2013 2:55 pm
Reply with quote

In Addition to my below email.. I wanted to do it in one STEP of SORT only
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Dec 27, 2013 3:33 pm
Reply with quote

Have a look at BUILD on OUTFIL which supports the Slash Operator (/) which allows you to write multiple lines from one input record.
Back to top
View user's profile Send private message
thesumitk

Active User


Joined: 24 May 2013
Posts: 156
Location: INDIA

PostPosted: Fri Dec 27, 2013 5:35 pm
Reply with quote

Thanks a bunch for the idea Bill ..

I was able to do it

Code:
SORT FIELDS=COPY                                         
OUTFIL OUTREC=(1:1,4,C'D',6:5,10,16:15,4,C'D',21:19,10,/,
 1:1,4,C'H',6:5,10,16:15,4,C'H',21:19,10)


Code'd
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Dec 27, 2013 5:56 pm
Reply with quote

Code:
SORT FIELDS=COPY                                         
OUTFIL BUILD=(1,4,C'D',X,5,10,15,4,C'D',X.19,10,
              /,
              1,4,C'H',X,5,10,15,4,C'H',X.19,10)


You can make things clearer by using BUILD instead of the OUTREC (so it can't be confused with OUTREC) and not using all the columns. Also by indentation.

I'd also use symbols/SYMNAMES to avoid the repeated code, but I like doing it the easy (to understand and maintain) way.
Back to top
View user's profile Send private message
thesumitk

Active User


Joined: 24 May 2013
Posts: 156
Location: INDIA

PostPosted: Fri Dec 27, 2013 10:00 pm
Reply with quote

Sure..Thanks
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 Duplicate transid's declared using CEDA CICS 3
No new posts Compare only first records of the fil... SYNCSORT 7
No new posts Pulling a fixed number of records fro... DB2 2
No new posts Join multiple records using splice DFSORT/ICETOOL 5
No new posts EZT program to build a flat file with... All Other Mainframe Topics 9
Search our Forums:

Back to Top