zOs/JCL/XBWWWCO

$#@
$*(    generate copy for www tables
            attention db2 utility does NOT like
                listDefs with thousands of parts ||
$*)
$= dbSys = DVBP
call sqlConnect $dbSys
$<>
$>. fEdit('~tmp.jcl(xbwwwCo)')
$<=[
    select t.dbname db, t.tsName ts, s.partitions parts
      from sysibm.systables t join sysibm.sysTableSpace s
          on t.dbName = s.dbName and t.tsName = s.name
      where t.dbname like 'XB%'  and t.type not in ('A', 'V')
          and (t.name like '%WW%' or t.tsname like '%WW%')
      order by t.dbName, t.tsName
$]
$@. sqlRdr()
cTs = 0
cP2  = 0
cPa  = 0
cSt = 0

$| $forWith i $@/forI/
    if cPa + $PARTS > 100 | cSt = 0 then $@[
        if cSt <> 0 then $@[
             $@utilStmt
             cP2 = cP2 + cPa
             $]
        cPa = 0
        if cSt // 80 = 0 then $@=[
           $= jc =- substr(m.ut_alfUc, cSt % 80 + 1, 1)
//A540769$jc JOB (CP00,KE50),'DB2 ADMIN',                               00010002
//         TIME=1440,REGION=0M,CLASS=M1,SCHENV=DB2,                     00020003
//         MSGCLASS=T,NOTIFY=&SYSUID                                    00021002
            $]
        cSt = cSt + 1
        $=cSt =- right(cSt, 4, 0)
        $@=[
//************* $DB.$TS, done $-[cTs$] ts, $-[cP2$] parts
//UT$cSt   EXEC PGM=DSNUTILB,TIME=1440,
//             PARM=(DVBP,'A540769$jc.COPY')
//SYSPRINT   DD SYSOUT=*
//SYSUDUMP   DD SYSOUT=*
//UTPRINT    DD SYSOUT=*
//SYSOUT     DD SYSOUT=*
//SYSTEMPL   DD DSN=DVBP.DBAA.LISTDEF(TEMPL),DISP=SHR
//SYSIN DD *
     --OPTIONS(PREVIEW)
     LISTDEF LST
        $]
        $]
$@=[
         INCLUDE TABLESPACE $DB.$TS PARTLEVEL   -- $PARTS
$]
    cTs = cTs + 1
    cPa = cPa + $PARTS
    $/forI/
$@utilStmt
$proc $@=/utilStmt/
     COPY LIST LST COPYDDN(TCOPYS)
       FULL YES PARALLEL
       SHRLEVEL CHANGE
$/utilStmt/
cP2 = cP2 + cPa
$$ //************* done $-[cTs$] ts, $-[cP2$] parts
say 'cTs='cTs 'parts='cP2
$#out                                              20151203 16:31:39