This works for me; level='00000004'x name=left(serverName,16) token='00000000000000000000000000000000'x retcode='00000000'x do until retcode = '00000004'x "sleep 2" address LINKPGM "IEANTRT LEVEL NAME TOKEN RETCODE" end
-----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of ITschak Mugzach Sent: Tuesday, March 21, 2023 5:36 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX? It dump the pairs, but you can always use IF and LEAVE... בתאריך יום ג׳, 21 במרץ 2023 ב-19:24 מאת Paul Gilmartin < 0000042bfe9c879d-dmarc-requ...@listserv.ua.edu>: > On Tue, 21 Mar 2023 16:51:17 +0000, Farley, Peter wrote: > > >Great routine ITschak. I made two small improvements to the name and > token displays to better handle binary characters (less than '40'x) in > each part. > > > Judicious use of white space/indention helps/would help legibility. > > Use of PROCEDURE EXPOSE could help robustness. > > Does this actually "check for the existence of a specific name/token pair" > as > the OP requested or merely dump the entire table? Setting a compound > symbol would facilitate the former. > > Was I mistaken about the need to retry in case of concurrent updates? > > > >Updated code for display subroutine: > > > >/* routine to report on name token pairs */ > >Donttp: > >Parse Arg ptr,title > >Say title' level NTTP at 'D2X(ptr) > >eye = Storage(D2X(ptr),4) > >If eye \= 'NTTH' then Do > >Say '** Invalid eye catcher found for NTTP' > >Return > >End > >base = C2D(Storage(D2X(ptr+64),4)) > >Do While base \= 0 > >tcbt = C2X(Storage(D2X(base+4),4)) > >name = Storage(D2X(base+8),16) > >token = C2X(Storage(D2X(base+24),16)) nonprint = > >verify(name,xrange('40'x)) if nonprint = 0 then > > Say 'Name 'name' from 'tcbt > >else do > > name_bin = c2x(substr(name, nonprint)) > > name = substr(name, 1, nonprint - 1)' + "'name_bin'"' > > Say 'Name has binary characters: 'name' from 'tcbt End display = > >X2C(token) > >/* translate out characters between 00 and 3f */ display = > >TRANSLATE(display,,XRANGE(,'3f'x),'.') > >Say ' Token = 'token' ('display')' > >base = C2D(Storage(D2X(base+64),4)) > >End > >Say '' > >Return > > -- > gil > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, send > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN > -- ITschak Mugzach *|** IronSphere Platform* *|* *Information Security Continuous Monitoring for z/OS, x/Linux & IBM I **| z/VM coming soon * ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- This e-mail message has been scanned and cleared by Google Message Security and the UNICOM Global security systems. This message is for the named person's use only. If you receive this message in error, please delete it and notify the sender. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN