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/