zOs/JCL/DB2EXT
$*( create jobs to extract versions and ddl
from all databases
$*)
$=subsys=DBTF
$=toolPref = DSN.TOOLS
$=outPre = A540769.DBEXT.
$=rz £ sysvar(sysnode)
call adrSqlConnect $subsys
$;
$<<[sql
select count(*) cnt, dbname db
from sysibm.systables
where type = 'T'
and not (dbname like 'BJAA%' or dbname like 'BJBA%'
or dbname like 'DSNDB%' or dbname like 'IDT%'
or translate(substr(dbname, 3), ' ', '01234567890') = '')
group by dbname
order by 2 asc
sql call sql 7
$! dx=0
$=jobNo=0
$@for v $@{ dx=dx+1
if dx // 100 = 1 then $@[
$=jobNo £ $jobNo + 1
//A540769E JOB (CP00,KE50),
// 'CATALOG',MSGCLASS=T,TIME=1440,
// NOTIFY=&SYSUID,REGION=0M
//*MAIN CLASS=LOG
$]
$@[
//*** DB2 Catalog Objekte extrahieren für db ${v.DB} with ${v.CNT} TB **
//EXT$(dx$) EXEC PGM=IKJEFT01,DYNAMNBR=100
//STEPLIB DD DISP=SHR,DSN=${toolPref}.${rz}.P0.SGOCLLIB
// DD DISP=SHR,DSN=${toolPref}.${rz}.P0.SADBLLIB
// DD DISP=SHR,DSN=DB2@.${rz}.P0.DSNLOAD
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
DSN SYSTEM($subsys)
RUN PROG(ADB2GEN) PLAN(A72) PARM('/WRTCAT')
END
//ADBPRINT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SQL DD DISP=SHR,DSN=${outPre}DDL(${v.DB})
//CAT DD DISP=SHR,DSN=${outPre}CAT(${v.DB})
//IN DD *
DB2SYS = '$subsys',
DB2ALOC = 'CHSKA000$subsys',
DB2SERV = 'CHSKA000$subsys',
DB2AUTH = 'S100447',
DB2REL = '815',
GENDB = 'Y',
GENTS = 'Y',
GENTABLE = 'Y',
GENVIEW = 'D',
GENINDEX = 'Y',
GENSYN = 'Y',
GENALIAS = 'Y',
GENLABEL = 'Y',
GENCOMM = 'Y',
GENRELS = 'D',
GENTRIG = 'D',
GENSG = 'N',
GRANTDB = 'N',
GRANTTS = 'N',
GRANTTAB = 'N',
GRANTVW = 'N',
GENUDT = 'N',
GENUDF = 'N',
GENSTP = 'N',
GENSEQ = 'N',
GRANTSCH = 'N',
GRANTUDT = 'N',
GRANTUDF = 'N',
GRANTSTP = 'N',
GRANTSEQ = 'N',
GRANTSG = 'N',
NEWDB = '',
NEWTSSG = '',
NEWIXSG = '',
NEWSQLID = '',
NEWSCH = '',
SPCALLOC = 'DEFINED',
DESCRIPT = 'extract db ${v.DB} from $subsys',
TGTDB2 = '815';
TYPE='DB',NAME='${v.DB}';
$]
$}
$>~tmp.jcl(db2exto)
$;
$£ dx 'dbs'
call adrSqlDisConnect
$***out 20080204 15:22:53