On 03/24/2016 02:35 PM, Dave Salt wrote:
Thanks for the update. I was half expecting something "surprising", but not 
quite THAT surprising!

Dave Salt

SimpList(tm) - try it; you'll get it!

http://www.mackinney.com/products/program-development/simplist.html


Well, here is what ISPF has found out:

ISPF had not fully initialized. It had written the primary panel, and then the user entered TSO ???? where ???? was a rexx to run an application.

The application does a test of variables to determine if the user is using a terminal (or emulation) of at least 32 lines.

The ISPF variable comes back with, in this case, 43 lines (MOD4).

The code then displays the first panel which happens to be designed for a MOD3 (minimum) but is also scrollable because it needed to handle a split screen situation.

The user enters all their stuff, perhaps making two or more passes and then goes out to the rexx code which then does certain validation before putting out a pop-up panel to obtain more data.

The pop-up panel happens to be more than 24 lines but less than 31 lines. ISPF gets quite unhappy at this point, and ABENDs dropping the user into TSO Ready.

What caused this is, the user has specified "DATA" for the terminal characteristics line on the ISPF Settings panel (=0).

Since the user was not displaying data that would cause ISPF to go into ALT mode, the terminal is actually in MOD2 (except for people like me that define the base emulation to be MOD4 or some such).

So the check of zscreend tells us > 30 lines (we also don't accept MOD5 which is 27) and so we eventually lit a match while sitting inside a gasoline tank.

Of course, ISPF says WAD and RFE while dancing all around the fact that the z variables are doing nothing more than parroting the TSO variables.

To test this and see it for yourself, set this up in a REXX and run it:

lines = substr(sysvar('syslterm'),7,2)
SAY "SYSLTERM returned:" lines
ADDRESS ISPEXEC "VGET (ZSCREEND)"
SAY "ZSCREEND contains" zscreend
EXIT 0

So, there is no simple way to detect the problem and fail, as we had been until this situation, but this was the cause.

It is impossible to make anything foolproof, because fools are so ingenious." --Robert Heinlein

Regards,
Steve Thompson

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to