Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

以下のライフ・サイクル・イベントが発生すると、JSMADMIN プログラムは CL プログラム JSMADMEXT を呼び出します。

ENTRY

プログラムが開始します。

EXIT

プログラムが正常に終了します。

ERRnnnn

nnnnは、4000で始まる4桁の数字です。
エラーが発生すると、プログラムが終了し、EXITイベントは呼び出されません。

この終了プログラムのソース・コードは、JSMライブラリのQCLSRCに保管されます。

Code Block
/* 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

...