4.7.4 JSMADMEXT
以下のライフ・サイクル・イベントが発生すると、JSMADMINプログラムはCLプログラムJSMADMEXTを呼び出します。
ENTRY |
プログラムが開始します。 |
EXIT |
プログラムが正常に終了します。 |
ERRnnnn |
nnnnは、4000で始まる4桁の数字です。 |
この終了プログラムのソース・コードは、JSMライブラリのQCLSRCに保管されます。
/* JSMADMIN終了プログラム*/
PGM PARM(&EVENT &SERVICE &SERVERHOST &REMOTEUSER &REMOTEADDR &CONTINUE &MESSAGE)
DCL VAR(&EVENT) TYPE(*CHAR) LEN(10)
DCL VAR(&SERVICE) TYPE(*CHAR) LEN(30)
DCL VAR(&SERVERHOST) TYPE(*CHAR) LEN(80)
DCL VAR(&REMOTEUSER) TYPE(*CHAR) LEN(30)
DCL VAR(&REMOTEADDR) TYPE(*CHAR) LEN(15)
DCL VAR(&CONTINUE) TYPE(*CHAR) LEN(1)
DCL VAR(&MESSAGE) TYPE(*CHAR) LEN(256)
MONMSG MSGID(CPF0000)
IF COND(%SUBSTRING(&EVENT 1 3) *EQ 'ERR') THEN(DO)
/*エラー・イベントのログを取得する*/
SNDPGMMSG MSG('------- JSMADMIN ERROR -------')
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&EVENT)
SNDPGMMSG MSGID(&EVENT) MSGF(JSMMSGF)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&SERVICE)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&SERVERHOST)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&REMOTEUSER)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&REMOTEADDR)
SNDPGMMSG MSG('------------------------------')
GOTO END
ENDDO
IF COND(&EVENT *EQ 'ENTRY') THEN(DO)
/* CONTINUEの省略値は'Y' */
/* CHGVAR VAR(&CONTINUE)の値('N') */
/* CHGVAR VAR(&MESSAGE)の値('I do not know you') */
GOTO END
ENDDO
IF COND(&EVENT *EQ 'EXIT') THEN(DO)
GOTO END
ENDDO
END: ENDPGM