
Zitat von
Tabby
kann ich irgendwo auf der AS400 sehen wer per ODBC auf die Daten zugreift?
Hallo,
wenn Du etwas basteln willst, nimm folgendes CL als Grundlage:
Code:
/*-------------------------------------------------------------------*/
/*‚DATENBANK-SERVER SQL EXIT PROGRAM €*/
/*-------------------------------------------------------------------*/
PGM PARM(&STATUS &REQUEST)
DCL VAR(&STATUS) TYPE(*CHAR) LEN(1)
DCL VAR(&REQUEST) TYPE(*CHAR) LEN(2000)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&SERVER) TYPE(*CHAR) LEN(10)
DCL VAR(&FORMAT) TYPE(*CHAR) LEN(8)
DCL VAR(&PKG) TYPE(*CHAR) LEN(10)
DCL VAR(&PKGLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&SQL) TYPE(*CHAR) LEN(512)
DCL VAR(&TEXT) TYPE(*CHAR) LEN(800)
DCL VAR(&TEXT1) TYPE(*CHAR) LEN(75)
DCL VAR(&D) TYPE(*CHAR) LEN(30)
DCL VAR(&DATUM) TYPE(*CHAR) LEN(6)
DCL VAR(&ZEIT) TYPE(*CHAR) LEN(6)
DCL VAR(&MSGQ) TYPE(*CHAR) LEN(10) VALUE(SQLLOGS)
DCL VAR(&MSGQLIB) TYPE(*CHAR) LEN(10) VALUE(QGPL)
DCL VAR(&LOGDAT) TYPE(*CHAR) LEN(8) VALUE(' ')
DCL VAR(&LOGTIM) TYPE(*CHAR) LEN(8) VALUE(' ')
MONMSG MSGID(CPF0000 MCH0000)
CHGJOB JOB(*) LOGCLPGM(*NO)
CHGVAR VAR(&USER) VALUE(%SST(&REQUEST 1 10))
CHGVAR VAR(&SERVER) VALUE(%SST(&REQUEST 11 10))
CHGVAR VAR(&FORMAT) VALUE(%SST(&REQUEST 21 8))
CHGVAR VAR(&PKG) VALUE(%SST(&REQUEST 73 10))
CHGVAR VAR(&PKGLIB) VALUE(%SST(&REQUEST 83 10))
CHGVAR VAR(&SQL) VALUE(%SST(&REQUEST 96 512))
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATUM)
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&ZEIT)
IF COND(&ZEIT *LT '010000') THEN(DO)
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATUM)
ENDDO
CVTDAT DATE(&DATUM) TOVAR(&D) FROMFMT(*SYSVAL) +
TOFMT(*SYSVAL) TOSEP(*SYSVAL)
CVTDAT DATE(&DATUM) TOVAR(&LOGDAT) FROMFMT(*SYSVAL) +
TOFMT(*SYSVAL) TOSEP(*SYSVAL)
CHGVAR VAR(&LOGTIM) VALUE(%SST(&ZEIT 1 2) *CAT ':' +
*CAT %SST(&ZEIT 3 2) *CAT ':' *CAT +
%SST(&ZEIT 5 2))
CHGVAR VAR(&D) VALUE(&D *BCAT %SST(&ZEIT 1 2) *CAT +
':' *CAT %SST(&ZEIT 3 2) *CAT ':' *CAT +
%SST(&ZEIT 5 2))
CHGVAR VAR(&TEXT1) VALUE(&D *BCAT &USER) +
IF COND(&PKG *NE ' ') THEN(CHGVAR VAR(&TEXT1) +
VALUE(&TEXT1 *BCAT &PKGLIB *TCAT '/' +
*TCAT &PKG))
CHGVAR VAR(&TEXT) VALUE(&TEXT1 *BCAT &SQL)
MONMSG MSGID(CPF0000) EXEC(DO)
SNDMSG MSG('!! ADDSQLLOG: ' *TCAT &SQL) TOUSR(QSYSOPR)
ENDPGM
Das Ganze dann in den Exit-Punkt QIBM_QZDA_SQL1
-h
Bookmarks