| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 7002.1 | Hmmm- did you try MS3279 variable? | DELNI::BARBER_MINGO | Let me DANCE for you | Tue Feb 18 1997 17:27 | 5 | 
|  |     Hi,
    	Did you try setting the MS3279 variable and running your program
    from the promt?
    Cindi
    
 | 
| 7002.2 | Well.. no. It's like this | COPCLU::PALMANN |  | Fri Feb 21 1997 07:23 | 85 | 
|  | Problem :
The local command is not executes, when start3270 is run as a background job.
Here is a log, over what happends when the application is started in 
the forground.
There has been made some changes to start3270.
# diff startatb start3270
195c195
< # read x
---
> read x
#
this is to prevent start3270 waiting at ' read x '
			-------------------------------
First in normal forground mode.
TPK.dsb.dk> startatb  ATB
$COMMLINK has been set to: /usr/commlink
$PATH has been set to:
.:/usr/users/manager/bin:/usr/bin:.:/usr/commlink/bin/327
0:/usr/commlink/bin/natlang:/usr/commlink/bin/slm:/usr/commlink/bin/sna:/usr/
c
om
mlink/bin/utl
HLLAPI Trace:  Return Code = 0
Time exited 14:28:52.
HLLAPI Trace:  Call to Function SET SESSION MODE (100)
Time entered 14:28:52
HLLAPI Trace: Session Mode or Status Mask ffcc
HLLAPI Trace:  Return Code = 0
Time exited 14:28:52.
HLLAPI Trace:  Call to Function READ SESSION DATA (103)
Time entered 14:28:52
HLLAPI Trace:  Buffer Size 3440
The program is then waiting on some data, from a system called SMART.
It's a printer driver.
The following ps-commands shows how the 
session manager is started, and the 
' 3270tps local command' is started with it's parameters.
TPK.dsb.dk> ps ax | grep ttyp4
24773 ttyp4    I        0:00.10 -ksh (ksh)
24806 ttyp4    I  +     0:00.01 xcp3270
24823 ttyp4    I  +     0:00.02 /usr/users/manager/atb/atb sna=B
tcp=192.168.1.
24844 ttyp4    S  +     0:00.09 xsm3270 /usr/commlink/adm/gems/sm3270.msg
24866 ttyp4    S  +     0:00.01 xti3270
24864 ttyp5    S  +     0:00.00 grep ttyp4
Here is then what happends, when the process is started is the background.
TPK.dsb.dk> nohup startatb ATB > /dev/null &
[1]     25058
TPK.dsb.dk>
[1] + Stopped(tty output)      nohup startatb ATB > /dev/null &
TPK.dsb.dk>
TPK.dsb.dk>
Here is the ps-commands again, showing that the '3270tpd local command' was 
not started.
TPK.dsb.dk> ps ax | grep ttyp4
24773 ttyp4    I  +     0:00.20 -ksh (ksh)
25048 ttyp4    T N      0:00.01 xti3270
25058 ttyp4    T N      0:00.09 xsm3270 /usr/commlink/adm/gems/sm3270.msg
25097 ttyp4    T N      0:00.01 xcp3270
25076 ttyp5    S  +     0:00.00 grep ttyp4
			Jan.
 | 
| 7002.3 | Try it to see if it works. | DELNI::BARBER_MINGO | Let me DANCE for you | Fri Feb 21 1997 13:56 | 19 | 
|  |     Hi,
    	What I am trying to say is, when you define a local session
    interactively, it is the first session chosen/selected to
    be displayed.  If you are running the process in the background,
    there is no display, so they may not be invoking the program
    for you.  You can check with the CSC to get them to confirm
    this behavior with Apertus.  Local commands may require IO
    features that you might not have available when you run the
    program to the background (like displaying the promt).
    
    	In the interim, I am asking you to set the MS3279 variable
    yourself, and THEN run your desired command YOURSELF to make
    sure that the problem is JUST weather local commands are invoked
    on background sessions and not something more like the HLLAPI
    program not being able to process your information.
    If it works with the MS3279 definition, and your manual invocation
    of the program, then you will have a work around.
    
   Cindi
 | 
| 7002.4 | Still no go' | COPCLU::PALMANN |  | Tue Mar 04 1997 03:45 | 8 | 
|  |     Hi Cindi,
    
    The customer set the MS3279 variable, and the 'local command ' is still
    no executed.
    Can you execute a command in the background with the MS3279 variable ?
    If so, could you please show me.
    
    				Jan
 | 
