From: mrl@uai.com (Mark R. Ludwig)
Subject: Re: User interface under TSO
Organization: Universal Analytics, Inc., Torrance (LA), CA
 <RNETMAIL9204080848040SEB1525@MVS.DRAPER.COM>
Date: Sun, 12 Apr 92 17:50:54 GMT

In article <IBM-MAIN%92040718152963@RICEVM1.RICE.EDU> Leonard D Woren
<LDW@USCMVSA.BITNET> writes:

   On Tue, 7 Apr 1992 01:10:20 GMT, "Mark R. Ludwig" <mrl@UAI.COM> said:
   > In article <RNETMAIL9204030812430SEB1525@MVS.DRAPER.COM> "Stephen
   > E. Bacher" <seb1525@MVS.DRAPER.COM> writes:
   >    Not quite right.  Both the T... and P... macros support "print inhibit"
   >     - you specify the ASIS option on TPUT or PUTLINE or PUTGET and put a
   >    hex 24 character at the end of your prompt.
   >
   > Hmmm, I assume this X'24' is documented somewhere.

   Well, it's on the green/yellow/pink/blue card as "BYP/INP", which I
   assume means BYPass INPut.  In the 70's, it was listed as PTBYPASS,
   for PrinTBYPASS -- turn off printing on a 2740-style terminal.

Silly me.  I've never investigated the 3270 control codes, so it never
occurred to me they'd be on the green/yellow/pink/blue card.  I
figured they were documented in some other device or controller
manual.

In article <RNETMAIL9204080848040SEB1525@MVS.DRAPER.COM> "Stephen E.
Bacher" <seb1525@MVS.DRAPER.COM> writes:

   The "TSO/E Programming Services" manual says in the chapter on
   TPUT/TGET/TPG under the description of the ASIS operand:

   (Excerpted from SC28-1874-0, (c) 1988 IBM Corporation.)

    Including a bypass character, bypass carriage return, or bypass new-line
    character in the TPUT macro data suppresses printing of the next input
    entered by the user at the 3270 terminal.  VTAM moves the cursor to the
    next available line, unlocking the keyboard.  No more data is sent to
    the terminal until the terminal user enters data or presses the ENTER
    key.  The data entered by the user is not printed at the terminal.

I'd read this.  I'm sorry, I guess being away from IBM mainframes
these last five years I've become unaccustomed to IBM's way of
documenting some things.  When I read this passage, it just didn't
stick because it made no mention of what the "bypass character" was,
or any reference to any other manuals or anything.  

[Information like this which pulls the pieces together is what makes
the network so valuable for we novices.  I really appreciate your
help, Stephen and Leonard.]

I assume the phrase "bypass carriage return" means two characters,
"bypass" and "carriage return," and that I can get the invisible input
field to be on the same line with the prompt if I omit the carriage
return.

   TPUT/TGET/TPG are direct interfaces to SVC 93.  They require no TSO
   control blocks - in fact, you can issue them from a program that was
   not invoked as a TSO command processor.  In batch they are no-ops.

How are these things implemented?  Wait; I don't want to know that.  I
want to know if they break the general rule that MVS I/O is via a
DDname, one way or another.  Perhaps there's some magic in the ASCB or
JCB or somewhere else which facilitates SVC 93 without a DDname.
Perhaps there's a connection to DDname SYSTSPRT, or is that just a
name which IKJEFT01 uses?  Oops, that's PUTLINE/GETLINE again.

On the serious side, and I think related to this, is there a
documented way to detect whether a program is running in the
foreground or background?  One hack I've considered is that since I'm
in a Fortran program and the runtime environment requires DDname
FT06F001, I can examine its definition.  I'd rather have a method
independent of Fortran, though.$$
-- 
INET: mrl@uai.com      BANG: uunet!uaisun4!mrl      ICBM: USA; Lower Left Coast
                            "Seize the day next week at the latest." -- Boynton
Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU