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
 

 

Joining of multiple files horizontally

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

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Fri May 11, 2007 9:44 pm    Post subject: Joining of multiple files horizontally
Reply with quote

Hi

My requirement is some what similar to the one in Sort trick pdf, In which it attempts to join 2 files horizontally.
In my case i need to Join 12 files side by side.

Initially i tried same with 3 files
CODE is as follows:

Code:
//*******************************************************               
//STEP001  EXEC PGM=ICETOOL                                             
//TOOLMSG  DD SYSOUT=*                                                 
//DFSMSG   DD SYSOUT=*                                                 
//IN1      DD *                                                         
001 AAAAA                                                               
002 CCCCC                                                               
003 EEEEE                                                               
004 GGGGG                                                               
/*                                                                     
//IN2      DD *                                                         
003 DDDDD                                                               
004 FFFFF                                                               
005 HHHHH                                                               
/*                                                                     
//IN3      DD *                                                         
003 BBBBB                                                               
003 DDDDD                                                               
003 HHHHH                                                               
/*                                                                     
//TMP1     DD DSN=&&TEMP1,DISP=(MOD,PASS),SPACE=(TRK,(5,5)),UNIT=SYSDA 
//OUT      DD SYSOUT=*                                                 
//TOOLIN   DD *                                                         
 COPY FROM(IN1) TO(TMP1) USING(CPY1)                                   
 COPY FROM(IN2) TO(TMP1) USING(CPY2)                                   
 COPY FROM(IN3) TO(TMP1) USING(CPY3)                                   
 SPLICE FROM(TMP1) TO(OUT) ON(36,8,PD)  -                               
  WITHEACH   WITH(10,9) WITH(19,9) USING(CPY4)                         
/*                                                                     
//CPY1CNTL DD  *                                                       
  OUTREC FIELDS=(1:1,9,36:SEQNUM,8,PD)                                 
/*                                                                     
//CPY2CNTL DD  *                                                       
  OUTREC FIELDS=(10:1,9,36:SEQNUM,8,PD)                                 
/*                                                                     
//CPY3CNTL DD  *                                                       
  OUTREC FIELDS=(19:1,9,36:SEQNUM,8,PD)                                 
/*                                                                     
//CPY4CNTL DD  *                                                       
  OUTFIL FNAMES=OUT,OUTREC=(1,35)                                       
/*                                                                     


The O/P is
Code:
001 AAAAA003 DDDDD003 BBBBB
002 CCCCC004 FFFFF003 DDDDD
003 EEEEE005 HHHHH003 HHHHH


And the expected o/p is
Code:
001 AAAAA003 DDDDD003 BBBBB
002 CCCCC004 FFFFF003 DDDDD
003 EEEEE005 HHHHH003 HHHHH
004 GGGGG                 

Meant to say that, the code is not working as expected wn i/p contains different number of records.
How do i get this ?
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: Fri May 11, 2007 11:00 pm    Post subject:
Reply with quote

For the example you show, adding KEEPNODUPS to the SPLICE operator will give you what you asked for, e.g.

Code:

SPLICE FROM(TMP1) TO(OUT) ON(36,8,PD)  KEEPNODUPS -                   
  WITHEACH   WITH(10,9) WITH(19,9) USING(CPY4)   
Back to top
View user's profile Send private message
krisprems

Active Member


Joined: 27 Nov 2006
Posts: 649
Location: India

PostPosted: Sat May 12, 2007 3:37 pm    Post subject: thnx
Reply with quote

thanks frank, ur suggestion is working icon_cool.gif
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 Changeman get multiple "Browse C... elixir1986 Compuware & Other Tools 4 Fri Jul 14, 2017 1:48 am
No new posts How to write Specific Fields from Mul... Padhu SYNCSORT 6 Thu Jul 06, 2017 10:26 am
No new posts getting three output files out of JOI... migusd SYNCSORT 7 Mon Jun 05, 2017 11:30 pm
No new posts Unable to create multiple files using... mbattu COBOL Programming 3 Fri May 05, 2017 5:35 pm
This topic is locked: you cannot edit posts or make replies. Merge two files and update Trailer re... Yashashri JCL & VSAM 1 Thu May 04, 2017 12:54 pm


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