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