Page History
The JSMPROXY program calls CL program JSMPXYEXT when the following life cycle events occur:
ENTRY | Program starts. |
EXIT | Program finishes successfully. |
ERRnnnn | where nnnn is a 4 digit number starting from 2000. |
The source code for this exit program is stored in QCLSRC in the JSM library.
...
/* JSMPROXY EXIT PROGRAM */
...
PGM PARM(&EVENT &SERVICE &SERVERHOST &REMOTEUSER &REMOTEADDR +
...
...
&DIRECTHOST &HOST &PORT &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(&DIRECTHOST) TYPE(*CHAR) LEN(80)
...
DCL VAR(&HOST)
...
...
TYPE(*CHAR) LEN(80)...
DCL VAR(&PORT)
...
TYPE(*CHAR) LEN(5)
...
DCL VAR(&CONTINUE)
...
...
TYPE(*CHAR) LEN(1)...
DCL VAR(&MESSAGE)
...
TYPE(*CHAR) LEN(256)
...
MONMSG MSGID(CPF0000)
...
IF COND(&EVENT *EQ 'ENTRY') THEN(DO)
...
/* DEFAULT VALUE FOR CONTINUE IS '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)
...
/* LOG ERROR EVENT */
...
CALLSUBR SUBR(LOGERR)
...
GOTO END
...
ENDDO
/* =================================================================== */
...
...
/*
...
SUBROUTINES */
...
/* =================================================================== */...
SUBR SUBR(LOGERR)
...
/* LOG ERROR EVENT */
...
SNDPGMMSG MSG('------- JSMPROXY 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