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
 
Sort Join with Duplicates in Lookup File

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

New User


Joined: 17 Mar 2009
Posts: 9
Location: India

PostPosted: Sat Sep 14, 2013 12:44 am    Post subject: Sort Join with Duplicates in Lookup File
Reply with quote

Hi,


I have 2 files which i have to join, however the lookup file, file2 is having duplicates and i want to join in the first available match and ignore the subsequent ones.
Is there anyway i can avoid the duplicates in the second file to be in the output other than sorting the second file on the key.


File 1

Code:
0001 UK
0002 JAPAN
0003 NORWAY
0004 DUBAI


File 2

Code:
0001 APPLE
0001 ORANGE
0002 MANGO
0003 GUAVA
0004 GRAPES
0004 PEACH



Fileout

Code:
0001 UK       APPLE
0002 JAPAN    MANGO
0003 NORWAY   GUAVA
0004 DUBAI    GRAPES
Back to top
View user's profile Send private message

Skolusu

Senior Member


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

PostPosted: Mon Sep 16, 2013 9:50 pm    Post subject:
Reply with quote

aviswam,

If your input is already sorted then you can use the following

Code:

//STEP0100 EXEC PGM=SORT                                   
//SYSOUT   DD SYSOUT=*                                     
//INA      DD *                                           
----+----1----+----2----+----3----+----4----+----5----+----
0001 UK                                                   
0002 JAPAN                                                 
0003 NORWAY                                               
0004 DUBAI                                                 
//INB      DD *                                           
0001 APPLE                                                 
0001 ORANGE                                               
0002 MANGO                                                 
0003 GUAVA                                                 
0004 GRAPES                                               
0004 PEACH                                                 
//SORTOUT  DD SYSOUT=*                                     
//SYSIN    DD *                                           
  OPTION COPY                                             
  JOINKEYS F1=INA,FIELDS=(1,4,A,81,4,A),SORTED,NOSEQCK     
  JOINKEYS F2=INB,FIELDS=(1,4,A,81,4,A),SORTED,NOSEQCK     
  REFORMAT FIELDS=(F1:1,12,F2:6,10)                       
//*                                                       
//JNF1CNTL DD *                                           
  INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,4),PUSH=(81:SEQ=4))
//*                                                       
//JNF2CNTL DD *                                           
  INREC IFTHEN=(WHEN=GROUP,KEYBEGIN=(1,4),PUSH=(81:SEQ=4))
//*


The output from this is
Code:

0001 UK     APPLE 
0002 JAPAN  MANGO 
0003 NORWAY GUAVA 
0004 DUBAI  GRAPES
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 Will this code extract 1 byte from fi... pkmurali CLIST & REXX 8 Sat Nov 10, 2018 11:13 pm
No new posts Error reading file in REXX module ashek15 CLIST & REXX 3 Wed Oct 24, 2018 4:50 am
No new posts Convert VB file to FB plus special fo... cz016m SYNCSORT 15 Fri Oct 19, 2018 7:26 pm
No new posts Picking up the latest PS file pema_yozer JCL & VSAM 8 Thu Oct 11, 2018 12:26 pm
No new posts Process only last key record in a fil... Naveen.katkuri24 DFSORT/ICETOOL 8 Tue Oct 09, 2018 9:39 am

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