We support more than 130 remote printers in several locations. The naming conventions for writers and outq's are less than consistent. To make it easier to start these devices, especially when the host iSeries 400 is unattended, we wrote a little CL program called STRPTRS.
A physical file called PRINTERS includes the following information:
A R STRPRTFM A WORKSTN 10A A DEV 10A A OUTQ 10A A FORMTYPE 10A A FILESEP 6A A ALIGN 6A A K WORKSTN
The program is called as part of every sign on where it starts the printer(s) attached to a work station. It may also be called externally with parm 'ALLALLALL ' to start all printers.
PGM PARM(&WSID) DCLF PRINTERS DCL VAR(&WSID) TYPE(*CHAR) LEN(10) IF COND(&WSID *NE 'ALLALLALL ') THEN(GOTO + CMDLBL(ALLLOOP)) OVRDBF FILE(PRINTERS) POSITION(*KEYAE 1 STRPRTFM + &WSID) LOOP: RCVF MONMSG MSGID(CPF0864) EXEC(RETURN) IF COND(&WORKSTN = &WSID) THEN(RETURN) STRPRTWTR DEV(&DEV) OUTQ(&OUTQ) FORMTYPE(&FORMTYPE) + FILESEP(&FILESEP) ALIGN(&ALIGN) MONMSG MSGID(CPF3310 CPF3347) GOTO LOOP ALLLOOP: RCVF MONMSG MSGID(CPF0864) EXEC(RETURN) STRPRTWTR DEV(&DEV) OUTQ(&OUTQ) FORMTYPE(&FORMTYPE) + FILESEP(&FILESEP) ALIGN(&ALIGN) MONMSG MSGID(CPF3310 CPF3347) GOTO ALLLOOP ENDPGM
MORE INFORMATION ON THIS TOPIC
The Best Web Links: tips, tutorials and more.
Ask your systems management questions--or help out your peers by answering them--in our live discussion forums.
Ask the Experts yourself: Our systems management gurus are waiting to answer your technical questions.