IBM MAINFRAME HELP & SUPPORT FORUMS
Technical Forums for IBM Mainframe Applications like COBOL, JCL, CICS, DB2, FileAid, DFSORT, Endevor, Xpediter, CoolGen, CA-7&11, AbendAid, IMS, IDMS, PL/I, MqSeries, SyncSort, Assembler, ChangeMan, Easytrieve, InterTest, REXX, CLIST etc...
 

To sort all records frm two files in one output file

THIS IS AN ARCHIVE FORUM: CLICK HERE TO GO TO THE ORIGINAL TOPIC

 
       IBMMAINFRAMES.com - IBM Mainframe Support Forums Index -> DFSORT/ICETOOL
View previous topic :: View next topic  
Author Message
pbgunasekar



Joined: 28 May 2005
Posts: 28

Posted: Tue Jun 07, 2005 10:34 am    Post subject: To sort all records frm two files in one output file  

hello ,

here is the example

Code:
file a                fileb
1                      2
2                      4
4                      5
6                      7


i want to sort the file those records in both files in one output file and those belong to individuals in the other output file....
Back to top  
priyesh.agrawal



Joined: 28 Mar 2005
Posts: 1509
Location: Chicago, IL

Posted: Tue Jun 07, 2005 4:19 pm    Post subject: Re: To sort all records frm two files in one output file  

Quote: i want to sort the file those records in both files in one output file and those belong to individuals in the other output file....

If I m not mistaking, U r looking for two o/p files.
One having all the values from File 1, which are also there in File 2.
Second having all the recs from both files which are not in the other file.

If Yes....Please try this code.

Code: //S010     EXEC PGM=ICETOOL                     
//TOOLMSG   DD SYSOUT=*                         
//DFSMSG    DD SYSOUT=*                         
//IN     DD DSN=INPUT.FILE.FIRST,DISP=SHR 
//        DD DSN=INPUT.FILE.SECOND,DISP=SHR 
//OUT    DD DSN=OUTPUT.FILE.NO.DUP,           
//          DISP=(,KEEP,DELETE),               
//          RECFM=FB,LRECL=80,                 
//          SPACE=(80,(10,10),RLSE)             
//TOOLIN DD *                                   
  SELECT FROM(IN) TO(OUT) ON(1,[b]L[/b],CH) NODUPS     
//

This will give you Not duplicate values. Replacing NODUPS in the code with ALLDUPS will give you duplicate values. Also change "L" in the code to the field value of yours (1 in your given example).

Let me know, if having any question.

Regards,

Priyesh.
Back to top  
Frank Yaeger



Joined: 15 Feb 2005
Posts: 4613
Location: San Jose, CA

Posted: Tue Jun 07, 2005 9:43 pm    Post subject:  

pbgunasekar,

You can use the following DFSORT/ICETOOL job to get the matching records in one file and the non-matching records in another file:

Code:
//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//CON DD DSN=...  input file a
//    DD DSN=...  input file b
//MATCH DD DSN=...  output file with matching records
//NOMATCH DD DSN=...  output file with non-matching records
//TOOLIN DD *
SELECT FROM(CON) TO(MATCH) ON(1,1,CH) ALLDUPS DISCARD(NOMATCH)
/*


MATCH will have:

2
2
4
4

NOMATCH will have:

1
5
6
7

If that's not what you want, then show me the records you want in each output file and explain what you're trying to do.
Back to top  
 
       IBMMAINFRAMES.com - IBM Mainframe Support Forums Index -> DFSORT/ICETOOL
Page 1 of 1
THIS IS AN ARCIVE FORUM IN READ ONLY MODE. IF YOU WANT TO ASK YOUR DOUBTS USE THE ACTUAL FORUM