zOs/REXX.O08/LISTDSI
/* rexx
**********************************************************************/
w = sysexec file
rc = listdsi(w)
say 'listDsi rc' rc 'for' w sysdsname
/* if rc ^= 0 then */
say varExp('sysReason sysMsgLvl1 sysMsgLvl2')
say varExp('sysLRecL sysBlkSize sysKeyLen')
say varExp('sysUnit sysTrksCyl sysBlksTrk sysUnits sysUsed')
exit
parse arg dsns
if dsns = '' then
dsns = "'DBOF.MF01A1P.A150A.P0003.D08014.T090323' wk.rexx"
do wx = 1 to words(dsns)
w = word(dsns, wx)
rc = listdsi(w)
say 'listDsi rc' rc 'for' w
if rc ^= 0 then do
say varExp('sysReason sysMsgLvl1 sysMsgLvl2')
end
say varExp('sysLRecL sysBlkSize sysKeyLen')
say varExp('sysUnit sysTrksCyl sysBlksTrk sysUnits sysUsed')
if sysUnits = 'CYLINDER' then
cy = sysUsed
else if sysUnits = 'TRACK' then
cy = sysUsed / sysTrksCyl
else if sysUnits = 'BLOCK' then
cy = sysUsed / sysTrksCyl / sysBlksTrk
else cy = sysUnits '????'
say 'cylinders' cy
end
exit
varExp:
parse arg ggVarExpVars
ggVarExp = ''
do ggVarExpIx = 1 to words(ggVarExpVars)
ggVarExp1 = word(ggVarExpVars, ggVarExpIx)
ggVarExp = ggVarExp ggVarExp1':' value(ggVarExp1)
end
return ggVarExp
endSubroutine varExp