| 7002.5 | If only the manuals had some prober examples. | COPCLU::PALMANN |  | Wed Mar 05 1997 07:15 | 223 | 
|  | 
When he MS3279 environment is defined, and the session manager is executed
as a foreground process.
Everything is working perfectly well.
Example:
TPK.dsb.dk> MS3279=ATB ; export MS3279
TPK.dsb.dk> env
COMMLINK=/usr/commlink
PATH=.:/usr/users/manager/bin:/usr/bin:.:/usr/commlink/bin/3270:/usr/commlink/
bi
n/natlang:/usr/commlink/bin/slm:/usr/commlink/bin/sna:/usr/commlink/bin/utl
NLS_LANG=american_america.we8iso8859p1
LOGNAME=manager
MS3279=ATB
GWSOURCE=telnet
ORA_NLS=/ocommon/nls/admin/data
USER=manager
SHELL=/bin/ksh
HOME=/usr/users/manager
TERM=vt100
PWD=/usr/commlink/bin/3270
TPK.dsb.dk>
TPK.dsb.dk> pwd
/usr/commlink/bin/3270
TPK.dsb.dk>
TPK.dsb.dk> start3270 ATB
               3270 Session Manager
                  DEC SNA for OSF/1
A work based on SSI products.
Copyright (c) Systems Strategies Inc., 1989, 1994
All Rights Reserved
Restricted Computer Software as defined in the Rights in
Data General Clause at FAR 52.227; and as applicable
Use, duplication, or disclosure by U.S. Government is
subject to restrictions as set in Subparagraph (c) 1  (ii)
of the Rights in Technical Data and Computer Software
Clause at DFARS 252.227-7013.
[Press RETURN to Continue]
Screen is cleared !!!!
HLLAPI Trace:  Return Code = 0
Time exited 9:57:30.
HLLAPI Trace:  Call to Function SET SESSION MODE (100)
Time entered 9:57:30
HLLAPI Trace: Session Mode or Status Mask ffcc
HLLAPI Trace:  Return Code = 0
Time exited 9:57:30.
HLLAPI Trace:  Call to Function READ SESSION DATA (103)
Time entered 9:57:30
HLLAPI Trace:  Buffer Size 3440
Now the local command is executing !!!
ps from another terminal shows:
TPK.dsb.dk> ps
  PID TTY      S           TIME COMMAND
 2809 ttyp2    I        0:00.15 -ksh (ksh)
 2866 ttyp3    S        0:00.17 -ksh (ksh)
 2939 ttyp3    S  +     0:00.08 xsm3270 /usr/commlink/adm/gems/sm3270.msg
 2959 ttyp3    S  +     0:00.01 xti3270
 2960 ttyp3    S  +     0:00.01 xcp3270
 2961 ttyp3    S  +     0:00.02 /usr/users/manager/atb/atb sna=B
tcp=192.168.1.
 2964 ttyp4    S        0:00.09 -ksh (ksh)
Notice the local command pid 2961 is executing !!
Terminating the process with ctrl/c returns to the session
manager main menu !!
CP-MM00           SNA-3270-TPS               3270 Control Mode
                                   Main Menu
                        1. Session List
                        2. Session Control
                        3. Local Command
                        4. File Transfer
                        5. Keyboard Mapping Report
                        6. System Administration
                        Current Session...: -
#> 6
ESC=Cancel  *=CurrentSession
CP-SA00           SNA-3270-TPS               3270 Control Mode
                           System Administration Menu
                1. Stop 3270 Session Manager
                2. Display 3270 Session Manager Information
                3. List HLLAPI User Programs
                4. Reset 3270 Session Manager
                5. Display System Error Information
Notice: 3270 Session Manager terminating...
ESC=Cancel
TPK.dsb.dk>
------------- Here is the problem -- ( MS3279 made no diference ) --------
Now we execute the process in the background !!!!
We use an edited version of start3270 to startup the session
manager because the original version includes a read command.
The differences is as follows:
TPK.dsb.dk> diff start3270 startatb
173,175c173,175
< Tput clear
< echo
< echo "               3270 Session Manager " 1>&2
---
> # Tput clear
> # echo
> # echo "               3270 Session Manager " 1>&2
193,195c193,195
< bannerssi
< echo "[Press RETURN to Continue] \c"
< read x
---
> # bannerssi
> # echo "[Press RETURN to Continue] \c"
> # read x
TPK.dsb.dk>
The changes removes input and output from the startup script !!!
-------------- Ok here we go with a background job ( & ) --------
TPK.dsb.dk> startatb ATB &
[1]     3017
TPK.dsb.dk>
TPK.dsb.dk>
[1] + Stopped(tty output)      startatb ATB &
TPK.dsb.dk>
TPK.dsb.dk>
TPK.dsb.dk>
TPK.dsb.dk>
TPK.dsb.dk>
TPK.dsb.dk>
TPK.dsb.dk> ps
  PID TTY      S           TIME COMMAND
 2809 ttyp2    I        0:00.15 -ksh (ksh)
 2866 ttyp3    S        0:00.26 -ksh (ksh)
 3017 ttyp3    T N      0:00.06 xsm3270 /usr/commlink/adm/gems/sm3270.msg
 3033 ttyp3    T N      0:00.01 xti3270
 3034 ttyp3    T N      0:00.01 xcp3270
 2964 ttyp4    I  +     0:00.10 -ksh (ksh)
