zOs/JCL/CARATPRL

$= sub = DBOF
$= cre = OA1P
$= steps  = 2
$;
$@=[
TCT100A1
TCT110A1
TCT111A1
TCT120A1
TCT135A1
TCT141A1
TCT142A1
TCT150A1
TCT152A1
TCT153A1
TCT170A1
TCT200A1
TCT201A1
TCT202A1
TCT203A1
TCT204A1
TCT206A1
TCT207A1
TCT208A1
TCT209A1
TCT210A1
TCT211A1
TCT212A1
TCT213A1
TCT214A1
TCT215A1
TCT216A1
TCT217A1
TCT218A1
TCT220A1
TCT221A1
TCT222A1
TCT230A1
TCT231A1
$*+ TCT233A1
TCT240A1
TCT241A1
TCT242A1
TCT243A1
TCT244A1
TCT250A1
TCT251A1
TCT252A1
TCT253A1
TCT254A1
TCT255A1
TCT256A1
TCT257A1
TCT258A1
TCT259A1
TCT260A1
TCT261A1
TCT262A1
TCT264A1
TCT265A1
TCT266A1
TCT270A1
TCT290A1
TCT291A1
TCT292A1
TCT293A1
TCT300A1
TCT301A1
TCT302A1
$*+ TCT303A1
TCT304A1
TCT305A1
$*+ TCT306A1
TCT308A1
TCT309A1
TCT320A1
TCT340A1
TCT350A1
TCT351A1
TCT353A1
TCT354A1
TCT355A1
TCT356A1
TCT357A1
TCT358A1
TCT359A1
TCT370A1
TCT390A1
TCT400A1
$]
$| $@[
    jNo = 01
    sNo = 0
    $@for tt $@[
        sNo = sNo + 1
        if sNo > $steps then do
            $$- 'eoj' jNo
            jNo = right(jNo + 1, 2, 0)
            sNo = 1
            end
        if sNo = 1 then
            $$- 'job' jNo
        $$ $tt
        $]
        $$- 'eoj' jNo
    $]
$| $@for tt $@[
       $= tt =- strip($tt)
       if abbrev($tt, 'job') then $@=[
           $=jNo =- word($tt, 2)
           $=j = YCARAT$jNo
//$j JOB (CP00,KE50),
//         MSGCLASS=T,TIME=1440,
//         NOTIFY=&SYSUID
//*MAIN CLASS=LOG
//LOAD   EXEC PGM=DSNUTILB,PARM='$sub,$j.UNLOAD'
//SYSMAP   DD SYSOUT=*
//SYSERR   DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//UTPRINT DD SYSOUT=*
//SYSTEMPL  DD DSN=$sub.DBAA.LISTDEF(TEMPL),DISP=SHR
           $]
       else if \ abbrev($tt, 'eoj') then $@=[
           $= tx =- substr($tt, 4, 3)
   TEMPLATE IN$tx  DSN('DSN.CARAT.CT02A1P.A${tx}A.UNL')
 --TEMPLATE TPUN  DSN('DSN.CARAT.&DB..&SN..PUN')

  LOAD DATA        LOG NO RESUME NO REPLACE COPYDDN(TCOPYD)
             STATISTICS INDEX(ALL) REPORT NO UPDATE ALL
   EBCDIC  CCSID(00500,00000,00000)
   SORTKEYS
    ENFORCE NO
    SORTDEVT DISK
    SORTNUM 160
    WORKDDN(TSYUTD,TSOUTD)
    INDDN IN$tx
    INTO TABLE OA1P.TCT${tx}T1
           $@[
               pu = 'DSN.CARAT.CT02A1A.A'${tx}'A.PUN'
               if sysDsn("'"pu"'") \= 'OK' then
                   call err 'missing punch' pu
               st = 0
               $;
               $<-pu
               $@for li $@[
                   if st=0 & abbrev(strip($li), 'INTO TABLE') then
                       st=1
                   else if st=1 then
                       st=2
                   else if st=2 then do
                       et = 'TCT'$tx'A1'
                       if strip($li) \== '"'et'"' then
                           say 'table' strip($li) 'not' et
                       st = 3
                       end
                   else if st=3 then
                       st=4
                   else if st=4 then
                       $$ $li
                   $]
               $]
           $]
       $]
$#out                                              20100315 17:23:06
$#out                                              20100316 10:24:26