No message identifiers are displayed in the output for TSO NETSTAT if the command is issued from an IPv6-enabled stack or if the command is issued from an IPv4-only stack but the request is for a long format display. If you have developed REXX programs that issue Netstat commands under TSO and parse the output lines based on message identifiers, you need to change those REXX programs to use some other token in the output lines to decide the format of the line you are trying to parse.
Link/Intf name =LOOPBACK Bytes in =12387 Bytes out =12387
Link/Intf name =VIPA1 Bytes in =0 Bytes out =0
Link/Intf name =LINKEE Bytes in =0 Bytes out =0
Link/Intf name =TR1 Bytes in =110614 Bytes out =363744
Link/Intf name =VIPLC0A86501 Bytes in =0 Bytes out =0
Link/Intf name =VIPL092A689F Bytes in =0 Bytes out =0
/* REXX */
/* Requires PROFILE MSGID - uses MSGIDs to identify lines */
netstr = 'DEVLINKS'
address TSO "NETSTAT "netstr" STACK"
n = queued()
if n > 0 then do x=1 to n
i = (n-x)+1
pull line.i
end
line.0 = n
do x=1 to line.0
parse upper var line.x msgid t1 t2 t3 t4 .
if msgid = 'EZZ2761I' then do /* MSGID EZZ2761I */
interface = t2
end
if msgid = 'EZZ2820I' then do /* MSGID EZZ2820I */
bytesin = t2
bytesout = t4
st1 = 'Link/Intf name ='||substr(interface,1,18)
st1 = st1||' Bytes in ='||substr(bytesin,1,10)
st1 = st1||' Bytes out ='||substr(bytesout,1,10)
say st1
end
end
exit
/* REXX */
/* Does not require MSGIDs, uses tokens to identify lines */
/* This REXX works with z/OS V1R10 */
netstr = 'DEVLINKS'
address TSO "NETSTAT "netstr" STACK"
n = queued()
if n > 0 then do x=1 to n
i = (n-x)+1
pull line.i
end
line.0 = n
do x =1 to line.0
parse upper var line.x t1 t2 t3 t4 .
if t1 = 'LNKNAME:' | t1 = 'INTFNAME:' then do
interface = t2
end
if t1 = 'BYTESIN' then do
bytesin = t3
end
if t1 = 'BYTESOUT' then do
bytesout = t3
st1 = 'Link/Intf name = '||substr(interface,1,18)
st1 = st1||' Bytes in = '||substr(bytesin,1,10)
st1 = st1||' Bytes out = '||substr(bytesout,1,10)
say st1
end
end
exit