I obtain the dataset attributes by using a LISTDSI.
When I take the SYSUSEDPAGES and multiply by 4096, this number falls short of the percent utilized
as present in ISPF option 3.2 (Data Set Information). I assume the difference is the space used by
the PDSE directory, but I still can't get an exact match to the Data Set Information.
The Data Set Information is shown below:
Data Set Information
Command ===>
Data Set Name . . . : DOC.CPI.CTLCARD
General Data Current Allocation
Management class . . : P180Y735 Allocated cylinders : 5
Storage class . . . : NOVIO Allocated extents . : 5
Volume serial . . . : D1ST38 Maximum dir. blocks : NOLIMIT
Device type . . . . : 3390
Data class . . . . . : PDSE
Organization . . . : PO Current Utilization
Record format . . . : FB Used pages . . . . : 751
Record length . . . : 80 % Utilized . . . . : 83
Block size . . . . : 3120 Number of members . : 663
1st extent cylinders: 1
Secondary cylinders : 1
Data set name type : LIBRARY
Creation date . . . : 2008/10/18 Referenced date . . : 2008/11/08
Expiration date . . : ***None***
Command ===>
Data Set Name . . . : DOC.CPI.CTLCARD
General Data Current Allocation
Management class . . : P180Y735 Allocated cylinders : 5
Storage class . . . : NOVIO Allocated extents . : 5
Volume serial . . . : D1ST38 Maximum dir. blocks : NOLIMIT
Device type . . . . : 3390
Data class . . . . . : PDSE
Organization . . . : PO Current Utilization
Record format . . . : FB Used pages . . . . : 751
Record length . . . : 80 % Utilized . . . . : 83
Block size . . . . : 3120 Number of members . : 663
1st extent cylinders: 1
Secondary cylinders : 1
Data set name type : LIBRARY
Creation date . . . : 2008/10/18 Referenced date . . : 2008/11/08
Expiration date . . : ***None***
Here is the information returned from the LISTDSI for the same dataset:
SYSalloc 5
SYSused N/A
SYSUNIT 3390
SYSUNITS CYLINDER
SYSusedpages 751
SYSEXTENTS 5
SYSTRKSCYL 15
SYSBLKSTRK N/A
SYSDSORG PO
SYSBLKSIZE 3120
SYSLRECL 80
SYSPRIMARY 1
SYSSECONDS 1
SYSADIRBLK
SYSUDIRBLK
SYSMEMBERS
SYSused N/A
SYSUNIT 3390
SYSUNITS CYLINDER
SYSusedpages 751
SYSEXTENTS 5
SYSTRKSCYL 15
SYSBLKSTRK N/A
SYSDSORG PO
SYSBLKSIZE 3120
SYSLRECL 80
SYSPRIMARY 1
SYSSECONDS 1
SYSADIRBLK
SYSUDIRBLK
SYSMEMBERS
For this specific example, this dataset's allocation is 75 tracks (5 cylinders * 15 track/cyl).
I calculated the Used Data space as 3,076,096 bytes by multiplying the SYSUSEDPAGES by 4096 (751 * 4096 = 3076096).
Next, I'm assuming that only full block would fit on one track (a block would not be split on
separate tracks), so a maximum of 13 blocks would fit on one track. The track size on a 3390 is
56664 bytes, so 56664 / 4096 = 13.83. Thus 13 blocks fit on one track. The number of bytes in 13 tracks is 53,248 (13 * 4096 = 53248).
So to determine the Number of Used Tracks, I divide the used dataspace (3076096) by the number of
bytes that fit in full blocks on one track (53248). For this data set I calculated this amount to
be 57.77 tracks (3076096 / 53248 = 57.77 tracks). This works out to about 77% used space. However,
the Dataset Information displays 83% utilized.
Even if we add 3 tracks for the directory space (663 members * 256 bytes per member), the percent
used still does not come close to 83%. Here I'm assuming the directory of a PDSE is 256 bytes per
member. This is probably not accurate for PDSE directory entries (this number - 256 - applies to
PDS directories).
Can anyone point me in the right direction to determining the accurate DASD utilization value of a PDSE? How is the % Used on the Data Set Information screen calculated.
Any assistance would be appreciated.
NOTE: I do not have access to SMF data or IPCS, so I'm limited to information that I can capture through standard REXX calls such as LISTDSI and IDCAMS.