File Comparison using ICETOOL



IBM's flagship sort product DFSORT for sorting, merging, copying, data manipulation and reporting. Includes ICETOOL and ICEGENER

File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 4:37 pm

I'm trying to code a program which compares two sorted PS files having Record Count: 4000000, Record Length: 7000, Record Format: FB and prints non-matching records in a third file. This is the JCL I'm using:

//STEP1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//SORTIN DD DSN=PXXXX.SORT1.PS,
// DISP=SHR
// DD DSN=PXXXX.SORT2.PS,
// DISP=SHR
//OUTPUT DD DSN=PXXXX.MISMATCH.PS,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(CYL,(500,500),RLSE),UNIT=(DPERM,9),
// BLKSIZE=0,RECFM=FB,LRECL=7000,
// DATACLAS=COMPRESS
//DFSPARM DD *
OPTION DYNALLOC=(SYSDA,70),AVGRLEN=7000
/*
//TOOLIN DD *
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,3000,CH) NODUPS
/*

Using this JCL I am able to compare only first 3000 bytes of records. I need to compare whole record(7000 bytes).


When the control card is like this:
//TOOLIN DD *
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,7000,CH) NODUPS
/*
It gave this error:
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,7000,CH) NODUPS
                                                                $
ICE619A 0 INVALID LENGTH, FORMAT, OR COMBINATION FOR SELECT OPERATION


So I splitted the control card like this:
//TOOLIN DD *
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,1500,CH) ON(1501,3000,CH) -
ON(3001,4500,CH) ON(4501,6000,CH) ON(6001,7000,CH) NODUPS
/*
It gave this error:
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,1500,CH) ON(1501,3000,CH) -
ON(3001,4500,CH) ON(4501,6000,CH) ON(6001,7000,CH) NODUPS
              $
ICE619A 0 INVALID LENGTH, FORMAT, OR COMBINATION FOR SELECT OPERATION


I came to know that around 4K is the limit of record length. But I needed to compare the whole record(around 7000 bytes). Is there any other option which helps to increase record length limit? Or is there any mistake in my program? Please help me.
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Re: File Comparison using ICETOOL

 

Re: File Comparison using ICETOOL

Postby BillyBoyo » Thu Aug 30, 2012 4:53 pm

You seem to be increasing the lengths as well as the starting positions. Once over 3000....
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 264 times

Re: File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 5:00 pm

No, I'm not increasing starting position. I just want to get whole record from both files to be compared.
It also shows error: END OF FIELD BEYOND MAXIMUM RECORD LENGTH
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Re: File Comparison using ICETOOL

Postby BillyBoyo » Thu Aug 30, 2012 5:05 pm

ON(1,1500,CH)


Here, the 1 is the start position for the comparison and the 1500 is the length.

By this point

ON(6001,7000,CH)


you are trying to compare from start position 6001 for a length of 7000 bytes.

So, 1,1500, 1501,1500, 3001,1500, 4501,1500, 6001,1000
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 264 times

Re: File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 5:13 pm

K, i changed as:
SELECT FROM(SORTIN) TO(OUTPUT) ON(1,1500,CH) ON(1501,1500,CH) -
ON(3001,1500,CH) ON(4501,1500,CH) ON(6001,7000,CH) NODUPS

It showed error:
BLOCKSET REQUIRED BUT COULD NOT BE USED - REASON CODE IS 63
(which is too many on conditions)
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Re: File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 5:33 pm

SELECT FROM(SORTIN) TO(OUTPUT) -
ON(1,1500,1501,1500,3001,1500,4501,1500,6001,904,CH) NODUPS
$
ICE619A 0 INVALID LENGTH, FORMAT, OR COMBINATION FOR SELECT OPERATION
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Re: File Comparison using ICETOOL

Postby BillyBoyo » Thu Aug 30, 2012 5:37 pm

It is an odd sort of a comparison anyway :-)

Have you tried your standard file comparison software at your site? Why is that no use here?

Have you looked at JOINKEYS in Sort?
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 264 times

Re: File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 5:48 pm

SUPERC tool showed timeout error!
And I didnt understood JOINKEYS control card..
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Re: File Comparison using ICETOOL

Postby BillyBoyo » Thu Aug 30, 2012 6:06 pm

Google for "joinkeys compare files" or similar. Compare alongside your documentation. Follow any examples in your documentation.

Get it working in minor (DD * input, a few records) and get to understand it. Then go for one for a test version of your big files.
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 264 times

Re: File Comparison using ICETOOL

Postby thermalchu » Thu Aug 30, 2012 6:24 pm

Ok :)
thermalchu
 
Posts: 38
Joined: Thu Aug 30, 2012 3:47 pm
Has thanked: 0 time
Been thanked: 0 time

Next

Return to DFSORT/ICETOOL/ICEGENER

 


  • Related topics
    Replies
    Views
    Last post