Need some help with ICETOOL. Is it possible to do a 1:1 
copy of a data set and at the same pass through the input 
count the number of record which match a certain criterion?
RC=12 shall be set if a certain number is exceeded.

Here is what I've tried:

//TOOLIN   DD *                    
    COPY FROM(INP01) TO(OUT01)     
    COUNT FROM(INP01) USING(DD01) HIGHER(1000)
/*
//DD01CNTL DD *                    
  INCLUDE COND=(5,3,CH,EQ,C'@#H')  
/*

ICETOOL calls DFSORT twice, so the input is read twice.

Another way I've found is using a intermediate data set
containing the records to be counted:

//TOOLIN   DD *                    
    COPY FROM(INP01) USING(DD01)
    COUNT FROM(TEMP) HIGHER(1000)
/*
//DD01CNTL DD *                    
  OUTFIL FNAMES=OUT01,INCLUDE=ALL
  OUTFIL FNAMES=TEMP,INCLUDE=(5,3,CH,EQ,C'@#H')
/*


Q1: Is there a better was to do this?


We get some EXCP count in the JESYSMSG data set. I'm a bit
astonished to see that it takes some 560+ EXCPs to read the
INP01 data set in the first case and some 800+ EXCPs in the 
second case. The data set contains some 9.3 million records.

Q2: Why is it that OUTFIL needs so many more EXCPs than the
    simple COPY?

Also, filling the output data set requires a much different
number of EXCPs in the two cases (using the same data set
instance in both runs): Some 550+ in the first case and
some 1600+ in the second case.

Q3: Again, how can the big difference be explained?

Peter Hunkeler
CREDIT SUISSE

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to