Query Supervisor: QRO hash: 23EFD51C, plan ID: 4344, threshold value: 30, type: ELAPSED TIME
CALL QSYS2.DUMP_PLAN_CACHE(
FILESCHEMA => '<your library>',
FILENAME => '<your filename>',
PLAN_IDENTIFIER => 4344)
Application information: Application: RSEUTAB_RESET Program: <context><trans></trans><main>RSEUTAB_RESET</main><program>RSEUTAB_RESET</program><cont>23</cont></context> User: JOHNDOE
How do you activate the Query Supervisor to use your program? First, you need to register the program as an exit program for the new exit point QIBM_QQQ_QRY_SUPER. There can be multiple programs, and they are executed in the order that you specify. The command to register your program is:
ADDEXITPGM EXITPNT(QIBM_QQQ_QRY_SUPER) FORMAT(QRYS0100) PGMNBR(*LOW)
PGM(<your library>/<your program>) THDSAFE(*YES)
TEXT('Query Supervisor send QSYSOPR message')
CPU TIME | The total processing unit time used by the query, in seconds. |
ELAPSED TIME | The total clock time, in seconds. |
TEMPORARY STORAGE | The amount of storage, in megabytes (MB), that the query uses. |
TOTAL IO COUNT | The total number of I/O operations. |
CALL QSYS2.ADD_QUERY_THRESHOLD( THRESHOLD_NAME => 'MAXTIME',
THRESHOLD_TYPE => 'ELAPSED TIME',
THRESHOLD_VALUE => 30,
LONG_COMMENT => 'Elapsed time > 30 secs for all jobs')
PGM PARM(&QRYS0100 &RC)
DCL VAR(&QRYS0100) TYPE(*CHAR) LEN(8192)
DCL VAR(&RC) TYPE(*INT) LEN(4)
DCL VAR(&MSGLEN) TYPE(*INT) LEN(2)
DCL VAR(&MSGTXT) TYPE(*CHAR) LEN(1022)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(1024)
DCL VAR(&LOWWORD) TYPE(*UINT) LEN(4)
DCL VAR(&HIGHWORD) TYPE(*INT) LEN(4)
DCL VAR(&HIGHWORDU) TYPE(*UINT) LEN(4)
DCL VAR(&MAXINT) TYPE(*DEC) LEN(15 0) +
VALUE(4294967296)
DCL VAR(&QROHASH) TYPE(*CHAR) LEN(8)
DCL VAR(&PLANID) TYPE(*DEC) LEN(15 0)
DCL VAR(&THRESHTYPE) TYPE(*CHAR) LEN(30)
DCL VAR(&THRESHVAL) TYPE(*DEC) LEN(15 0)
DCL VAR(&OFSCLNTAPP) TYPE(*INT) LEN(4)
DCL VAR(&LENCLNTAPP) TYPE(*INT) LEN(4)
DCL VAR(&OFSCLNTPGM) TYPE(*INT) LEN(4)
DCL VAR(&LENCLNTPGM) TYPE(*INT) LEN(4)
DCL VAR(&OFSCLNTUSR) TYPE(*INT) LEN(4)
DCL VAR(&LENCLNTUSR) TYPE(*INT) LEN(4)
MONMSG MSGID(CPF0000)
CHGVAR VAR(&RC) VALUE(0)
/* General information about query and threshold: */
CHGVAR VAR(&QROHASH) VALUE(%SST(&QRYS0100 59 8))
CHGVAR VAR(&HIGHWORDU) VALUE(%BINARY(&QRYS0100 67 4))
CHGVAR VAR(&LOWWORD) VALUE(%BINARY(&QRYS0100 71 4))
CHGVAR VAR(&PLANID) VALUE(%DEC(&HIGHWORDU 15 0) * +
&MAXINT + %DEC(&LOWWORD 15 0))
CHGVAR VAR(&THRESHTYPE) VALUE(%SST(&QRYS0100 135 30))
CHGVAR VAR(&HIGHWORD) VALUE(%BINARY(&QRYS0100 165 4))
CHGVAR VAR(&LOWWORD) VALUE(%BINARY(&QRYS0100 169 4))
CHGVAR VAR(&THRESHVAL) VALUE(%DEC(&HIGHWORD 15 0) * +
&MAXINT + %DEC(&LOWWORD 15 0))
CHGVAR VAR(&MSGTXT) VALUE('Query Supervisor: QRO +
hash:' *BCAT &QROHASH *TCAT ', plan ID:' +
*BCAT %CHAR(&PLANID) *TCAT ', threshold +
value:' *BCAT %CHAR(&THRESHVAL) *TCAT ', +
type:' *BCAT &THRESHTYPE)
CHGVAR VAR(&MSGLEN) VALUE(%LEN(&MSGTXT))
CHGVAR VAR(%BINARY(&MSGDTA 1 2)) VALUE(&MSGLEN)
CHGVAR VAR(&MSGDTA) VALUE(&MSGDTA *TCAT &MSGTXT)
SNDPGMMSG MSGID(SQL7064) MSGF(QSQLMSG) MSGDTA(&MSGDTA) +
TOMSGQ(*SYSOPR)
/* Information about SAP ABAP program and user: */
CHGVAR VAR(&OFSCLNTAPP) VALUE(%BINARY(&QRYS0100 199 4))
CHGVAR VAR(&LENCLNTAPP) VALUE(%BINARY(&QRYS0100 203 4))
CHGVAR VAR(&OFSCLNTPGM) VALUE(%BINARY(&QRYS0100 207 4))
CHGVAR VAR(&LENCLNTPGM) VALUE(%BINARY(&QRYS0100 211 4))
CHGVAR VAR(&OFSCLNTUSR) VALUE(%BINARY(&QRYS0100 215 4))
CHGVAR VAR(&LENCLNTUSR) VALUE(%BINARY(&QRYS0100 219 4))
IF COND(&LENCLNTAPP *GT 0 *OR &LENCLNTPGM *GT 0 +
*OR &LENCLNTUSR *GT 0) THEN(DO)
CHGVAR VAR(&MSGTXT) VALUE('Application information:')
IF COND(&LENCLNTAPP *GT 0) THEN(DO)
CHGVAR VAR(&OFSCLNTAPP) VALUE(&OFSCLNTAPP + 1)
CHGVAR VAR(&MSGTXT) VALUE(&MSGTXT *BCAT +
'Application:' *BCAT %SST(&QRYS0100 +
&OFSCLNTAPP &LENCLNTAPP))
ENDDO
IF COND(&LENCLNTPGM *GT 0) THEN(DO)
CHGVAR VAR(&OFSCLNTPGM) VALUE(&OFSCLNTPGM + 1)
CHGVAR VAR(&MSGTXT) VALUE(&MSGTXT *BCAT 'Program:' +
*BCAT %SST(&QRYS0100 &OFSCLNTPGM +
&LENCLNTPGM))
ENDDO
IF COND(&LENCLNTUSR *GT 0) THEN(DO)
CHGVAR VAR(&OFSCLNTUSR) VALUE(&OFSCLNTUSR + 1)
CHGVAR VAR(&MSGTXT) VALUE(&MSGTXT *BCAT 'User:' +
*BCAT %SST(&QRYS0100 &OFSCLNTUSR +
&LENCLNTUSR))
ENDDO
CHGVAR VAR(&MSGDTA) VALUE(' ')
CHGVAR VAR(%BINARY(&MSGDTA 1 2)) VALUE(&MSGLEN)
CHGVAR VAR(&MSGDTA) VALUE(&MSGDTA *TCAT &MSGTXT)
SNDPGMMSG MSGID(SQL7064) MSGF(QSQLMSG) MSGDTA(&MSGDTA) +
TOMSGQ(*SYSOPR)
ENDDO
ENDPGM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
13 | |
10 | |
10 | |
7 | |
6 | |
5 | |
5 | |
5 | |
4 | |
4 |