Getting ip address from AS400 output queue

Alok Mishra

Member
I have thousands of virtual printer writers setup in AS400 in qgpl library for JDE printing.I want to extract ip address of all those writers for monitoring purpose.Is there a way to get ip information from AS400 ?
(For individual I go to the output queue and get ip address from description)
 
<font class="small">Code:</font><hr /><pre> PGM PARM(&DEVD)

DCL VAR(&DEVINFO) TYPE(*CHAR) LEN(1599)
DCL VAR(&LENVAR) TYPE(*DEC) LEN(4 0) VALUE(1599)
DCL VAR(&LENVARBIN) TYPE(*CHAR) LEN(4) +
VALUE(X'00000000')
DCL VAR(&FRMT) TYPE(*CHAR) LEN(8) VALUE('DEVD1100')
DCL VAR(&DEVD) TYPE(*CHAR) LEN(10)
DCL VAR(&MSG) TYPE(*CHAR) LEN(60)
DCL VAR(&ERRCDE) TYPE(*CHAR) LEN(32)
DCL VAR(&IPADDR) TYPE(*CHAR) LEN(15)
DCL VAR(&CLASS) TYPE(*CHAR) LEN(4)
DCL VAR(&OFFSET) TYPE(*DEC) LEN(4 0)

CHGVAR VAR(%BIN(&LENVARBIN)) VALUE(&LENVAR)
CALL PGM(QDCRDEVD) PARM(&DEVINFO &LENVARBIN &FRMT +
&DEVD &ERRCDE)
MONMSG MSGID(CPF2702) EXEC(GOTO CMDLBL(NODEV))
/* OS BUG? OFFSET VARIABLE CONTAINS INVALID DATA AFTER API CALL: */
CHGVAR VAR(&OFFSET) VALUE(0)
CHGVAR VAR(&CLASS) VALUE(%SST(&DEVINFO 153 4))
IF COND(&CLASS *EQ '*VRT') THEN(CHGVAR +
VAR(&OFFSET) VALUE(1405))
IF COND(&CLASS *EQ '*LAN') THEN(CHGVAR +
VAR(&OFFSET) VALUE(1065))
IF COND(&OFFSET *EQ 0) THEN(GOTO CMDLBL(NODEV))
CHGVAR VAR(&IPADDR) VALUE(%SST(&DEVINFO &OFFSET 15))
CHGVAR VAR(&MSG) VALUE('The IP address for printer ' +
*CAT &DEVD *TCAT ' is: ' *CAT &IPADDR)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&MSG) +
TOPGMQ(*PRV) MSGTYPE(*ESCAPE)
GOTO CMDLBL(END)
NODEV:
CHGVAR VAR(&MSG) VALUE(&DEVD *BCAT 'NOT A KNOWN +
DEVICE, OR NOT SUPPORTED!')
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA(&MSG) +
TOPGMQ(*PRV) MSGTYPE(*ESCAPE)
END:
ENDPGM </pre><hr />
 
Back
Top