zOs/REXX/WSHTUT06

$#@
    $@. csvColRdr()
$|
    $@ aDb = '?'
    $= sx = 0
    $@<~wk.jcl(jc)
    $forWith i $@[
        if $db <> '' & aDb <> $db then $@=[
            $@stepFinish
            $@ aDb = $db
            $= sx  =- $sx + 1
//**************** step $sx: db=$db
//S$sx     EXEC PGM=DSNUTILB,
//             PARM='$dbSys,A540769W.FULCOPY'
//SYSPRINT   DD SYSOUT=*
//UTPRINT    DD SYSOUT=*
//SYSUDUMP   DD SYSOUT=*
//SYSTEMPL   DD DSN=$dbSys.DBAA.LISTDEF(TEMPL),DISP=SHR
//SYSIN      DD *
OPTIONS EVENT(ITEMERROR, SKIP)
LISTDEF LST
        $] else $@:[ db =- aDb $]
            if $ts <> '' then $@=[
            INCLUDE TABLESPACE $db.$ts PARTLEVEL $]
        $]
$@stepFinish

$proc $@=/stepFinish/
$@ if $sx < 1 then return
COPY LIST LST COPYDDN(TCOPYD)
    PARALLEL
    SHRLEVEL CHANGE
$/stepFinish/