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