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