It needs a section on native VTAM, although TSO full screen is more common.
________________________________________ 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