Home      Mainframe Forum      Mainfarme Tutorials      IBM Manuals      Mainframe Interview Questions      Mainframe Books      IT News     SiteMap     Downloads


     
 
MAINFRAME - TIP OF THE DAY : programming pearls - The fastest algorithm can frequently be replaced by one that is almost as fast and much easier to understand.

Google
 
Web mainframegurukul.com

Welcome to the mainframegurukul forums.

You are currently viewing our mainframe forums as a guest which gives you limited access to view most discussions, articles. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload your own photos. Registration is fast, simple and absolutely free so please, join our community today!

If you have any problems with the registration process or your account login, please contact contact support at admin@mainframegurukul.com


File Comparison -Urgent

 
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DFSORT , ICETOOL & Utilities
  View previous topic :: View next topic  
Author Message
sivaraman
Member


Joined: 20 Feb 2007
Posts: 6
Location: chennai

PostPosted: Mon Apr 09, 2007 7:33 pm    Post subject: File Comparison -Urgent Reply with quote

can anyone help me...

There are 2 files. Account nos followed by amount.

1. If the account number is present in both the files and the amount is different in both the files, take the account number from 1st or 2nd file and write the account number ONLY to the first output file.

2. If the account number is present in both the files and the amount is same in both the files, please take the account number from 1st or 2nd file and write the account number AND amount to the second output file.

3. If an account number is present in 1st and not in 2nd write ONLY the account number to the first output file.
4. If an account number is present in 2ndand not in 1st, please write ONLY the account number to the first output file.

Thanks,
Siva
Back to top
View user's profile Send private message

sivaraman
Member


Joined: 20 Feb 2007
Posts: 6
Location: chennai

PostPosted: Mon Apr 09, 2007 7:41 pm    Post subject: File Comparison- Urgent Reply with quote

For this

RECFM=FB, length is 80 ....

acct no starts at 1 and lenght is 16

amount is starts at 18 and length is 12


thanks.
Back to top
View user's profile Send private message
Frank Yaeger
Moderator


Joined: 18 Feb 2006
Posts: 487
Location: San Jose, CA

PostPosted: Mon Apr 09, 2007 9:24 pm    Post subject: Reply with quote

