zOs/JCL/QZT10

$#:
$**        wsh script fuer CopyArchivierungs Job QZT10??P

rz = RZX
dbSys = DE0G
ctrlM = 0

rzC =- iiRz2C($rz)
dbC =- iidbSys2C($dbSys)
j7 = QZT10$rzC$dbC
$;
$** $>. fEdit('dsn.source.tecSv.jcl('$-j7'P) ::f')
>. fEdit()
@/jcl/
$= rzAkt =- if($rz=RZ1 | $rz = RZ4, $rz, RZ2)'AKT'
if $ctrlM then $@[
    $=cJob= %%JOBNAME
    $=cSpc2= %%#SPC2
    $=cDbSys = %%SUBSYS
    $=cRZ    = RZ%%RZ
$] else $@[
    $=cJob=${j7}P
    $=cSpc2= (CYL,(15,75),RLSE)
    $=cDbSys = $dbSys
    $=cRZ    = $rz
$]
$@=[
//${j7}P JOB (PD00,KE50,,SP00000000),'db2 tecSv copyArc',
//             MSGCLASS=T,CLASS=M1,
//             SCHENV=$dbSys
$]
$@=[
//*
//*       Copy Archivierung fuer $rz/$dbSys
//*
//*------ allocate DSNs + tso fuer Spezielles -----------------------
//P02      EXEC PGM=IKJEFT01,DYNAMNBR=20
//SYSEXEC    DD DSN=DSN.DB2.EXEC,DISP=SHR
//SYSTSPRT   DD SYSOUT=*
//SYSPRINT   DD SYSOUT=*
//DDENV      DD *
    $rz $dbSys COPYARC ${j7}P
//SYSTSIN    DD DISP=SHR,DSN=$dbSys.DBAA.LCTL(${j7}0)
//DDOUT      DD DSN=DSN.ABLF.TECSV.$dbSys.COPYARC.#DT#,
//             DISP=(NEW,CATLG),MGMTCLAS=COM#E012
//TST       DD DSN=DSN.$cJob.TST,
//             DISP=(MOD,CATLG),
//             MGMTCLAS=COM#A092,
//             SPACE=$cSpc2,
//             RECFM=VB
//COPIES    DD DSN=DSN.$cJob.COPIES,
//             DISP=(MOD,CATLG),
//             MGMTCLAS=COM#A092,
//             SPACE=$cSpc2,
//             RECFM=VB
//ALTER     DD DSN=DSN.$cJob.ALTER,
//             DISP=(MOD,CATLG),
//             MGMTCLAS=COM#A092,
//             SPACE=$cSpc2,
//             RECFM=FB,LRECL=80
//ALOUT     DD DSN=DSN.$cJob.ALOUT,
//             DISP=(MOD,CATLG),
//             MGMTCLAS=COM#A092,
//             SPACE=$cSpc2,
//             RECFM=VBA,LRECL=121
//*
// IF P02.RC = 0 THEN
//*
//*------ select from sysIbm.sysCopy ---------------------------------
//P03     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200
//SYSTSIN   DD *
   DSN SYSTEM($cDbSys)
   RUN PROGRAM(DSNTIAUL) PARMS('SQL')
   END
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//SYSPUNCH  DD SYSOUT=*
//SYSIN     DD DSN=$cDbSys.DBAA.LCTL(${j7}1),DISP=SHR
//SYSREC00  DD DSN=DSN.$cJob.TST,DISP=OLD
//SYSREC01  DD DSN=DSN.$cJob.COPIES,DISP=OLD
// ENDIF
//*
// IF P03.RC <= 4 THEN
//*
//*------ generate alter statements ----------------------------------
//P04     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200,
//             PARM=('%DB2COARC $cDbSys GEN')
//SYSIN     DD DUMMY
//SYSTSIN   DD DUMMY
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//SYSPROC   DD DSN=DSN.DB2.EXEC,DISP=SHR
//TST       DD DSN=*.P02.TST,DISP=SHR
//COPIES    DD DSN=*.P02.COPIES,DISP=SHR
//ALTER     DD DSN=*.P02.ALTER,DISP=OLD
// ENDIF
//*
// IF P04.RC = 0 THEN
//*
//*------ execute alter statements -----------------------------------
//P05     EXEC PGM=IDCAMS
//SYSPRINT  DD DSN=*.P02.ALOUT,DISP=OLD
//CEEDUMP   DD SYSOUT=*
//SYSABEND  DD SYSOUT=*
//SYSIN     DD DSN=*.P02.ALTER,DISP=SHR
// ENDIF
//*
// IF P05.ABEND OR P05.RUN THEN
//*
//*------ copy sysPrint to sysOut ------------------------------------
//P06     EXEC PGM=ICEGENER
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=*.P02.ALOUT,DISP=SHR
//SYSUT2    DD SYSOUT=*
// ENDIF
//*
// IF P05.RUN THEN
//*
//*------ check alter's and update table -----------------------------
//P07     EXEC PGM=IKJEFT01,
//             DYNAMNBR=200,
//             PARM=('%DB2COARC $cDbSys check')
//SYSIN     DD DUMMY
//SYSTSIN   DD DUMMY
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//SYSTERM   DD DUMMY
//SYSPROC   DD DSN=DSN.DB2.EXEC,DISP=SHR
//TST       DD DSN=*.P02.TST,DISP=SHR
//ALOUT     DD DSN=*.P02.ALOUT,DISP=SHR
// ENDIF
$]
$/jcl/
$#out                                              20160805 21:48:22
$#out                                              20150429 09:50:48
$#out                                              20140508 09:31:11