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