I believe the implicit assumption is that you are using SDB (system determined blocksize) if you are using AVGREC, so that you get decent utilization of DASD tracks. I'm not sure whether allocation does the calculation to actually compute the effective bytes per track for the SDB blocksize or whether it just uses the general SMS assumption that a 3390 track is around 55.3 KiB and that SDB will get you close. You may need to specify enough additional info on the DD (DSORG, RECFM with blocking, LRECL) so that system determined block size can enter the picture. It definitely does not do allocation based on actual blocksize (which in some cases is unknown until OPEN time) -- I have seen cases where programmers slipped up and specified RECFM=F on the DD instead of RECFM=FB with a relatively small LRECL where AVGREC resulted in a grossly under allocated file when allocation assumed SDB track utilization and their small BLKSIZE=LRECL was effectively only utilizing about 2% of the track.

[EMAIL PROTECTED] wrote:
In a recent note, Ron and Jenny Hawkins said:

Date:         Sat, 1 Jul 2006 09:38:04 +0800

I don't see it as counterintuitive at all. My recollection is that AVGBLK as
value for SPACE was around well before the AVGREC parm became available.

        SPACE=(27998,(1000,100)) where 27998 is AVGBLK

A requirement to specify space based on number of records of a given size
was serviced by providing the AVGREC parameter, which acts as a switch to
say that the first value SPACE Parm is AVGREC instead of AVGBLK, and to use
the subparm as a multiplier for primary and secondary space requests.

        SPACE=(1024,(1000,100)),AVGREC=K where 1024 is AVGREC

I've used this rather simple JCL technique for around 10 years. I have
endured nothing because it such a damn easy thing to use.

However, I do like the suggestion to use K and M shorthand for the Space
subparms, but don't you think that a switch would still be required to have
the first subparm interpreted as AVGBLK or AVGREC?

I'm still trying to grasp what records, or their size, means to
allocation.  I thought records come into play only later, at access
method time.  So, I tried an experiment:

    //
    //SIZES     JOB  'Account','Paul Gilmartin',
    // MSGLEVEL=(1,1),REGION=0M
    //*
    //* Test various suboptions of SPACE=
    //*
    //USERC    OUTPUT JESDS=ALL,DEFAULT=YES,
    //  CLASS=R,PAGEDEF=V0648Z,CHARS=GT12
    //*
    //DOIT     PROC
    //*
    //ALC      EXEC  PGM=IEFBR14
    //SYSUT1    DD   DISP=(MOD,CATLG),UNIT=SYSALLDA,
    //  SPACE=(10000,&NUM)&AVG,DSN=&SYSUID..AVGALC&SUF
    //*
    //GEN      EXEC  PGM=IEBGENER
    //SYSPRINT  DD   SYSOUT=(,)
    //SYSIN     DD   DUMMY
    //SYSUT2    DD   DISP=(MOD,CATLG),UNIT=SYSALLDA,
    //  SPACE=(10000,&NUM)&AVG,DSN=&SYSUID..AVGGEN&SUF
    //SYSUT1    DD   DISP=SHR,DSN=SYS1.MACLIB(GIMZPOOL)
    //*
    //DOIT     PEND
    //*
    //NONE     EXEC  DOIT,NUM=1024,AVG=,SUF=N
    //UNIT     EXEC  DOIT,NUM=1024,AVG=',AVGREC=U',SUF=U
    //KIBI     EXEC  DOIT,NUM=1,AVG=',AVGREC=K',SUF=K
    //*
    //*  :w ! submit

...

-- gil


--
Joel C. Ewing, Fort Smith, AR        [EMAIL PROTECTED]

----------------------------------------------------------------------
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