You're missing an allowance for an inter-block gap.

On Thu, 24 Nov 2022 at 16:14, John Gateley <[email protected]> wrote:

> The reason for asking the question about bytes on a track is that I am
> writing programs to report on all disk datasets.
> The first program looks at all on-line disk packs and extracts all format
> 1, 3, 8 and 9 DSCBs while also providing a summary of space available/used
> on each disk (similar to VTOC on CBT file 112).
> The second program produces information for all datasets. If the secondary
> allocation is in blocks then that means the primary was also and I want to
> output the allocation like this BLK(00060,00020).
> To do this I subtract the block size from 56664 repeatedly until the
> remainder is less than the block size which gives me the number of blocks
> in a track, multiply this by the primary allocation in tracks should give
> me the figure I want.
> Except it doesn't.
>
> For the format 1 DSCB below ISPF 3;4 reports BLK(00060,00020) and my
> program BLK(00072,00020).
> With a blocksize of 3120 there are 18 blocks per track and 4 tracks are in
> use. 3 of them must be full so that gives 54 blocks meaning there are only
> 6 on the final track.
>
> The dataset is not extended format, PDSE, HFS or VSAM so I think I need to
> look at DS1TRBAL, I subtracted 32266 from 56664 and worked out how many
> blocks would fit, I get 7 not 6.
>
> Alternatively, if I use 55996 I get 17 blocks per track meaning there are
> 9 on the last track and I get 7.
>
> I'm obviously missing something, and I am hoping someone can tell me what?
>
> DS1DSNAM  DSN1.SRCLIB.DATA
> DS1FMTID  1
> DS1DSSN   DB2C06
> DS1VOLSQ  0001
> DS1CREDT  78003A
> DS1EXPDT  000000
> DS1NOEPV  01
> DS1NOBDB  00
> DS1FLAG1  00
> DS1SYSCD  IBMOSVS2
> DS1REFD   7A0148
> DS1SMSFG  80
> DS1SCXTF  80
> DS1SCXTV  0FA0                4000
> DS1DSORG  0200
> DS1RECFM  90
> DS1OPTCD  00
> DS1BLKL   0C30
> DS1LRECL  0050
> DS1KEYL   00
> DS1RKP    0000
> DS1DSIND  80
> DS1SCAL1  50
> DS1SCAL3  000014
> DS1LSTAR  000015
> DS1TRBAL  7E0A                32266
> DS1TTTHI  00
> DS1EXT1   0100000C000B000C000E
> DS1EXT2   00000000000000000000
> DS1EXT3   00000000000000000000
> DS1PTRDS  0000000000
>
> Data Set Name . . . . : DSN1.SRCLIB.DATA
>
> General Data                          Current Allocation
>  Management class . . :                Allocated blocks  . : 60
>  Storage class  . . . :                Allocated extents . : 1
>   Volume serial . . . : DB2C06         Maximum dir. blocks : 20
>   Device type . . . . : 3390
>  Data class . . . . . :
>   Organization  . . . : PO            Current Utilization
>   Record format . . . : FB             Used blocks . . . . : 7
>   Record length . . . : 80             Used extents  . . . : 1
>   Block size  . . . . : 3120           Used dir. blocks  . : 1
>   1st extent blocks . : 60             Number of members . : 0
>   Secondary blocks  . : 20
>   Data set name type  : PDS           Dates
>   Data set encryption : NO             Creation date . . . : 2020/02/27
>                                        Referenced date . . : 2022/11/24
>                                        Expiration date . . : ***None***
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to