IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Break Auto update screen without message


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
packerm

New User


Joined: 15 Jan 2016
Posts: 7
Location: uk

PostPosted: Wed Oct 03, 2018 2:44 pm
Reply with quote

Hi

There are various topics about ISPF screens that auto update and how to use ATTN to "break in" to the screen.

We have a panel that is invoked from REXX and we are trying to introduce an auto update function. Two main questions we're struggling with

Is the ATTN key the only way of breaking the loop. I'm assuming the answer to this is yes as there doesn't seem to be a way to allow the user to key a keyword that can then be picked up in the code, e.g. "quit"?

If we have to use the ATTN key how do we supress the "HI TO END..." message that comes out? I assume this must be possible as SDSF manages it OK but maybe that's not using REXX??

We have tried playing with "signal on halt" to try and capture the ATTN but you still get the HI TO END message.

Extract from code is case it helps

do i = 1 to cycle
TC = i
cyclem = 'In auto update mode. Updating every' interval,
'seconds. Cycle' i 'of' cycle
"CONTROL DISPLAY LOCK"
"DISPLAY PANEL(MAGTAC1)"
"VGET (ZCMD) PROFILE"
if zcmd = 'Q' then signal redisp
LOITER = Opswait(interval)
call GetAllSum
timen = TIME()
end

Please use the code tags when presenting code/data/anything requiring fixed format. I have done it for you this time (below). Note the differences.
Code:
do i = 1 to cycle                                         
   TC = i                                                 
   cyclem = 'In auto update mode. Updating every' interval,
   'seconds. Cycle' i 'of' cycle                           
   "CONTROL DISPLAY LOCK"                                 
   "DISPLAY PANEL(MAGTAC1)"                               
   "VGET (ZCMD) PROFILE"                                   
   if zcmd = 'Q' then signal redisp                       
   LOITER = Opswait(interval)                             
   call GetAllSum                                         
   timen = TIME()                                         
end
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Wed Oct 03, 2018 9:31 pm
Reply with quote

Not in REXX, or at least not without writing an attention routine. But CLIST can handle attentions, so the following works for me:

REXX code
Code:
  address tso "%ZZXW2"  /* call timer clist */
  if rc<>0 then leave   /* get out of loop  */


CLIST ZZXW2
Code:
PROC 0                 
CONTROL NOPROMPT FLUSH
ATTN EXIT CODE(1)     
WAIT 2                 
EXIT CODE(0)           

This is one of the very few situations where I find that CLIST still has it's use.
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Wed Oct 03, 2018 9:34 pm
Reply with quote

I should perhaps mention that the WAIT program is a local program, but most sites will have a similar one.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
This topic is locked: you cannot edit posts or make replies. how can I proof that message was post... Java & MQSeries 1
No new posts IMS Message : DFS3577A IMS DB/DC 4
No new posts dsnrexx fails without error message CLIST & REXX 9
No new posts Read a flat file and update DB2 table JCL & VSAM 2
No new posts how to update an ISR appl var from an... TSO/ISPF 8
Search our Forums:

Back to Top