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

SUPERC can be replaced with Icetool ? Faster ?


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Marty Johnson

New User


Joined: 03 Oct 2008
Posts: 11
Location: Boston

PostPosted: Wed Jan 07, 2009 2:52 am
Reply with quote

I did search the Forums !
Need to grab the changes from yesterday.
Have to test the theory for proof and possibly an innovation document.
An example would be great.
Thanks in advance.
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 Jan 07, 2009 4:17 am
Reply with quote

Quote:
Need to grab the changes from yesterday. An example would be great.


Don't you think that's a little vague? An example of what?

ICETOOL is NOT a plug-in for SUPERC. ICETOOL is NOT a compare product. You can do some matching functions with ICETOOL, but you're going to have to specify exactly what it is you want to do before anyone can help you.

Give an example of your input records (relevant fields only) and what you expect for output. Explain the "rules" for getting from input to output. Give the RECFM and LRECL of the input file. Give the starting position, length and format of each relevant field.
Back to top
View user's profile Send private message
Marty Johnson

New User


Joined: 03 Oct 2008
Posts: 11
Location: Boston

PostPosted: Wed Jan 07, 2009 5:30 am
Reply with quote

Thanks for the candor! I will fill in more blanks next time.

We have account records from yesterday and account records from today that some or many of the fields have been changed during the day by the Customer Service Associates. We would like to output only the records that have been changed. Like a line compare report with Superc that flags the changed records with an identifier as described below. The files are FB and the Lrecl is 34.
Currently we are generating a report with Superc and these parameters:

SUPERC EXEC PGM=ISRSUPC,
PARM=(DELTAL,LINECMP,

then we scan the Superc report with SORT and output anything that is tagged as being changed, ie the deltas, with this command:

SORT FIELDS=COPY
INCLUDE COND=(2,3,CH,EQ,C'I -')

We would like to do this in one fell swoop, 1 step. We have many that are like this and will replace with ICETOOL/ICEMAN if performance is improved.

That's what were doing ! Thanks again.

p.s. What is a plugin please. I actually don't know.
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 Jan 07, 2009 6:04 am
Reply with quote

A "plugin" is a product that works exactly like another product with no changes required.

If I run a SUPERC step and your SORT step like this:

Code:

//COMPARE  EXEC PGM=ISRSUPC,PARM=(DELTAL,LINECMP)
//NEWDD DD *
AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCC
AAAAAAAAAAAAAAADDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEE
RRRRRRRRRRRRRRRDDDDDDDDDDDDDFFFFFFFFFFFFFFFFFFFF
//OLDDD DD *
AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCQQQQQQQQQQQCCCCC
AAAAAAAAAAAAAAADDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEE
RRRRRRRRAAARRRRDPPPDDDDDDDDDFFMMMMFFFFFFFFFFFFFF
//OUTDD DD DSN=&&O1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//SYSIN    DD   DUMMY
//S1 EXEC PGM=ICEMAN
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=&&O1,DISP=(OLD,PASS)
//SORTOUT DD SYSOUT=*
//SYSIN DD *
  SORT FIELDS=COPY
  INCLUDE COND=(2,3,CH,EQ,C'I -')
/*


SORTOUT has:

Code:

I - AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCC 
I - RRRRRRRRRRRRRRRDDDDDDDDDDDDDFFFFFFFFFFFFFFFFFFFF 


Assuming you don't need the 'I -' (we could easily add it if it's needed) and that your input files have RECFM=FB and LRECL=80 (the job can be changed appropriately for other attributes), you could get the records that were changed using a DFSORT/ICETOOL job like the following:

Code:

//TOOLSC  EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN1 DD *
AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCC
AAAAAAAAAAAAAAADDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEE
RRRRRRRRRRRRRRRDDDDDDDDDDDDDFFFFFFFFFFFFFFFFFFFF
//IN2 DD *
AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCQQQQQQQQQQQCCCCC
AAAAAAAAAAAAAAADDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEE
RRRRRRRRAAARRRRDPPPDDDDDDDDDFFMMMMFFFFFFFFFFFFFF
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT DD SYSOUT=*
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SELECT FROM(T1) TO(OUT) ON(1,88,CH) NODUPS USING(CTL3)
//CTL1CNTL DD *
  INREC OVERLAY=(81:SEQNUM,8,ZD,89:C'1')
//CTL2CNTL DD *
  INREC OVERLAY=(81:SEQNUM,8,ZD,89:C'2')
//CTL3CNTL DD *
  OUTFIL FNAMES=OUT,INCLUDE=(89,1,CH,EQ,C'1'),BUILD=(1,80)
/*


OUT would have:

Code:

AAAAAAAAAAAAAAABBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCC
RRRRRRRRRRRRRRRDDDDDDDDDDDDDFFFFFFFFFFFFFFFFFFFF


I have no idea if this DFSORT/ICETOOL job would be faster than the SUPERC/SORT job you're using now. The best way to find out is to run them both with your own data and compare the performance based on your own criteria (e.g. CPU time, clock time, EXCPs, etc).
Back to top
View user's profile Send private message
Marty Johnson

New User


Joined: 03 Oct 2008
Posts: 11
Location: Boston

PostPosted: Fri Jan 09, 2009 3:08 am
Reply with quote

We found the following to work to get our deltas (changes). Thank you all very very much for getting us going in the right direction.
Cheers!


Code:

COPY FROM(I1) TO(O1) USING(CTL1)
COPY FROM(I2) TO(O1) USING(CTL2)
SORT FROM(O1) TO(O2) USING(CTL3)
COPY FROM(O2) TO(O3) USING(CTL4)
//CTL1CNTL DD *
  INREC BUILD=(1,34,35:C' 01')
//CTL2CNTL DD *
  INREC BUILD=(1,34,35:C' 02')
//CTL3CNTL DD *
  SORT FIELDS=(01,34,CH,A)
  SUM FIELDS=(36,2,ZD)
//CTL4CNTL DD *
  INCLUDE COND=(36,2,ZD,EQ,1)
  OUTREC BUILD=(1,34)
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: Fri Jan 09, 2009 3:26 am
Reply with quote

Or you could have told me that your input file has RECFM=FB and LRECL=34 and I could have shown you how to adapt the SELECT job I gave you to do the same thing in three passes instead of four passes.

Or you could change your job to use three passes instead of four passes by using an OUTFIL with INCLUDE and BUILD in CTL3CNTL for the SORT operator so you wouldn't need the fourth COPY operator.

But if you want to do it less efficiently, that's your choice.
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 Shift left VB record without x00 endi... DFSORT/ICETOOL 11
No new posts how to calculate SUM value for VB fil... DFSORT/ICETOOL 1
No new posts how to calculate SUM for VB file usin... JCL & VSAM 1
No new posts Null values are considered in Total c... DFSORT/ICETOOL 6
No new posts ICETOOL to Read records SMF CEF it is... DFSORT/ICETOOL 4
Search our Forums:

Back to Top