There is a bit in the BIND image that tells you whether extended data streams 
are supported. You can also get the primary and alternate screen size there if 
those are the only data that you need. I pretty much always want to use 
extended highlighting, so BIND isn't enough for me.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3

________________________________________
From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Brian Chapman [bchapma...@gmail.com]
Sent: Wednesday, November 2, 2022 9:23 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: GTTERM assistance

All,

Thank you for the feedback.

I've been following the excellent write up by Greg Price (3270 Extended
Data Stream (prycroft6.com.au)
<https://secure-web.cisco.com/1WZEPCCYXKqBdsucqeNnsw8E-h41UZ2VAZi5lBj-4WWkpLJorRuT9M1qsFuB1_yt4DG9kVNASgvB4Rzwb2SGOycKSBNlrxpW3e81gXmOCSDI3nFxaLYe52NOP7LU7Y3VqRFXoiE2Ctsthj70zJFc7o5rZ2SW-qt32kVYqKU9LPI0mnX3YC94PzO1ZahfpqqfyrWEdCUeP-3puGW324nhDDWbj4S209ehG4ta3FnS9zZ3zPCThcdjA_Fzwxbsi3uGEhNSUDrcX2HMB2nvB944APk8xdtMGEeJrOlhqh5to_u1RxtZjlU_lRaXj5cE1--MX2CknfCJSM9OfBoP6-iUp-YFDoHJVzKj-ppF0s8DmVXNgYWzWr2GHph5JGAE9grDGsapoR2xO-3XFv6MJfyzINyUT3PW83b0TZL6fAD0PDaRNpjy1OVbFBkM7NR_iqIIq/https%3A%2F%2Fwww.prycroft6.com.au%2Fmisc%2F3270eds.html>)
 for understanding 3270
datasteams. This write up and Tommy Sprinkle's (3270 Data Stream
Programming (tommysprinkle.com)
<http://secure-web.cisco.com/16Bl2u5_kSIC1iVeoCGORYvnwPeXAoUKN76AQl53wy-_Q9_ZFdeVtrUH4NEFzwyApskfJCk664mU9rLloocl3fRI3gA6btmQqEcfKGzyG1egL0bU4tp2ELquUECG5Gpx-78FhvmaqQSe6klzMGZWkHAZVli7P0N5hFY2G-Pp_9n1_P5A8CTfAbahRvxRw0gDPIdCLeKuECN60JDqwJItzMRiyIrRttvp9sv_2pvw95RM7UOp6AuglqUrO9GDYYUaNkBO9oaMuHDS_DSuWDmzfa9KAZbvvQ99wZNM0wza2tFkfmJzdiNxOj9cmhnRkLKrZ5RfU0Pqp6UdzbInAgZGr9L4NFZIxUC-qn4U3Wnix9temytzuXnTTe1xit2ERyznBcjJ5qNPFpkHDThJGKMfo-1uK94HfUHnJwjSqD7ca6HAq_WfwhGpoMvLD5XE10cDO/http%3A%2F%2Fwww.tommysprinkle.com%2Fmvs%2FP3270%2Fstart.htm>)
 are a gold mine.

I was following his coding example for checking if the terminal accepts a
Query, but I mistakenly overlooked the fact that this is only for TSO. I
planned to add the GTTERM early in the process of establishing the VTAM
terminal to determine if Read Partition - Query is acceptable. For a VTAM
application, is it safe to assume that all connecting terminals accept Read
Partition - Query?

1. Check for a 3270 terminal:
         GTSIZE                   Determine terminal screen dimensions
         LTR   R0,R0              3270 screen?
         BZ    LINEMODE           No, cannot do full screen 3270 I/O

2. Check if Read Partition (Query) is allowed:
         GTTERM PRMSZE=PRIMSIZE,ALTSZE=ALTSIZE,ATTRIB=TERMATTR
         LTR   R15,R15            Did GTTERM work?
         BZ    NOQUERY            No, VTAM must be pre-ACF/VTAM
         TM    TERMATTR+3,X'01'   Query allowed?
         BNO   NOQUERY            No
               ...
               ...
