On 24/05/2014 7:16 AM, Gerhard Postpischil wrote:
E77F is row 32, position 80 (relative to 1,1)
ISTR that TCAM had some SBA order protocol that was recognized for full
screen admin ("TCAM escape sequences" ??), which was not required in a
VTAM context because of explicit SVC 94 VTAM macros to perform such
functions.
Any truth to this, or did I just make it up?
Anyway, re the OP's concern, the changing font size indicates changing
screen dimensions. Ergo, there are two screen sizes involved (the
primary and the alternate) which are different, and the thing that
expects the larger size gets the error when the terminal is switched to
the smaller size.
I will hazard that the situation is as follows:
1. User logs on to a 32x80 screen, and gets into ISPF or stays at the
READY prompt.
2. User cranks up the full screen app under discussion which issues a
full screen TPUT switching the screen to 24x80.
3. The full screen app terminates leaving the screen in the primary
screen size (24x80).
4. ISPF or the TMP resume control, and a TPUT with an order such as SBA
or RA is issued which is intended to address the highest screen
location. This location is larger than the current screen size and an
error ensues.
The solution?
Put the screen size back to the way it was when the full screen app
received control before terminating.
I am confident that replacing the
STFSMODE OFF
with
STLINENO 1,MODE=OFF
would fix it when the app is running from the READY prompt.
Or at least I would be, except that I now see there is such a macro
listed in the posted code after the STFSMODE ON and before the TPUT
FULLSCR. Since the FM indicates that MODE=OFF is the default for
STLINENO, the app's full screen I/O does NOT operate under VTAM's
(screen) page protection, and the STFSMODE OFF at the end is a no-op.
That is, I conclude that the TPUT FULLSCR altered screen size while in
line mode without telling the TMP.
Naughty, naughty [waving finger in admonishment].
:)
So, simply removing the STLINENO macro may fix it.
Perhaps the next screen management enhancement which could be slated for
this app is to detect that if the screen has 80 columns then avoid any
screen size change at all? (That is, tolerate 80 column screens with
more than 24 lines. If you want to repeat blanks or nulls or any
character to the end of the screen, use RA to location zero - this works
for every screen size.)
Cheers,
Greg
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN