Robert,
Please open a case via support online and we can dig into TMSGRW for problems in this area. In the meantime here is an EARL program that can report on tape usage and actually print out the BYTES and MB on a tape. It does pick up the data for all of the DSNBs attached to the volume. This looks a little ugly with the sequence numbers not lined up. If you need me to email it to you let me know.
! How much tape data exists in total 00010005
COPY EARLDEFS 00020005
00030005
OPTION OMIT ALL BLANK LINES 00031011
00032011
DEF P_VOL (X 6) = ' ' 'VOLUME' 'SERIAL' 00040005
DEF FIRST_SW (X 1) = ' ' 00050005
00060005
!Defined to display new column headings for FILESEQ and EXPDT fields 00070005
DEF D_FILESEQ (N 5.0) = 0 'FILE' 'SEQ' PIC 'Z9999' 00080005
DEF D_NXTVOL (X 1) = NONE 'N' 'V' 00090005
DEF BYTE_TYPE (X 2) = 'B ' ' ' ' ' 00091007
DEF D_BLKSIZE (N 6.0) = 0 'BLK' 'SIZE' PIC '999999' 00100005
DEF D_BLKCNT (N 10.0) = 0 'BLK' 'COUNT' PIC '9999999999' 00110007
DEF D_BYTESUSED (N 15.0) = 0 PIC 'ZZZZZZZZZZZZ999' 00121009
DEF P_BYTESUSED (N 6.0) = 0 'BYTES' 'USED' PIC 'ZZZ,ZZ9' 00121109
DEF D_BYTESTORED (N 15.0) = 0 PIC 'ZZZZZZZZZZZZ999' 00122009
DEF P_BYTESTORED (N 6.0) = 0 'BYTES' 'STORED' PIC 'ZZZ,ZZ9' 00131009
DEF D_MBYTESUSED (N 10.0) = 0 'BYTES' 'USED' PIC '9999999999' 00140007
DEF D_MBYTESTORED (N 10.0) = 0 'BYTES' 'USED' PIC '9999999999' 00150007
DEF T_BYTES (N 15.0) = 0 PIC 'ZZZ,ZZZ,ZZZ,ZZZ,ZZ9' 00151011
DEF T_MBYTES (N 15.0) = 0 PIC 'ZZZ,ZZZ,ZZZ,ZZZ,ZZ9' 00152011
DEF T_MBYTESTORED (N 15.0) = 0 PIC 'ZZZ,ZZZ,ZZZ,ZZZ,ZZ9' 00153011
00154005
SET TYPRUN = R_CHAINED 00155005
SET DATE_FMT = 'DDMMM,YYYY' 00156005
00157005
00158005
GOTO EOJ TAPEDB = 'E' 00159005
GET TAPEDB 00160005
00170005
! Skip DSNB records on the Free-Chain (un-used DSNB's) 00180005
IF ACTIND = 'N' AND CURDSNB > 0 00190005
THEN GOTO START 00200005
ENDIF 00210005
00220005
IF SCRATCH_IND = 'Y' 00230005
THEN GOTO START 00240005
ENDIF 00250005
00260005
CONTINUE: 00270005
! This section simply sets the run-date and time for the report 00280005
IF FIRST_SW = ' ' 00290005
THEN SET FIRST_SW = '*' 00300005
SET FUNCTION = 'RETURN_DATE' 00310005
CALL CTSEDATE USING FUNCTION,RUNDATE,RUNTIME 00320005
SET FUNCTION = 'TO_EXPLODED' 00330005
CALL CTSEDATE USING FUNCTION,P_EXP_DATA,RUNDATE 00340005
ENDIF 00350005
00360005
! These calls set the expiration date and create date to print format 00370005
SET FUNCTION = 'TO_EXTERNAL' 00380005
CALL CTSEDATE USING FUNCTION,P_CDATE,CDATE,DATE_FMT 00390005
00400005
! This sets the FILESEQ to a printable format 00410005
IF FILESEQ >= 0 00420005
THEN SET D_FILESEQ = FILESEQ 00430005
ELSE SET D_FILESEQ = FILESEQ + 65536 00440005
ENDIF 00450005
00460005
IF D_FILESEQ > 1 00470005
SET P_VOL = F1STVSN 00480005
ELSE 00490005
SET P_VOL = VOLSER 00500005
ENDIF 00510005
00520005
! This sets a NEXTVOL indicator if there is a next-volume 00530005
IF NEXTVOL > ' ' 00540005
SET D_NXTVOL = 'Y' 00550005
ELSE 00560005
SET D_NXTVOL = 'N' 00570005
ENDIF 00580005
00590005
! This is the main bytes calculation section; if the Block-Count 00600005
! is zero, then leave it as bytes-used as zero. If the Block-Count 00610005
! is non-zero AND the BLKSIZE is zero - assume 32760 as the BLKSIZE, 00620005
! otherwise take Block-Count times BLKSIZE as the number of bytes. 00630005
SET D_BYTESUSED = 0 00640005
SET D_BYTESTORED = 0 00650005
IF BLKCNT = 0 00660005
THEN SET D_BYTESUSED = 0 00670005
ELSE 00670105
IF BLKSIZE = 0 00670205
SET D_BYTESUSED = BLKCNT*32760 00670307
ELSE 00670405
IF BYTE_PERCENTAGE = 0 00670505
SET D_BYTESUSED = BLKCNT*BLKSIZE 00670607
ELSE 00670705
SET D_BYTESUSED = BLKCNT*BLKSIZE*BYTE_PERCENTAGE/100 00670807
ENDIF 00670905
IF COMPRESSION > 0 00671009
SET D_BYTESTORED = D_BYTESUSED*((100-COMPRESSION)/100) 00671110
ELSE 00671205
SET D_BYTESTORED = D_BYTESUSED 00671305
ENDIF 00671405
ENDIF 00671505
ENDIF 00671605
00671705
00671807
SET D_BLKSIZE = BLKSIZE 00672105
SET D_BLKCNT = BLKCNT 00673005
! 00673107
IF D_BYTESUSED > 999999999 00673207
THEN SET P_BYTESUSED = D_BYTESUSED/1048576 00673307
SET P_BYTESTORED = D_BYTESTORED/1048576 00673407
SET BYTE_TYPE = 'Mb' 00673507
ELSE 00673607
IF D_BYTESUSED > 999999 00673707
THEN SET P_BYTESUSED = D_BYTESUSED/1024 00673807
SET P_BYTESTORED = D_BYTESTORED/1024 00673907
SET BYTE_TYPE = 'Kb' 00674007
ELSE 00674107
SET P_BYTESUSED = D_BYTESUSED 00674207
SET P_BYTESTORED = D_BYTESTORED 00674307
SET BYTE_TYPE = 'B ' 00674407
ENDIF 00674507
ENDIF 00674607
! Set MegaBytes as bytes/1,000,000 (1024 X 1024) 00674711
SET D_MBYTESUSED = D_BYTESUSED/1048576 00674811
SET D_MBYTESTORED = D_BYTESTORED/1048576 00674911
! 00675011
! And print out the headers 00676005
REPORT TITLE @1 P_EXP_DAYNAM @11 ',' @13 P_EXP_MONNAM @24 P_EXP_DD 00676105
@26 ',' @28 P_EXP_YYYY @32 '.' @33 P_EXP_DDD 00677005
@38 TIMEOFREPORT 00678005
@50 COMPANY_NAME @115 'PAGE' @125 PAGENUMBER 00679005
TITLE @1 ' ' 00680005
TITLE @1 'TMS REPORT-TMETPUSE DATA SET NAME SEQUENCE' 00690005
00700005
00710005
SELECT TAPEDB NOT = 'E' 00720005
00730005
CONTROL (CREATE_PROGRAM) CDATE CTIME 00740010
00750005
! Total both the BYTESUSED and the MBYTESUSED fields 00760005
SET(T) T_BYTES = D_BYTESUSED 00770010
SET(T) T_DESCBYTES = ' Total bytes used = ' 00780011
SET(T) T_MBYTES = D_MBYTESUSED 00790010
SET(T) T_DESCMBYTES = ' Total M-Bytes used = ' 00800011
SET(T) T_MBYTESTORED = D_MBYTESTORED 00801011
SET(T) T_DESCMBYTEST = ' Total M-Bytes stored = ' 00802011
00810005
PRINT P_VOL 1 DSN 0 VOLSEQ 0 D_FILESEQ 1 P_CDATE 1 CREATE_PROGRAM 00820005
1 COMPRESSION 1 BYTE_PERCENTAGE 1 D_BLKSIZE 1 00830005
D_BLKCNT 1 P_BYTESUSED 0 BYTE_TYPE 0 P_BYTESTORED 0 BYTE_TYPE 00840009
00850005
PRINT @2 T_DESCBYTES 1 (T_BYTES) 00860011
@43 T_DESCMBYTES 1 (T_MBYTES) 00870011
@87 T_DESCMBYTEST 1 (T_MBYTESTORED) 00871011
00880005
END 00890005
Carolyn Ray CA 1 level 1
Carolyn.Ray@ca.com