1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| /* REXX LISTE VOLSER DEPUIS DCOLLECT SUR QSAM FB 200 */
/* SYSIN DCOLLECT : DCOLLECT OUTFILE(DCOLOUT) VOLUME(*) NODATAINFO */
/* LECTURE SUR DD DCOLIN, ECRITURE SUR DD DCOLOU */
J1 = 0
'EXECIO * DISKR DCOLIN (STEM TAB. FINIS'
IF RC > 0 THEN EXIT RC
DO I1 = 1 TO TAB.0
IF SUBSTR(TAB.I1,5,1) = 'V' , /* RECORD TYPE V = VOLUME */
& SUBSTR(TAB.I1,32,1) = '00'X THEN DO /* VOLUME NON EN ERREUR */
VOLSER = SUBSTR(TAB.I1,25,6)
FLAGI = SUBSTR(TAB.I1,31,1) /* VTOC INDEX */
DEVICE = SUBSTR(TAB.I1,69,8)
DEVICENUM = C2X(SUBSTR(TAB.I1,77,2))
SGNAME = SUBSTR(TAB.I1,83,10)
PCTFREE = FORMAT(C2D(SUBSTR(TAB.I1,36,1)),3)'% FREE'
KFREE = 'K FREE='FORMAT(C2D(SUBSTR(TAB.I1,37,4)),9)
KALLOC = 'K ALLOC='FORMAT(C2D(SUBSTR(TAB.I1,41,4)),9)
KCAPACITY = 'CAPACITY='FORMAT(C2D(SUBSTR(TAB.I1,45,4)),9)
FRAGIX = 'FRAGIX='FORMAT(C2D(SUBSTR(TAB.I1,49,4)),5)
LARGEXT = '> EXTNT='FORMAT(C2D(SUBSTR(TAB.I1,53,4)),9)
FREEEXT = 'FREE EXTNT='FORMAT(C2D(SUBSTR(TAB.I1,57,4)),7)
FREEDSCB = 'FREE DSCBS='FORMAT(C2D(SUBSTR(TAB.I1,61,4)),7)
FREEVIRS = 'FREE VIRS='FORMAT(C2D(SUBSTR(TAB.I1,65,4)),7)
J1 = J1+1
TAB.J1 = VOLSER DEVICENUM DEVICE SGNAME'-' FRAGIX '-' ,
PCTFREE '-' KCAPACITY '-' KFREE '-' KALLOC '-' ,
LARGEXT '-' FREEEXT '-' FREEDSCB '-' FREEVIRS
END
END
'EXECIO' J1 'DISKW DCOLOU (STEM TAB. FINIS'
EXIT |
Partager