MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

How to JOIN 2 different file with out any common column.

 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities
View previous topic :: View next topic  
Author Message
hisabarinath
Beginner


Joined: 25 Apr 2008
Posts: 36
Topics: 8
Location: Baltimore, USA

PostPosted: Wed Apr 22, 2009 1:54 pm    Post subject: How to JOIN 2 different file with out any common column. Reply with quote

Can we join the below different Lrecl and record into a single file with out any common column. The thing is File-1 and File-2's counts are same. File-1's first record should map with File-2's first record, then second record should map with second record and so on.

File-1
A
B
C
D
E

File-2
X1
X2
X3
X4
X5

Output file
AX1
BX2
CX3
DX4
EX5

Thanks every one.
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Wed Apr 22, 2009 2:33 pm    Post subject: Reply with quote

hisabarinath,

Concatenate a 1 line header between for each as shown and concatenate them together to SORTIN. using Group function we club the File-1's first record should map with File-2's first record, then second record should map with second record and so on.
Code:

//STEP0100 EXEC PGM=SORT                                     
//SYSOUT   DD SYSOUT=*                                       
//SORTIN   DD *                                               
HDR                                                           
//         DD *                                               
A                                                             
B                                                             
C                                                             
D                                                             
E                                                             
//         DD *                                               
HDR                                                           
//         DD *                                               
X1                                                           
X2                                                           
X3                                                           
X4                                                           
X5                                                           
//SORTOUT  DD SYSOUT=*                                       
//SYSIN    DD *                                               
  OPTION EQUALS                                               
  INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,3,CH,EQ,C'HDR'),         
  PUSH=(81:SEQ=8,ID=1)),                                     
  IFTHEN=(WHEN=(89,1,ZD,EQ,2),BUILD=(2:1,79,81,9))           
  SORT FIELDS=(81,8,CH,A)                                     
                                                             
  OUTREC IFTHEN=(WHEN=GROUP,RECORDS=2,PUSH=(1:1,1))           
  OUTFIL OMIT=(89,1,ZD,EQ,1,OR,2,3,CH,EQ,C'HDR'),BUILD=(1,80)
//*

_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
hisabarinath
Beginner


Joined: 25 Apr 2008
Posts: 36
Topics: 8
Location: Baltimore, USA

PostPosted: Wed Apr 22, 2009 3:05 pm    Post subject: Reply with quote

Thanks Kolusu, I'm getting the following syntax error...

Code:
ICE000I 1 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R5 - 16:02 ON WED A
            OPTION EQUALS                                                     
             INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,3,CH,EQ,C'HDR'),               
                                $                                             
ICE007A 0 SYNTAX ERROR                                                       
              PUSH=(81:SEQ=8,ID=1)),                                         
              $                                                               
ICE005A 0 STATEMENT DEFINER ERROR                                             
              IFTHEN=(WHEN=(89,1,ZD,EQ,2),BUILD=(2:1,79,81,9))               
              $                                                               
ICE005A 0 STATEMENT DEFINER ERROR                                             
              SORT FIELDS=(81,8,CH,A)                                         
              OUTREC IFTHEN=(WHEN=GROUP,RECORDS=2,PUSH=(1:1,1))               
                                  $                                           
ICE007A 0 SYNTAX ERROR                                                       
              OUTFIL OMIT=(89,1,ZD,EQ,1,OR,2,3,CH,EQ,C'HDR'),BUILD=(1,80)     
            //*                                                               
            $                                                                 
ICE007A 1 SYNTAX ERROR                                       
ICE751I 0 C5-K26318 C6-K90007 C7-K90000 C8-K23476 E7-K24705 
ICE052I 3 END OF DFSORT
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12376
Topics: 75
Location: San Jose

PostPosted: Wed Apr 22, 2009 3:24 pm    Post subject: Reply with quote

hisabarinath,

You don't have the July, 2008 PTF installed, ask your System Programmer to install it (it's free). Here is an alternate solution using DFSORT/ICETOOL


Code:

//STEP0100 EXEC PGM=ICETOOL                                   
//TOOLMSG  DD SYSOUT=*                                         
//DFSMSG   DD SYSOUT=*                                         
//IN       DD *                                               
HDR                                                           
//         DD *                                               
A                                                             
B                                                             
C                                                             
D                                                             
E                                                             
//         DD *                                               
HDR                                                           
//         DD *                                               
X1                                                             
X2                                                             
X3                                                             
X4                                                             
X5                                                             
//OUT      DD SYSOUT=*                                         
//TOOLIN   DD *                                               
  SPLICE FROM(IN) TO(OUT) ON(177,8,CH) WITH(1,80) USING(CTL1) 
//CTL1CNTL DD *                                               
  INREC IFTHEN=(WHEN=INIT,OVERLAY=(81:1,80,SEQNUM,8,ZD)),     
  IFTHEN=(WHEN=(1,3,CH,EQ,C'HDR'),OVERLAY=(161:SEQNUM,8,ZD)), 
  IFTHEN=(WHEN=NONE,OVERLAY=(169:SEQNUM,8,ZD,                 
                    161:161,8,ZD,SUB,169,8,ZD,TO=ZD,LENGTH=8, 
                    177:SEQNUM,8,ZD,RESTART=(161,8)))         
                                                               
  OUTFIL FNAMES=OUT,OMIT=(1,3,CH,EQ,C'HDR'),BUILD=(81,1,1,79) 
//*

_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
hisabarinath
Beginner


Joined: 25 Apr 2008
Posts: 36
Topics: 8
Location: Baltimore, USA

PostPosted: Wed Apr 22, 2009 4:12 pm    Post subject: Reply with quote

Pefect. Thanks again Kolusu. Can you please explain us that how this is working? We can develop, if we are getting anything similar to that.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Utilities All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group