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