IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

File compare problem


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
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
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 Developer


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

PostPosted: Wed Apr 29, 2009 9:11 pm
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
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 Developer


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

PostPosted: Thu Apr 30, 2009 12:51 am
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: 1702
Location: Australia

PostPosted: Thu Apr 30, 2009 3:58 am
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

Moderator Emeritus


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

PostPosted: Thu Apr 30, 2009 4:43 am
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
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: 2146
Location: At my coffee table

PostPosted: Thu Apr 30, 2009 8:44 pm
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
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

Moderator Emeritus


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

PostPosted: Thu Apr 30, 2009 9:18 pm
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
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 View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 6
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts SFTP Issue - destination file record ... All Other Mainframe Topics 2
Search our Forums:

Back to Top