以下のライフ・サイクル・イベントが発生すると、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(45)
DCL VAR(&CONTINUE) TYPE(*CHAR) LEN(1)
DCL VAR(&MESSAGE) TYPE(*CHAR) LEN(256)
MONMSG MSGID(CPF0000)
IF COND(&EVENT *EQ 'ENTRY') THEN(DO)
/* CONTINUE のデフォルト値は 'Y' */
/* CHGVAR VAR(&CONTINUE) VALUE('N') */
/* CHGVAR VAR(&MESSAGE) VALUE('I do not know you') */
GOTO END
ENDDO
IF COND(&EVENT *EQ 'EXIT') THEN(DO)
GOTO END
ENDDO
IF COND(%SUBSTRING (&EVENT 1 3) *EQ 'ERR') THEN(DO)
/*エラー・イベントのログ */
CALLSUBR SUBR(LOGERR)
GOTO END
ENDDO
/* =================================================================== */
/* サブルーチン */
/* =================================================================== */
SUBR SUBR(LOGERR)
/*エラー・イベントのログ */
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('------------------------------')
ENDSUBR
END: ENDPGM |