Article View: bit.listserv.asm370
Article #1633Re: User interface under TSO (was Re: Detecting TSO SM ...)
From: Leonard D Woren
Date: Wed, 01 Apr 1992 02:23
Date: Wed, 01 Apr 1992 02:23
99 lines
5056 bytes
5056 bytes
On Tue, 31 Mar 1992 09:02:00 EST,
"Stephen E. Bacher" <seb1525@MVS.DRAPER.COM> said:
> ...
> Despite occasional pejoratives hurled at ISPF, it's the best way to
> develop a full-screen application for TSO users. Not only is it
> relatively easy to do, but it'll work compatibly with most other
> full-screen applications - most people have more than one task to
> perform at the same time. On the other hand, if this is a one-time
> effort, you may not have the time to dig into learning ISPF.
I strongly agree with the above. BTW, a few years ago IBM stated that
ISPF was THE display manager for TSO, and that all new IBM products
would use ISPF only. (At least that's what I think I remember them
stating...)
> Coding non-ISPF fullscreen applications, though, is not a useful or
> productive direction. ISPF users will be upset, unless they have a
> multisession manager package at their site.
Also true, and quoted again to emphasize the importance of this idea.
> Not an ESTAE, but a STAX, to capture attentions. This isn't as
> flexible an interrupt handling mechanism as ESTAE/ESPIE, since your
> application can't specify a retry address - it can only opt to
> continue (ignoring the attention) or abort.
Bzzzt. (Maybe.) The STAX exit is passed a parm list, the first word
of which is a pointer to the TAIE (Terminal Attention Interrupt
Element). Looking at SYS1.MACLIB(IKJTAIE), I see the following
interesting fields, which I believe can modified by the STAX exit
routine (although the manual doesn't state one way or another):
TAIEIAD DS 1F . RIGHT HALF OF INTERRUPT PSW 27000000
TAIERSAV DS CL64 . REGS. STORED HERE WHEN AN INTERRUPT 30000000
* TO MAINLINE OR ATTEN. EXIT OCCURS 33000000
> The typical attention
> exit routine sets a flag in the mainline and returns - the mainline
> checks for this flag at periodic intervals. Not only does this slow
> down the mainline code slightly,
Give me a break. How much does an occasional TM/BO cost???
> but it exposes the application to segments of noninterruptability.
> If you screw up the polling code, you can let the user get into an
> unbreakable loop.
I generally write my attention exit routines with logic like this:
TM flag,attn been here before?
BZ FRSTATTN no - ok
TPUT '*** abend requested by double attention ***'
ABEND 99 yes - user wants out
FRSTATTN OI flag,attn remember we've been here
...
In the input routine, after the return code from TGET has been
checked,
NI flag,255-attn reset attention flag
If you're doing fullscreen and/or stax processing, *especially* if
you're doing both, you must read the manuals before writing the code.
For example, attn kills the STFSMODE settings.
> I think that if you have any further questions, this discussion
> should be continued offline, or moved to IBM-MAIN.
>
> Hope this helps (and that Leonard doesn't violently disagree with
> anything I've said here :-).
Actually, I agree with almost everything! GOTCHA!!
> P.S. Sample code to clear screen (no allowance for ISPF or SM here):
>
> STFSMODE INITIAL=YES SET FULL SCREEN MODE FOR VTAM
> LTR 15,15 IF NOT A VTAM TERMINAL
> BNZ TCAMCLR THEN DO A TCAM SCREEN CLEAR
> * ELSE DO A VTAM SCREEN CLEAR
> TPUT CLR,L'CLR,FULLSCR,,HOLD
> STLINENO LINE=1 INSURE LINE MODE OUTPUT GOES TO TOP
> STFSMODE OFF SET FULL SCREEN MODE OFF
> TCLEARQ INPUT FLUSH PA2 AID QUEUED BY VTIOC
> B DONE
> TCAMCLR DS 0H NOT VTAM - DO TCAM SCREEN CLEAR
> TPUT FSON,L'FSON,FULLSCR,,HOLD
> TPUT FSOFF,L'FSOFF,FULLSCR,,HOLD
> DONE DS 0H
> ...
> CLR DC X'401140403C40400013'
> FSON DC X'40115D7F1140403C40400013'
> FSOFF DC X'40115D7E1140403C40400013'
> ...
Actually, this being ASM370, here's a MUCH smaller program to clear
the screen. This works for VTAM terminals but not TCAM terminals:
STLINENO MODE=OFF,LINE=1
This is how IBM suggests clearing the screen. Note that this is ALL
that's needed! VTAM does the rest.
/Leonard
Technical Details
Message-ID:
<ASM370%92033121214617@OHSTVMA.IRCC.OHIO-STATE.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!paladin.american.edu!auvm!USCMVSA.BITNET!LDWShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fcdcb,52430432af2b4cdb X-Google-Attributes: gidfcdcb,public X-Google-ArrivalTime: 1992-03-31 18:23:00 PST Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU Path: arc1-ca.pugleaf.net!sparky!uunet!paladin.american.edu!auvm!USCMVSA.BITNET!LDW Message-ID: <ASM370%92033121214617@OHSTVMA.IRCC.OHIO-STATE.EDU> Newsgroups: bit.listserv.asm370 Date: Tue, 31 Mar 1992 18:23:00 PST Sender: IBM 370 Assembly Programming Discussion List <ASM370@UGA.BITNET> From: Leonard D Woren <LDW@USCMVSA.BITNET> Subject: Re: User interface under TSO (was Re: Detecting TSO SM ...)