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
 
File compare problem

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

Active User


Joined: 14 Jul 2005
Posts: 105

PostPosted: Wed Apr 29, 2009 8:32 pm    Post subject: File compare problem
Reply with quote

Dear Experts,
I have to compare two file and write the non matching records in file 3.The two input files are 2000 lenght each.
While runnning this first time with the temp dataset size as 5,5 I got s837 error then I increased the size to 20,20 but I got a retun code of 12 with following msg

Code:

             SELECT    FROM(T1) TO(OUT) ON(1,2000,CH) NODUPS USING(CTL3)     
                                             $                               
ICE619A 0 INVALID LENGTH, FORMAT, OR COMBINATION FOR SELECT   OPERATION
ICE602I 0 OPERATION RETURN CODE:  12   


I am using the following card to get this done but getting the error

Code:

//IN1 DD DSN=file1,DISP=SHR                 
//IN2 DD DSN=file2,DISP=SHR                 
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(20,20)),DISP=(MOD,PASS)     
//OUT DD DSN=output file,DISP=(NEW,CATLG,DELETE),
//       DCB=*.IN1                                                     
//TOOLIN DD *                                                         
COPY FROM(IN1) TO(T1) USING(CTL1)                                     
COPY FROM(IN2) TO(T1) USING(CTL2)                                     
SELECT FROM(T1) TO(OUT) ON(1,2000,CH) NODUPS USING(CTL3)               
/*                                                                     
//CTL1CNTL DD *                                                       
  INREC OVERLAY=(2001:C'1')                                           
/*                                                                     
//CTL2CNTL DD *                                                       
  INREC OVERLAY=(2001:C'2')                                           
/*                                                                     
//CTL3CNTL DD *     
  OUTFIL FNAMES=OUT,INCLUDE=(2001,1,CH,EQ,C'2'),
   BUILD=(1,2000)                               
/*     


There are no specific key for the file hence I want to do the file compare on the full record and the file size is 500 mb.Please suggest whats wrong happening or I need to furnish any more details
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: Wed Apr 29, 2009 9:11 pm    Post subject:
Reply with quote

The limit for the length of a CH ON field is 1500 - that's why you get the error message when you use a length of 2000. You can use two ON fields instead - one with a length of 1500 and the other with a length of 500 like this:

Code:

SELECT FROM(T1) TO(OUT) ON(1,1500,CH) ON(1501,500,CH) -     
  NODUPS USING(CTL3)                                         
Back to top
View user's profile Send private message
raghavmcs

Active User


Joined: 14 Jul 2005
Posts: 105

PostPosted: Thu Apr 30, 2009 12:26 am    Post subject:
Reply with quote

Frank Thanks for your input,I splitted the select as you suggested and it worked.But this time again S837 error occured is there any limit of the team dataset size I can use also Is there any link in terms of whole multipla.I meant is the temp dataset size is linked with the output dataset LRECL?
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: Thu Apr 30, 2009 12:51 am    Post subject:
Reply with quote

I'm not really sure what you're asking. It sounds like the SPACE parameters you used for one of the data sets is too small for the number of records it needs to contain.

The //T1 data set has to be big enough to contain the total of the records from the IN1 and IN2 data sets. The //OUT data set has to be big enough to contain all of the non-duplicate records. The LRECL certainly has an effect on the size of the data sets (a data set with 1000 200-byte records obviously takes less space than a data set with 1000 2000-byte records.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1703
Location: Australia

PostPosted: Thu Apr 30, 2009 3:58 am    Post subject:
Reply with quote

Hi,

can you please post the entire job output.


Gerry
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Apr 30, 2009 4:43 am    Post subject:
Reply with quote

Hello,

Did you get an eight-37 abend or a bee-37 abend? IIRC, an 837 abend is a tape problem. . .

As requested post the actual jcl, the sort control statements, and the abend info including the message id(s) .
Back to top
View user's profile Send private message
raghavmcs

Active User


Joined: 14 Jul 2005
Posts: 105

PostPosted: Thu Apr 30, 2009 8:30 pm    Post subject:
Reply with quote

I am using the following JCL and now this is giving me a return code of 16.
Code:
//IN1 DDDSN=file1(500 mb,copied from tape),DISP=SHR             
//IN2 DD DSN=file2(490 mb,copied from tape).G0081,DISP=SHR             
//T1 DD DSN=DOC.TES,DISP=(MOD,PASS),                               
//             DATACLAS=LARGE,                                     
//             DCB=(RECFM=FBA,LRECL=2000,BLKSIZE=0)               
//OUT DD DSN=output file,DISP=(NEW,CATLG,DELETE),
//             DATACLAS=LARGE,                                     
//             DCB=(RECFM=FBA,LRECL=2000,BLKSIZE=0)               
//TOOLIN DD *                                                     
COPY FROM(IN1) TO(T1) USING(CTL1)                                 
COPY FROM(IN2) TO(T1) USING(CTL2)                                 
SELECT FROM(T1) TO(OUT) ON(1,1500,CH) ON(1501,500,CH) -           
NODUPS USING(CTL3)                                                 
/*                                                                 
//CTL1CNTL DD *                                                   
  INREC OVERLAY=(2001:C'1')                                       
/*                                                                 
//CTL2CNTL DD *                                 
  INREC OVERLAY=(2001:C'2')                     
/*                                               
//CTL3CNTL DD *                                 
  OUTFIL FNAMES=OUT,INCLUDE=(2001,1,CH,EQ,C'2'),
   BUILD=(1,2000)                               
/*                     



The tool syspout is al follows

Code:
ICE630I    0 MODE IN EFFECT:  STOP                                                 
                                                                               
          COPY FROM(IN1) TO(T1) USING(CTL1)                                     
ICE606I 0 DFSORT CALL 0001 FOR COPY FROM IN1      TO T1       USING CTL1CNTL COM
ICE602I 0 OPERATION RETURN CODE:  00                                           
                                                                               
          COPY FROM(IN2) TO(T1) USING(CTL2)                                     
ICE606I 0 DFSORT CALL 0002 FOR COPY FROM IN2      TO T1       USING CTL2CNTL COM
ICE602I 0 OPERATION RETURN CODE:  00                                           
                                                                               
          SELECT FROM(T1) TO(OUT) ON(1,1500,CH) ON(1501,500,CH) -               
          NODUPS USING(CTL3)                                                   
ICE606I 0 DFSORT CALL 0003 FOR SORT FROM T1       TO OUT      USING CTL3CNTL TER
ICE602I 0 OPERATION RETURN CODE:  16                                           
                                                                               
                                                                               
ICE601I 0 DFSORT ICETOOL UTILITY RUN ENDED - RETURN CODE:  16                                           


Please suggest what could be wrong or any more information is needed,thanks
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2150
Location: At my coffee table

PostPosted: Thu Apr 30, 2009 8:44 pm    Post subject:
Reply with quote

16 Unsuccessful completion. DFSORT detected one or more errors that prevented ICETOOL from completing successfully. Messages for these errors were printed in the DFSMSG data set.
Back to top
View user's profile Send private message
raghavmcs

Active User


Joined: 14 Jul 2005
Posts: 105

PostPosted: Thu Apr 30, 2009 9:07 pm    Post subject:
Reply with quote

I got the reason of 16 I was not increasing the lrecl of the work dataset which was supposed to be of 2001 lenght as its not temp and I was defining and using this in program.
Now I am going to check next if I am getting the desired output..,thanks and I am sorry as that was my mistake
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu Apr 30, 2009 9:18 pm    Post subject: Reply to: File compare problem
Reply with quote

Not to worry icon_smile.gif

Good luck - someone will be here if there are questions/problems.

d
Back to top
View user's profile Send private message
Skolusu

Senior Member


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

PostPosted: Thu Apr 30, 2009 9:30 pm    Post subject:
Reply with quote

raghavmcs,

Quote:

//T1 DD DSN=DOC.TES,DISP=(MOD,PASS),
// DATACLAS=LARGE,
// DCB=(RECFM=FBA,LRECL=2000,BLKSIZE=0)


You have a hardcoded LRECL value of 2000 for the temp dataset T1 and you are checking the byte 2001 in CTL3CNTL while writing out. Remove the DCB parameter from JCL for the T1 dataset. DFSORT automatically calculates the DCB parameters.
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 Execute JCL step based on the content... sprikitik JCL & VSAM 2 Tue Oct 03, 2017 10:03 am
This topic is locked: you cannot edit posts or make replies. PS file data should be passed as symb... d_sarlie JCL & VSAM 15 Tue Oct 03, 2017 5:18 am
No new posts Garbage on output file Hervey Martinez SYNCSORT 4 Wed Sep 27, 2017 12:50 am
No new posts File Aid tool to compare numeric data balaji81_k Compuware & Other Tools 2 Tue Sep 26, 2017 3:35 am
No new posts Compare yesterday's date to the one o... migusd SYNCSORT 11 Fri Sep 22, 2017 11:35 pm

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