The following program uses the PING command to generate a message with the IP address. The IP address is then extracted from the message text and displayed on screen.
PGM DCL VAR(&SYSNAME) TYPE(*CHAR) LEN(8) DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(100) DCL VAR(&IPADDR) TYPE(*CHAR) LEN(16) DCL VAR(&COMP) TYPE(*CHAR) LEN(12) + VALUE('0123456789. ') DCL VAR(&SPOS) TYPE(*UINT) LEN(2) DCL VAR(&EPOS) TYPE(*UINT) LEN(2) DCL VAR(&LEN) TYPE(*UINT) LEN(2) /* Get the system name */ RTVNETA SYSNAME(&SYSNAME) /* PING with the system name to get message with IP address */ PING RMTSYS(&SYSNAME) RCVMSG MSGTYPE(*INFO) MSG(&MSGDTA) /* Extracts IP address from message... */ /* ...find trailing full stop in message */ CHGVAR VAR(&EPOS) VALUE(%CHECKR('. ' &MSGDTA)) /* Get the system name */ RTVNETA SYSNAME(&SYSNAME) /* PING with the system name to get message with IP address */ PING RMTSYS(&SYSNAME) RCVMSG MSGTYPE(*INFO) MSG(&MSGDTA) /* Extracts IP address from message... */ /* ...find trailing full stop in message */ CHGVAR VAR(&EPOS) VALUE(%CHECKR('. ' &MSGDTA)) /* ...find last piece of message text before ip address */ CHGVAR VAR(&SPOS) VALUE(%CHECKR(&COMP &MSGDTA)) /* ...calc start of ip address */ CHGVAR VAR(&SPOS) VALUE(&SPOS + 2) /* ...IP address */ CHGVAR VAR(&LEN) VALUE(&EPOS - &SPOS + 1) CHGVAR VAR(&IPADDR) VALUE(%SST(&MSGDTA &SPOS &LEN)) SNDUSRMSG MSG(&IPADDR) ENDPGM Download source