以下のライフ・サイクル・イベントが発生すると、JSMADMIN プログラムは CL プログラム JSMADMEXT を呼び出します。
ENTRY | プログラムが開始します。 |
EXIT | プログラムが正常に終了します。 |
ERRnnnn | nnnnは、4000で始まる4桁の数字です。 エラーが発生すると、プログラムが終了し、EXITイベントは呼び出されません。 |
この終了プログラムのソース・コードは、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 ENDENDDO IF COND(&EVENT *EQ 'EXIT') THEN(DO) GOTO ENDENDDO IF COND(%SUBSTRING(&EVENT 1 3) *EQ 'ERR') THEN(DO) / *エラー・イベントのログ */ CALLSUBR SUBR(LOGERR) GOTO ENDENDDO /* =================================================================== *//* サブルーチン *//* =================================================================== */ 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 |