PGM
/********************************************************************/
/* The IP address is dynanically assigned when the PC connects to */
/* the AS/400, so this command needs to be run for each session. */
/* */
/* This programs calls a program to get the IP address. */
/* */
/* This program will create or change the writers. */
/* */
/* The PC must be running something to handle LPD. */
/* MochaSoft has software to do this at: */
/* http://www.mochasoft.dk/win95.html#wlpd */
/* */
/********************************************************************/
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&DEVD) TYPE(*CHAR) LEN(10)
DCL VAR(&IP) TYPE(*CHAR) LEN(15)
DCL VAR(&LIBERR) TYPE(*CHAR) LEN(1) VALUE('N')
RTVJOBA JOB(&DEVD) USER(&USER)
ADDLIBLE LIB(QGPL) POSITION(*LAST)
MONMSG MSGID(CPF2103) EXEC(CHGVAR VAR(&LIBERR) VALUE('Y'))
ENDWTR WTR(&USER) OPTION(*IMMED)
MONMSG MSGID(CPF3313 CPF0001)
DLYJOB DLY(3) /* wait for writer to end */
CALL PGM(RTVIPADR) PARM(&DEVD &IP) /* IP ADDRESS OF THE PC/PRTR */
CRTDEVPRT DEVD(&USER) DEVCLS(*VRT) TYPE(3812) MODEL(1) FONT(011)
MONMSG MSGID(CPF261A) /* check if it already exists */
CHGOUTQ OUTQ(&USER) RMTSYS(*INTNETADR) RMTPRTQ(&USER) CNNTYPE(*IP) +
DESTTYPE(*OTHER) TRANSFORM(*NO) INTNETADR(&IP)
STRRMTWTR OUTQ(&USER)
MONMSG CPF3310 /* CHECK IF ALREADY STARTED */
IF COND(&LIBERR *EQ 'N') THEN(RMVLIBLE LIB(QGPL))
/* REMOVE QGPL FROM LIBL IF IT WAS NOT IN IT BEFORE THIS PGM RAN */
ENDPGM
|