Starting and Stopping VTAM/TSO

VTAM and TSO run as started tasks under MVS and both must be active before you can log onto TSO through a connected terminal.  During the installation, procedures were added to SYS1.PROCLIB that contain the JCL to execute the VTAM and TSO started tasks.  A started task is similar to a batch job.  It has its own address space and requires JCL to define the datasets required during execution.  However, a started task doesn't occupy an initiator.  Instead the MVS operator issues a start command, from which MVS establishes an address space and then reads and executes the JCL from the SYS1.PROCLIB member specified in the command.

Before starting VTAM, you must connect tn3270 client sessions for each of the 3270 devices defined in the Hercules' configuration file.  For each device not connected when VTAM starts, an I/O error message is issued and the device is considered inactive by VTAM.  Although this condition is not impossible to circumvent, and I will address it below, it is better to have the tn3270 sessions active before starting VTAM.  

TN3270 client sessions are attached to the device addresses defined in the Hercules' configuration file in the sequence of the addresses: 010, 011, 0C0, 0C1, etc.  A way to more closely control which client session attaches to which device address is to utilize the GROUP name operand on the 3270 device definition line in the Hercules' configuration file and specify the corresponding LUName in the tn3270 client.

You do not need to start a tn3270 session for each 3270 device in the configuration file, but at least one session beyond the one used for the MVS console (and the one for the alternate console, if it is active) must be started.  Utilizing the configuration file included in the installmvs archive, you can start four tn3270 clients - the first one will be connected to the primary console (at addresses 010) and the final three will be connect to 3270 devices available to VTAM (at addresses 0c0, 0c1, and 0c2).  

 

Starting VTAM

On the MVS console, issue the Start command:

s net

and press ENTER.  The net parameter names the member of SYS1.PROCLIB where the JCL is to be read and executed from.  The messages issued should be similar, if not identical, to:

$HASP100 NET      ON STCINRDR
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP373 NET      STARTED
IST025I  BLDL FAILED FOR IEDIAE   IN VTAMLIB
IST025I  BLDL FAILED FOR IEDIAE   IN VTAMLIB
IST025I  BLDL FAILED FOR IEDIAE   IN VTAMLIB
IST025I  BLDL FAILED FOR IEDIAE   IN VTAMLIB
IST025I  BLDL FAILED FOR IEDIAK   IN VTAMLIB
IST025I  BLDL FAILED FOR IEDIAK   IN VTAMLIB
IST110I  NETWORK SOLICITOR STARTED
IST093I  APPLTSO  ACTIVE
IST093I  LCLMAJ00 ACTIVE
IST020I  VTAM INITIALIZATION COMPLETE
IEA000I 0C1,IOE,05,0E00,400000000001,,,NET     ,14.48.38
IEA000I 0C2,IOE,05,0E00,400000000001,,,NET     ,14.48.38

The IST025I messages indicate that the modules listed (IEDIAE and IEDIAK) were not present in the VTAMLIB dataset.  They are informational messages and the modules listed are not required, so they may be safely ignored.  The IEA000I messages are issued for 3270 devices defined in the Hercules' configuration file for which tn3270 client sessions were not attached.  The device at address 0c0 was not listed and is active.  The tn3270 client for active VTAM sessions will display the Network Solicitor logon screen:

 

Connecting tn3270 Client Sessions After VTAM Starts

You can reset the I/O error condition by first starting tn3270 client sessions for the 3270 addresses which received errors during VTAM initialization and then requesting VTAM to "cycle" those 3270 addresses by issuing the commands:

v net,inact,id=cuu0c1
v net,act,id=cuu0c1

The rightmost three characters of the value given for id is the address of the 3270 device to be reset.  The response from MVS to these commands is:

V NET,INACT,ID=CUU0C1
IST097I  VARY     ACCEPTED
IST105I  CUU0C1   NODE NOW INACTIVE
V NET,ACT,ID=CUU0C1
IST097I  VARY     ACCEPTED
IST093I  CUU0C1   ACTIVE

If the normal inactivate command fails, you can issue the command:

v net,inact,id=cuu0c1,i

