zOs/JCL/TECSVXBA

//A540769W JOB (CP00,KE50),'DB2 ADMIN',
//         TIME=1440,REGION=0M,CLASS=M1,SCHENV=DB2ALL,
//         MSGCLASS=T,NOTIFY=&SYSUID
//*        delete old dsn
//DEL     EXEC PGM=IEFBR14
//PL        DD DSN=A540769.WORK.TECSVXBA.OUT,DISP=(MOD,DELETE)
//*
//P01     EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSTSPRT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
 DSN SYSTEM(DVBP)
 RUN PROGRAM(DSNTIAUL) PARMS('SQL')
 END
//SYSPUNCH  DD SYSOUT=*
//SYSREC00  DD DSN=*.DEL.PL,
//             SPACE=(TRK,(1,1),RLSE),
//             MGMTCLAS=COM#A013,
//             RECFM=FB,LRECL=80,
//             UNIT=DISK,DISP=(NEW,CATLG)
//SYSIN     DD *
with a as
(  /***** select segment from txba201 */
  select enStorAr n , right('000' || enSeg, 3) seg
    from bua.txba201 a
    group by enStorAr, enSeg
)
, b as
( /***** exclude txbi003 */
  select *
    from a
    where not exists (select 1
         from  BUA.TXBI003 i
         where i.storageArea_N = a.n
             and i.segment = a.seg
             and i.partNumber = 1
         )
)
, c as
( /***** compute alpha storage area from numeric */
  select n, seg
       , case when n <= 999 then right('000' || n, 3)
              when n <= 35657                /*  1296 = 36**2 */
                then substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                           , (n + 10998) / 1296 + 1, 1)
                  || substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                           , mod(n + 10998, 1296) / 36 + 1, 1)
                  || substr('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'
                           , mod(n + 10998, 36) + 1, 1)
         end stoAr
    from b
)
, t as
( /***** join sysTables */
  select c.*, t.dbName db, t.tsName ts, t.creator cr, t.name tb
      from c join sysibm.sysTables t
        on left(t.name, 8) = 'XB' || c.stoAr || c.seg
)
, i0 as
( /***** create include statement and row number */
  select '    INCLUDE TABLESPACE '
           || db || '.' || ts || ' PARTLEVEL 1 -- ' || tb li
      , row_number() over(order by db, ts) rn
    from t
)
, i as
( /***** add group number */
  select 1 + floor(rn / 50) gr, rn, li
    from i0
)
, g as
( /***** groups only */
  select gr from i group by gr
)
, ut (gr, rn, li) as
( /***** union all of utility statements */
  select           0   , -5, 'OPTIONS(EVENT ITEMERROR, SKIP)'
      from sysibm.sysDummy1
  /*ion all select 0   , -4, 'OPTIONS PREVIEW'
      from sysibm.sysDummy1 */
  union all select gr  , -1, 'LISTDEF LIST#' ||gr from g
  union all select gr  , rn, li from i
  union all select gr+1, -9
      , 'COPY LIST LIST#' || gr || ' COPYDDN(TCOPYD)' from g
  union all select gr+1, -8
      , '    FULL YES PARALLEL SHRLEVEL CHANGE'       from g
)
select char(value(li, ' -- null'), 80)
   from ut
    order by gr, rn
;
//COPY    EXEC PGM=DSNUTILB,
//             PARM='DVBP,A540769W.COPY'
//SYSPRINT  DD SYSOUT=*
//UTPRINT   DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTEMPL  DD DSN=DVBP.DBAA.LISTDEF(TEMPL),DISP=SHR
//SYSIN     DD DISP=SHR,DSN=*.DEL.PL