You didn't show an example of your input records, so it's not clear if you have duplicate account numbers within either file (e.g. the same account number appears twice in input file1) and what you want to do in that case. Assuming you don't have duplicates within either file, here's a DFSORT/ICETOOL job that will do what you asked for. I made up some sample data and used the rules you stated.

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN1 DD *
0000000000000001 000000000010
0000000000000002 000000000010
0000000000000003 000000000010
/*
//IN2 DD *
0000000000000001 000000000012
0000000000000002 000000000010
0000000000000004 000000000010
/*
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT1 DD SYSOUT=*
//OUT2 DD SYSOUT=*
//TOOLIN   DD    *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT2) ON(1,16,ZD) KEEPNODUPS -
  WITH(31,12) USING(CTL3)
/*
//CTL1CNTL DD *
  INREC OVERLAY=(42:X)
/*
//CTL2CNTL DD *
  INREC BUILD=(1,16,31:18,12)
/*
//CTL3CNTL DD *
  OUTFIL FNAMES=OUT2,INCLUDE=(18,12,ZD,EQ,31,12,ZD),
    BUILD=(1,29)
  OUTFIL FNAMES=OUT1,SAVE,
    BUILD=(1,16)
/*


OUT1 would have:

Code:

0000000000000001
0000000000000003
0000000000000004


OUT2 would have:

Code:

0000000000000002 000000000010   

_________________
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort/
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Veera
Moderator


Joined: 22 Feb 2006
Posts: 111

PostPosted: Tue Apr 10, 2007 4:36 am    Post subject: Reply with quote

Siva,

As Frank said you have not mentioned anything regarding the duplicates within each file. And also as per your layout you said

1-16 -> accn no

18-12 ->Amount

What is present in 17 postion, are you expecting that in the outfile or
only the ACCTNO/AMOUNTS. I have exluded the postion 17 while
writign the outfile.

FRANK SOLUTION IS THE OPTIMAL the BEST, since i tried i am posting the code just as info.

Code:


       
//JS010    EXEC PGM=ICETOOL                                                     
//TOOLMSG   DD SYSOUT=*                                                         
//DFSMSG    DD SYSOUT=*                                                         
//*                                                                             
//IN1      DD *                                                                 
1111111111111111 1000000000000                                                 
2222222222222222 2000000000000                                                 
3333333333333333                                                               
//IN2      DD *                                                                 
1111111111111111 1000000000000                                         
2222222222222222 3000000000000                                         
4444444444444444                                                       
//TMP1     DD DSN=ACS0228.TEST.TMP1,                   /* OUTPUT               
//          DISP=(MOD,PASS),                                                   
//          UNIT=SYSDA,                                                         
//          SPACE=(CYL,(1,2),RLSE)                                             
//*                                                                             
//TMP2     DD DSN=ACS0228.TEST.TMP2,                   /* OUTPUT               
//          DISP=(MOD,PASS),                                                   
//          UNIT=SYSDA,                                                         
//          SPACE=(CYL,(1,2),RLSE)                                             
//*                                                                             
//FILE1    DD DSN=ACS0228.TEST.FILE1,                  /* OUTPUT               
//          DISP=(,CATLG,DELETE),                                               
//          UNIT=SYSDA,                                                         
//          SPACE=(CYL,(1,2),RLSE)                                             
//*                                                                             
//FILE2    DD DSN=ACS0228.TEST.FILE2,                  /* OUTPUT               
//          DISP=(,CATLG,DELETE),                                               
//          UNIT=SYSDA,                                                         
//          SPACE=(CYL,(1,2),RLSE)                                             
//*                                                                             
//LIST1     DD SYSOUT=*                                                         
//TOOLIN DD *                                                                   
COPY FROM(IN1) TO(TMP1) USING(CTL1)                                           
COPY FROM(IN2) TO(TMP1) USING(CTL2)                                           
SPLICE FROM(TMP1) TO(FILE1) ON(1,16,CH) ON(18,12,CH) WITH(82,1) -
   USING(CTL3) KEEPNODUPS
SORT FROM(TMP2) TO(FILE2) USING(CTL4)                                         
//CTL1CNTL DD *                                                                 
  INREC OVERLAY=(81:C'11')                                                       
//CTL2CNTL DD *                                                                 
  INREC OVERLAY=(81:C'22')                                                       
//CTL3CNTL DD *                                                                 
  OUTFIL FNAMES=FILE1,INCLUDE=(81,2,CH,EQ,C'12'),BUILD=(1,16,18,12)             
  OUTFIL FNAMES=TMP2,SAVE,BUILD=(1,16)                                           
//CTL4CNTL DD *                                                                 
  SORT FIELDS=(1,16,ZD,A)                                                       
  SUM FIELDS=NONE                                                               


Output File1
************

1111111111111111100000000000


Output File2
************

2222222222222222
3333333333333333
4444444444444444




Note : If there is a posibilty of the dups in the I/P file code has to be
changed accordingly.

Thanks
Veera.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DFSORT , ICETOOL & 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

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts two reports to compare , both different format - URGENT 1 ar3 1493 Wed Jul 15, 2009 7:57 pm
Frank Yaeger View latest post
No new posts If both the JOBCAT & STEPCAT statements are coded in a s 1 Krishna 2095 Tue May 12, 2009 6:43 pm
Krishna View latest post
No new posts Commit both in DB2 and MQ 3 jackie 2824 Fri Jul 27, 2007 3:52 pm
dbzTHEdinosauer View latest post
No new posts How to use both lower and upper case letters in cobol? 1 Divya 4885 Fri Mar 09, 2007 10:27 pm
Veera View latest post
No new posts Stop Run in both called and calling programs !!! 2 arrbee 4480 Fri Mar 10, 2006 12:13 pm
jaydeeppal View latest post
 



This widget requires Flash Player 9 or better








Go to top of the page
 

Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  DB2 INTERVIEW QUESTIONS ||  COBOL INTERVIEW QUESTIONS  ||  JCL INTERVIEW QUESTIONS ||  JCL2 INTERVIEW QUESTIONS ||  VSAM INTERVIEW QUESTIONS ||  CICS INTERVIEW QUESTIONS  ||  Online tutorials ||  Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  SiteMap  ||  Expeditor Tutorial  ||  FILE-AID Tutorial  ||  Changeman Tutorial  ||  COBOL   ||  DB2   ||  JCL  ||  CICS  ||  VSAM  ||  DB2 Interview Questions ( 110 )   || Simple JCL Tutorials  || JCL Tutorial from MainframeGurukul.com   || Simple JCL Tutorial - Chapter1 ;|| Mainframe Forum - Tutorials  || Mainframe Tutorials

Drona Educational Forums - Mainframe Cobol DB2 CICS Board
Powered by phpBB