PRIMSIZE DC    AL1(0,0)           Primary screen size
ALTSIZE  DC    AL1(0,0)           Alternate screen size
TERMATTR DC    F'0'               Terminal attributes

3. Activate VTAM full screen mode without input data stream editing:
         STFSMODE ON,NOEDIT=YES

4. Issue Read Partition (Query):
         LA    R1,RESETAID
         LA    R0,L'RESETAID
         ICM   R1,8,=X'0B'        Load TPUT FULLSCR,WAIT,HOLD flags
         TPUT  (1),(0),R          Reset the Attention IDentifier
         TPG   QUERY,L'QUERY,NOEDIT,WAIT   Issue Query
               ...
               ...
RESETAID DC    X'27F5C3'  Escape, Erase/Write, WCC for resetting AID and
MDTs
QUERY    DC    X'F3000501FF02'    Read Partition structured field



Thank you,

Brian Chapman


On Wed, Nov 2, 2022 at 4:36 AM Seymour J Metz <sme...@gmu.edu> wrote:

> Yes, GTTERM is TSO only. For a direct VTAM application, you need to send a
> Read Partition - Query and parse the query reply.
>
> AFAIK, GTTERM is one of the macros where you don't need to initialize the
> parameter list.
>
>
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3
>
> ________________________________________
> From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf
> of Michael Stein [m...@zlvfc.com]
> Sent: Tuesday, November 1, 2022 7:27 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: GTTERM assistance
>
> > Any assistance would be greatly appreciated.
> >
> > I am working on a SNA interface for a batch framework. This is mostly
> just
> > a massive learning exercise that will likely never be utilized, but I
> have
> > learned SO much while working on this project (currently 6 years in the
> > making).
>
> I'm confused about what this is part of.  Is this a TSO program
> or something else (saying SNA? VTAM APPL?).
>
> I ask that because as far as I know GTTERM is TSO only.  But
> you got return code 0 so perhaps the GTTERM is being issued
> from TSO.
>
> > The address space accepts terminals with MOD2 terminals and everything
>
> "Terminals" plural.  A TSO session with more than one?
>
> > I check register 15 after the SVC, and it is zero. But the SVC parameter
> > values are still zero.
>
> When using MF=L and MF=E macro forms, usually it's necessary to copy
> an MF=L list into the DSECT area before using the MF=E form...
>
> This is not true for all macros, but perhaps for GTTERM.
>
> So somewhere in the source should be a GTTERM MF=L and then it should
> be copied (MVC) into GTTLIST in the DSECT before issuing the GTTERM
> MF=(E,GTTLIST).  I'd suggest looking at the full expansion of the GTTERM
> (both MF=L and MF=E) to see if this is needed.
>
> Other points:
>
> > WORKREG  EQU   R3
> > SESSREG  EQU   R5
>
> I've only used 16 registers R0->R15.  You can do what you want but I'd
> be very careful that additional register equates didn't result in some
> duplicate register usage.  I saw some IBM source which had:
>
>   R15   EQU  R9
>
> I'd prefer better comments, or when trivial, no comment.   As an
> example:
>
> >          LR    R2,R1                   SAVE REGISTER 2
>
> This appears backwards, saving R1 in R2.   Also R2 is a problematic
> register as some hardware instructions alter it without it being specified
> (TRT translate and test at least).  I'd be careful when I used it and
> treat it as a bit less temporary than R0, R1, R14, R15.
>
> More comments on comments (& register usage):
>
> >          LR    R6,WORKREG              LOAD REGISTER
> >          LA    R8,0                    SET DUMMY FROM ADDRESS
> >          XR    R9,R9                   SET PADDING TO LOW VALUES
> >          MVCL  R6,R8                   INITIALIZE AREA
>
> I'd suggest something like:
>
>            LR    R6,WORKREG              @ workarea to clear, len in R7
>            SR    R15,R15
>            MVCL  R6,R14
>
> The contents of R14 don't matter for the MVCL as the length in R15 is zero.
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to