Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

SUPERC can be replaced with Icetool ? Faster ?

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
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    Post subject: SUPERC can be replaced with Icetool ? Faster ?
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 Moderator


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

PostPosted: Wed Jan 07, 2009 4:17 am    Post subject:
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    Post subject: Reply to: SUPERC can be replaced with Icetool ? Faster ?
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 Moderator


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

PostPosted: Wed Jan 07, 2009 6:04 am    Post subject:
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    Post subject: Went from an hour to 2 minutes. Woot !
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 Moderator


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

PostPosted: Fri Jan 09, 2009 3:26 am    Post subject:
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    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 Using ICETOOL, how we can seperate th... bshkris SYNCSORT 5 Tue May 09, 2017 8:33 pm
No new posts Group elements using ICETOOL Learncoholic DFSORT/ICETOOL 2 Fri Apr 14, 2017 11:01 am
No new posts Converting decimal to numeric using I... Balaryan DFSORT/ICETOOL 4 Thu Feb 02, 2017 11:27 pm
No new posts How to delete second instance from Fl... Gunapala CN DFSORT/ICETOOL 6 Tue Oct 18, 2016 11:42 pm
No new posts ICETOOL/SYNCSORT - SYSPRINT output nartcr DFSORT/ICETOOL 17 Wed Oct 05, 2016 10:46 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us