which specifies that the command is to be completed immediately.  (Source for these and other commands: http://www.redbooks.ibm.com/tips/TIPS0091/tips0091.pdf.)

 

Starting TSO

On the MVS console, issue the Start command:

s tso

and press ENTER.  The tso parameter names the member of SYS1.PROCLIB where the JCL is to be read and executed from.  The messages issued should be similar, if not identical, to:

$HASP100 TSO      ON STCINRDR
$HASP373 TSO      STARTED
IKT007I TCAS ACCEPTING LOGONS
IKT005I TCAS IS INITIALIZED

at which point you can issue the LOGON command on any tn3270 client window where the Network Solicitor screen is displayed.

During System Generation a single TSO User ID was installed - IBMUSER.  This ID is typically not used for any purpose other than adding new TSO User IDs and for recovering from emergency situations.  For instructions on adding new TSO User IDS, see the FAQ entry:  How do I add new TSO User IDs?

 

Stopping TSO and VTAM

Unlike batch jobs, which stop executing when their task is completed or when a specified time limit is exceeded, TSO and VTAM will continue to run until you issue the operator commands to terminate them.  You must terminate TSO and VTAM before you can shut down JES2 and MVS, and they must be terminated in the reverse order in which they were started.

 

Stopping TSO

On the MVS console, issue the Stop command:

p tso

and press ENTER.  The messages issued should be similar, if not identical, to:

IEC223I IFG0200V,TSO,TSO,UNKNOWN
*03 IKT012D TCAS TERMINATION IN PROGRESS - SPECIFY 'U' OR 'DUMP'
IEE600I REPLY TO 03 IS;U
R 03,U
IST804I  VTAM CLOSE IN PROCESS FOR TSO      OPENED BY TSO      UNKNOWN
IKT006I  TCAS ENDED
$HASP395 TSO      ENDED
$HASP150 TSO      ON PRINTER2        42 LINES
$HASP160 PRINTER2 INACTIVE - CLASS=A
$HASP250 TSO      IS PURGED
IST400I  TERMINATION IN PROGRESS FOR APPLID TSO
IST805I  VTAM CLOSE COMPLETE FOR TSO

During termination a console message is issued that requires a reply - IKT012D.  This message allows TSO to be terminated normally - by replying 'U' - or terminated with a system dump - by replying 'DUMP'.  There is no reason for you to acquire a dump, so a reply of U is always appropriate to this message.  Kevin Leonard has supplied a modification that eliminates this message and applying it to your system will simplify the TSO shutdown process.  You can download the jobstream to apply the modification from http://kleonard.home.att.net/vs2/ttso801.zip.

 

Stopping VTAM

On the MVS console, issue the Halt command:

z net,quick

and press ENTER.  The messages issued should be similar, if not identical, to:

Z NET,QUICK
IST133I  VTAM TERMINATION IN PROGRESS
IEC223I IFG0200V,NET,NET,UNKNOWN
IST804I  VTAM CLOSE IN PROCESS FOR ISTOLTEP OPENED BY NET      UNKNOWN
IST400I  TERMINATION IN PROGRESS FOR APPLID ISTOLTEP
IST805I  VTAM CLOSE COMPLETE FOR ISTOLTEP
IEC223I IFG0200V,NET,NET,UNKNOWN
IST804I  VTAM CLOSE IN PROCESS FOR NETSOL   OPENED BY NET      UNKNOWN
IST141I  NODE LCLMAJ00 NOW DORMANT
IST400I  TERMINATION IN PROGRESS FOR APPLID NETSOL
IST805I  VTAM CLOSE COMPLETE FOR NETSOL
IST105I  LCLMAJ00 NODE NOW INACTIVE
IST097I  HALT     ACCEPTED

VTAM may complete orderly shutdown on its own, but frequently it is necessary to issue a cancel command to force the shutdown to complete.  If you don't receive a message from JES2 ($HASP395) indicating that NET has ended in a few moments, you can issue the MVS command:

z net,cancel

and press ENTER to force VTAM's termination.  The messages issued should be similar, if not identical, to:

IEF450I NET NET - ABEND S0A9 U0000
$HASP395 NET      ENDED
$HASP150 NET      ON PRINTER2        52 LINES
$HASP099 ALL AVAILABLE FUNCTIONS COMPLETE
$HASP160 PRINTER2 INACTIVE - CLASS=A
$HASP250 NET      IS PURGED

I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:



This page was last updated on February 18, 2008 .