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

Reply via email to