Notice the local command is not started !!
-----------------------------------------------
Questions :
1) Is it posible, at all,  to run local commands from the session 
   manager in the background ??
2) ARE we doing the startup the right way ??
   (There is no examples in the manual)
3) Do you have any example ??
			Jan
 | 
| 7002.6 | Different definition and purpose for the local session. | DELNI::BARBER_MINGO | Let me DANCE for you | Wed Mar 05 1997 10:15 | 28 | 
|  |     Hi,
    	When I worked there, local sessions were often considered EXPRESSLY
    for interactive use.  They were designed to give you access
    to the U*x terminal, while your 3270 process was running.
    	When you are running the 3270 processes in the background,
    you ALREADY HAVE access to the U*x terminal.  Therefore, it's 
    redundant to spawn a local session, to give you access to a 
    terminal that you already have access to.  You set the MS3279
    variable to let your terminal know where to go, and THEN you
    spawn your 3270 process in the background.  THEN try to run
    your "local session" command by hand at the resident terminal
    you never lost control of because you backgrounded your 3270
    terminal.
    
    If that works, that is your work around.
    ============
    
    Contact your customer support center to ask them to spawn
    local processes from the background.
    
    As I understand it, you were using the local sessions to invoke
    your programs in "batch" and not JUST to give you access to
    your typing terminal (as most Local sessions are designed).
    
    Luck,
    Cindi
    
    
 | 
| 7002.7 | Try the work around, then go to the CSC. | DELNI::BARBER_MINGO | Let me DANCE for you | Wed Mar 05 1997 10:54 | 15 | 
|  |     Hi,
    	When you try the work around, you may see an error stating:
    
    Cannot select from dynamic local session
    
    	This would indicate you are trying to run a verb on a non
    named local session. If you get the same message, contact your CSC, 
    and explain to them that your local commands from named sessions won't start, and you
    can't get your program to run at your command prompt because
    it is being viewed as a dynamic local session. (The demo hllapi
    programs located in $COMMLINK/demo/3270 all function, but they
    are using verbs that must be run from a named local session).
    
    Luck,
    Cindi
 | 
| 7002.8 | It's geting complicated | COPCLU::PALMANN |  | Thu Mar 06 1997 06:36 | 17 | 
|  | Hi,
I read your answer a couple of times, and still have problems understanding 
it. Still I will read it again...
Here is our situation in a nutshell 
We are to use the 3270tps as a HLLAPI interfase to a printer driver.
We are to communicate via HLLAPI commands to the IBM, to recieve data to the
printers on our system. 
We have 40 printers, and need 40 3270tps sessions started.
Since we can not have 40 windows running on our computer, each with there
own 3270 tps, we need to put the 3270tps jobs in the background.
			any comments ?  :v)
				Jan
 | 
| 7002.9 | Ok- one more try. | DELNI::BARBER_MINGO | Let me DANCE for you | Thu Mar 06 1997 13:02 | 32 | 
|  |     Hi,
    	We'll try one more time, and then you'll go to the CSC.
    
    You need to spawn 40 background processes, or 1 process with 40
    sessions to different engines.
    
    You wish to run hllapi programs on the 40 sessions in the background.
    
    The MS3279 variable is supposed to be set to the name of the
    shared memory segment controlling your session manager(s).  With
    that variable set, hllapi programs have direction as to what
    session managers they are going to use to invoke their verbs.
    
    I am asking you to start your process in the background.
    Set your MS3279 variable to your disk, directory, and file name
    of your shared memory segment for your session manager.  Then,
    from the same terminal where you started your background process,
    try to invoke your hllapi program.  If that works, then your
    solution will be to write a script that performs this sequence
    40 times.  That is the work around you can try after you log
    your call to the CSC, asking if you can get named local sessions
    to spawn on the background.
    
    If ALL else fails, you can start ONE session manager, with 40
    sessions in it.  Then you can spawn attaches to those 40 sessions
    from ONE window, from your interactive local session.
    
    Hope that's clear,
    If it isn't, log your call,
    The CSC should be able to clear
    it up for you,
    Cindi
 |