zOs/JCL/QMW83

$#@
m.dsl.1 = A540769.TSTLE.DBOF.TADM60A1.D14279.T085351
m.dsl.2 = A540769.TSTLE.DBOF.TADM63A1.D14279.T085351
m.dsl.3 = A540769.TSTLE.DBOF.TADM64A1.D14279.T085351
m.dsl.4 = A540769.TSTLE.DBOF.TADM65A1.D14279.T085352
m.dsl.0 = 4
$= ab   = logExTst
$= rz   = RZ2
$= dbSys= DBOF
$= now  = f('%t s')
$<>
$>. fEdit()
$@=/job/
//QMW8300P JOB (CP00,KE50),'DB2 MVEXT',
//         MSGCLASS=E,TIME=1440,
//         NOTIFY=&SYSUID,REGION=0M,SCHENV=DB2
//*MAIN CLASS=P2
//*
//* db2 log Extract ablauf $ab from $rz/$dbSys
//* generated by abub at $now
//*
$do dx=1 to m.dsl.0 $@/table/
    $** .DE0G.TADM60A1.D14107.T080224
    $=iDsn =- strip(m.dsl.dx)
    d1 = right($iDsn, 29)
    tb = substr(d1, 7, 8)
    if \ (abbrev(d1, '.'$dbSys'.') & translate(right(d1, 15),
            , 000000000, 123456789) == '.D00000.T000000') then $@[
         $$ //* bad dsn $iDsn
         iterate
    $] else if tb == 'TADM60A1' then $@[
        $= tb = A540769.TQZ060TIMEOUT
    $] else if tb == 'TADM63A1' then $@[
        $= tb = A540769.TQZ063UOW
    $] else if tb == 'TADM64A1' then $@[
        $= tb = A540769.TQZ064LOCKESCAL
    $] else if tb == 'TADM65A1' then $@[
        $= tb = A540769.TQZ065ABEND
    $] else $@[
         $$- '//* bad tb' tb 'in dsn' $iDsn
         iterate
    $]
    $$- '//*  dsn' $iDsn
    $$- '//*   tb' tb '==>' $tb
    $=iDsn=- m.dsl.dx
    if $rz = sysvar(sysnode) then
        $= csm = $''
    else
        $= csm = SUBSYS=(CSM,'SYSTEM=$rz'),
$@=[
//* ------ load $rz/$dbSys $iDsn
//L$dx    EXEC PGM=DSNUTILB,
//             PARM=(DP4G,'LOA#DELIMITER')
//DSSPRINT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSUDUMP  DD SYSOUT=*
//UTPRINT   DD SYSOUT=*
//SYSOUT    DD SYSOUT=*
//SYSTEMPL  DD DSN=DP4G.DBAA.LISTDEF(TEMPL),DISP=SHR
//IN        DD DISP=SHR,$csm
//            DSN=$iDsn
//SYSIN     DD *
EXEC SQL
   delete from  $tb --  WHERE RZ = '?'
ENDEXEC
LOAD DATA RESUME YES INDDN IN LOG YES
       SHRLEVEL CHANGE
       WORKDDN(TSYUTS,TSOUTS)
     FORMAT DELIMITED COLDEL ','
  INTO TABLE $tb
$]
  if  $tb == 'A540769.TQZ060TIMEOUT'       then $@=[
     ( TIMESTAMP
     , SSID
     , EVENT_TYPE
     , VICTIM_PLAN
     , VICTIM_CORR_ID
     , VICTIM_CONN_ID
     , HOLDER_PLAN
     , HOLDER_CORR_ID
     , HOLDER_CONN_ID
     , REASON_CODE
     , TYPE
     , NAME
     )
EXEC SQL
    delete from $tb n
    where rz = '?'
        and exists (select 1 from $tb a
            where rz = '$rz' and dbSys = '$dbSys'
                and loadDate > current date - 50 days
                and a.timestamp = n.timestamp and a.ssid = n.ssid
                and a.event_type = n.event_type
                and a.victim_corr_id = n.victim_corr_id
                and a.holder_corr_id = n.holder_corr_id
                and a.name = n.name)
ENDEXEC
  $] else if $tb == 'A540769.TQZ063UOW'    then $@=[
     ( TIMESTAMP
     , SSID
     , EVENT_TYPE
     , PLAN_NAME
     , CORRID_ID
     , CONN_ID
     , AUTHID
     , LOGREC
     )
EXEC SQL
    delete from $tb n
    where rz = '?'
        and exists (select 1 from $tb a
            where rz = '$rz' and dbSys = '$dbSys'
                and loadDate > current date - 50 days
                and a.timestamp = n.timestamp and a.ssid = n.ssid
                and a.event_type = n.event_type
                and a.plan_name = n.plan_name
                and a.corrid_id = n.corrid_ID
                and a.logRec = n.logRec)
ENDEXEC
  $] else if $tb == 'A540769.TQZ064LOCKESCAL' then $@=[
     ( TIMESTAMP
     , SSID
     , EVENT_TYPE
     , PLAN_NAME
     , PACKAGE_NAME
     , COLLECTION_ID
     , CORRID_ID
     , CONN_ID
     , RESOURCE
     , LOCK_STATE
     , STATEMENT
     )
EXEC SQL
    delete from $tb n
    where rz = '?'
        and exists (select 1 from $tb a
            where rz = '$rz' and dbSys = '$dbSys'
                and loadDate > current date - 50 days
                and a.timestamp = n.timestamp and a.ssid = n.ssid
                and a.event_type = n.event_type
                and a.plan_name = n.plan_name
                and a.corrid_id = n.corrid_ID
                and a.conn_id   = n.conn_id
                and a.package_name = n.package_name)
ENDEXEC
  $] else if $tb == 'A540769.TQZ065ABEND'  then $@=[
     ( TIMESTAMP
     , SSID
     , EVENT_TYPE
     , CORRID_ID
     , JOBNAME
     , CONN_ID
     , AUTHID
     , ASID
     , TCB
     ,
     )
EXEC SQL
    delete from $tb n
    where rz = '?'
        and exists (select 1 from $tb a
            where rz = '$rz' and dbSys = '$dbSys'
                and loadDate > current date - 50 days
                and a.timestamp  = n.timestamp and a.ssid = n.ssid
                and a.event_type = n.event_type
                and a.jobname    = n.jobname
                and a.corrid_id  = n.corrid_ID
                and a.conn_id    = n.conn_id
                and a.authid     = n.authid  )
ENDEXEC
  $] else                                       $@=[
        implement table $tb in DSN.ABUB.A.SKELS(QMW83)
  $]
$@=[
EXEC SQL
  update $tb
    set rz = '$rz', dbSys = '$dbSys'
    where rz = '?'
ENDEXEC
//       IF L$dx.RUN AND (L$dx.RC = 0 OR L$dx.RC = 4) THEN
//D$dx     EXEC PGM=IEFBR14
//DEL        DD DISP=(OLD,DELETE),$csm
//             DSN=$iDsn
//       ENDIF
$]
$/table/
$/job/