zOs/SQL/CATDEP
with o (lev, dType, dCreator, dName, bType, bCreator, bName) as 00010000
( select 0, t.type, creator, name, '.', '', t.dbName 00020000
from sysibm.sysTables t 00030000
where t.dbname like 'DSA%' 00040014
union all select o.lev+1, d.dType, d.dCreator, d.dName, 00050000
o.dType, o.dCreator, o.dName 00060000
from o, sysibm.sysviewdep d 00070000
where d.bcreator = o.dCreator and d.bName = o.dName 00080000
and o.lev < 999999 00090000
union all select o.lev+1, a.Type, a.creator, a.name, 00100000
o.dType, o.dCreator, o.dName 00110000
from o, sysibm.systables a 00120000
where a.tbCreator = o.dCreator and a.tbName = o.dName 00130000
and a.type = 'A' and o.lev < 999999 00140000
union all select o.lev+1, 'Y', y.creator, y.name, 00141002
o.dType, o.dCreator, o.dName 00142002
from o, sysibm.sysSynonyms y 00143003
where y.tbCreator = o.dCreator and y.tbName = o.dName 00144002
and o.lev < 999999 00145002
) select 00150013
char(strip(k.dCollid) || '.' || strip(k.dName), 20), 00150408
hex(k.dConToken), 00150510
o.dType, char(strip(o.dCreator) || '.' || strip(o.dName), 30), 00150608
o.bType, char(strip(o.bCreator) || '.' || strip(o.bName), 30), 00151013
q.valid "va", q.operative "op", 00152013
char('or (pck_id = ''' || strip(k.dName) 00153013
|| ''' and PCK_CONSIST_TOKEN = ''' || hex(k.dConToken) 00154013
|| ''')', 70) 00155013
from o 00160000
left join sysibm.syspackdep k 00170006
on k.bQualifier = o.dCreator and k.bName = o.dName 00180007
left join sysibm.syspackage q 00190009
on q.Location = k.dLocation and q.collid = k.dCollid 00200008
and q.name = k.dName and q.conToken = k.dConToken 00210008
where o.dType = 'Y' 00220008