zOs/JCL/QZT01

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

rz = RQ2
dbSys = DBOF
ctrlM = 1
usePlex = 1    $** 1=plex naming convention, 0=rz

rzC =- iiRz2C($rz)
rzP =- iiRz2P($rz)
dbC =- iidbSys2C($dbSys)
m7  =   QZT10$rzP$dbC
j7  =- if($usePlex, QZT100$dbC, $m7)
$;
>. fEdit('dsn.source.tecSv.jcl'$-usePlex'('$-m7'P) ::f')
@/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 CMD',
//             MSGCLASS=E,
//             SCHENV=$dbSys
$]
if $ctrlM then $@=[
//*OMS NET=%%GROUP
//**CONTROL-M-JOB
//* %%GLOBAL GLOBAL
//* %%INCLIB PCL.U0000.P0.RZ2AKT.PERM.@007.JVA  %%INCMEM JOBLRZ2P
//*MAIN CLASS=P2
//* %%SET %%SUBSYS  = $dbSys
$] else $@=[
$]
$@=[
//*
//*       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(${m7}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(${m7}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                                              20141125 13:40:28
$#out                                              20141125 13:39:46
$#out                                              20141125 13:36:55
$#out                                              20141125 13:36:46
$#out                                              20141125 13:36:38
$#out                                              20141125 13:36:30
$#out                                              20141125 13:33:35
$#out                                              20141125 13:32:22