Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist 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 FTP Skip or ignore error and process ... AJAYREDDY All Other Mainframe Topics 3 Wed Sep 27, 2017 8:12 pm
No new posts Comparing 2 Files using Current time arunsoods SYNCSORT 9 Fri Sep 22, 2017 6:00 pm
No new posts ejck thru rexx to multiple jobs insid... Susanta All Other Mainframe Topics 5 Tue Sep 19, 2017 1:39 pm
No new posts Split 1 file into 10 output Files - S... Prasanth Kumar SYNCSORT 5 Sat Sep 16, 2017 12:02 am
No new posts PLI - printing from multiple programs Pedro PL/I & Assembler 8 Fri Sep 08, 2017 6:36 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us