May 1998

IOFTech    Maintenance   Release8G       Newsletters    Doc    FAQ    Contacts    Home    Webmaster

IOF Server



The IOF Release 7D SERVER provides users the ability to run a full-function IOF session on a remote CPU. The user's IOF session is the CLIENT that initiates the remote server session. Users are not required to logon to TSO on the remote CPU in order to initiate a remote server session. Note that both IOF/TSO and IOF/CICS can be a client session. IOF/CICS will not function as an IOF server.

Many MVS sites utilize multiple machines in the complex to distribute function and workload. The JES2 multiple access spool facility and MVS sysplex function are two examples of software that connect several machines into a common environment. Network Job Entry (NJE) is an example of software that links remote machines in a loosely connected environment. The IOF server can be used in MAS, sysplex and NJE environments to display and control jobs and other JES2 resources on alternate machines.

Many IOF functions can be executed directly from any CPU in a MAS or sysplex without using the IOF server. For example, any job on the JES2 output queue can be selected and reviewed by IOF from any CPU in the JES2 multiple access spool complex. However, some IOF functions must be executed on a specific CPU. The IOF server easily and effectively executes such functions at the appropriate location. Some examples are:

The IOF server's capability to display and control jobs and other JES2 resources on a remote CPU can eliminate the need to logon to TSO on the remote system. Not only is this often more efficient, but is usually more convenient than establishing a separate TSO session.

IOF Client

An IOF client session communicates with an IOF server to perform IOF functions on a remote CPU. An interactive IOF session becomes a client when the AT command is entered. AT starts an IOF server session on another CPU. IOF client sessions may be supported from OS/2, Windows, UNIX or other platforms in the future.

When an interactive IOF client session displays a panel that was built by an IOF server, the left part of the top line of the display indicates the system name of the server system. The example panel shown below was produced by an IOF server on system T91F. Note that CPU and I/O time used is displayed for jobs running on that CPU.

 -< System T91F >-------------- IOF Job List Menu -------------( 10 )------------
 COMMAND ===>                                               SCROLL ===> SCREEN
 ------------------------------- Running Jobs ---------------------------------
 _    1 MODEL    J05551         T91F    12:23   303.17  STEP17            IN
 _    2 QAS311   J06060         T91F    53:03   443.02  QAS311            IN
 _    3 TSCDRS   J06157         T91F     1:02     1.75  TSCDRS   RBTR     OUT

AT Primary Command

The AT primary command is used to start a server session on another CPU. AT can be entered on any IOF panel to initiate a nested IOF session on the other CPU.

Once an IOF server session is initiated, subsequent IOF commands are processed by the server. IOF displays are returned to the client session that initiated the server session. To exit from a server session, enter the END command repeatedly, or enter /X to jump to the IOF exit command. Exiting from the server session returns control to the IOF client session at the point where the remote session was initiated.

AT? can be entered to determine the names and alias names of CPUs that support the server function. The display includes the system id (SYSID) of each CPU. Typically, the numbers 1 through n (where n is the highest system number) are used as aliases for system names.


AT cpu-name/alias function

cpu-name/alias. The name or alias of the remote server system.

function. Any IOF command or option that can be entered on the IOF Primary Option Menu.


     AT?                        Determine remote server names.
     AT 2                       Go to the IOF Option Menu on remote 2.
     AT IPO9 PR                 IOF printer display on IPO9.
     AT 4 M                     IOF Monitor display on remote 4.
     AT 2 %CHKOUT               Invoke the %CHKOUT REXX exec on remote 2.

AT Line Command

The AT line command on the IOF Job List Menu is an easy way to initiate a server session for a running job on the CPU where the job is running. The current CPU and I/O time for the running job will be displayed. The job can be selected and browsed from the server session. Sysout data buffers that have not been written to spool also can be browsed from the server session.

The AT line command is also supported on the MAS display.

Server Installation

Sections 28 and 29 of the IOF Installation Guide provide detailed instructions for installing the IOF server. IOF servers can be added easily after the initial installation of IOF Release 7D. Several tasks are required: SYS1.PARMLIB and VTAM parm definitions may require an IPL to implement. The IOF B67SERV generation requires an abbreviated IOF generation (M18NEWOP job).

Server Security

The two primary server security concerns are access to servers (who can issue the AT command), and control of server functions (what commands and functions are available on the server). IOF gives the installation complete control over both these concerns.

Access to servers is controlled by the ALLOW macro in the B23ALLOW options data set. Level 1 update access to a system (the new SYSTEMS attribute) is required in order to use the AT command. For example:

ALLOW 0,1,SYSTEMS,*,ID=* permits all users to issue the AT command for all available systems.
ALLOW 0,1,SYSTEMS,(Y2K,TSTLPR),GROUP=PGMRS permits members of the PGMRS group to issue the AT command for systems Y2K and TSTLPR.
ALLOW 4,4,SYSTEMS,*,UADS=OPERATOR permits anyone with UADS OPERATOR authority full access to all SYSTEMS functions.

The ALLOW macro grants access to initiate communications with another system. The server IOF session controls commands and functions permitted on that system.

By default the server session will operate under the same userid and password as the client session. The VTAM APPL statement must specify SECACPT=ALREADYV in order for this to happen.

You can optionally start a server with an alternate userid by entering:

       AT LOGON
The logon panel below is displayed.

 -------------------- IOF Logon to Server Panel -------------------------------

      SYSTEM NAME ===>            Name of the remote server system

      USERID      ===>            Userid on the server

      PASSWORD    ===>            Password for the remote logon

      Enter a userid and password for the remote IOF server.
      If you clear the userid field, the server logon will use
      your local userid and password.

The IOF server session has total control over the functions and commands that each user is permitted to execute. In sysplex systems running the same IOF load module with a shared security system data base, IOF normally runs exactly the same on the server as it would on the client system.

Useful Server Rexx Execs

IOF servers can be invoked and used from Rexx execs (and clists) to implement functions that would otherwise require multiple command sequences to be entered. Four useful Rexx execs are documented below. SVPRINT, SVSUB and SVGET utilities provide enhanced data movement between client and server sessions. These utilities are particularly useful between systems that do not share spool and do not have an NJE connection. Year 2000 test systems commonly are not connected to the production system. These three utilities can provide essential data transfer functions to such systems.


SVPRINT is executed from an IOF server session to print output to the client session. SVPRINT prints whole jobs, output groups or sysout data sets depending on where it is invoked.


menu       %SVPRINT     [CLASS(A)]     [DEST(LOCAL)]     FORMS(STD)]
menu is the menu number of the job, output group or sysout data set to be printed.
CLASS(A) is the target sysout data set class. The default is class A.
DEST(LOCAL) is the target sysout data set destination. The default dest is LOCAL.
FORMS(STD) is target sysout data set forms. The default forms is STD.

In the example below, a Job List Menu is being displayed from the Y2K server. Assume that job GEN (menu number 2) needs to be printed on the client production system and that there is no NJE or shared spool connection between these systems. The SVPRINT command shown on the COMMAND line in red copies the whole GEN job back to the client system to sysout class J.

-( Server Y2K )----------------- IOF Job List Menu -----------( 7 )------------
COMMAND ===> 2 %SVPRINT CLASS(J)                             SCROLL ===> CURSOR
--------------------------------- Output Jobs ---------------------------------
_    1 M18NEWOP J02700          ISIJFW   TRISYS.IOFT7D0      18K      127 16:33
_    2 GEN      J02675          ISIJFW   TRIANGLE             42      126 15:10
_    3 M53ZAP   J02393 SEL      ISIJFW   TRISYS.IOFT7D0       76      119 16:57
_    4 M86ISFCV J01749          ISIJFW   TRISYS.IOFT7D0      10K      096 16:22
_    5 M21APPC  J08120          ISIJFW   TRISYS                   137 365 15:03
_    6 M21LIST  J08107          ISIJFW   TRISYS                    69 365 13:12
_    7 SLAMARCH J06164          ISIJFW   TRISYS              262  132 327 22:06

Click here to display a down-loadable copy of SVPRINT


SVSUB is invoked from a client IOF session to submit a data set for execution on another system. SVSUB snaps the data set to the INTRDR on the server system.


SVSUB     dsn     [SERVER(2)]     [USER(userid)] [PW(password)]
dsn is the data set name to be submitted. A PDS member name can be specified.
SERVER(2) is the server name where the data set will be submitted. The default server name is 2.
USER(userid) is the optional server userid if required.
PW(password) is the optional userid password if required.


Click here to display a down-loadable copy of SVSUB.


SVGET is executed from an IOF client session to retrieve a data set from a server session. The data set is retrieved via the TSO TRANSMIT command. The data set is transmitted to the client session where a TSO RECEIVE command is issued. The user is prompted to enter RECEIVE parms to define where the retrieved data set will be stored on the client.


SVGET     dsn     [SERVER(2)]     [USER(userid)]     [PW(password)]
dsn is the data set name to be retrieved from the server.
SERVER(2) is the name of the server name from which the data set is to be fetched. The default server name is 2.
USER(userid) is the optional server userid if required.
PW(password) is the optional userid password if required.

Click here to display a down-loadable copy of SVGET.


The IOFSERVR exec displays diagnostic information about the version of IOF being run on the current system compared to the version being run on a server system. The system name (or alias) must be entered as a parm.

To compare IOF and system version information between the current system and a server system, enter from any IOF panel:

%IOFSERVR     name

where name is the system name or alias to be compared.

IOFSERVR is available in the T7D clist library and does not need to be downloaded.

IOF Server Maintenance

Click on High Priority IOF Fixes for the latest IOF Server maintenance. Note: The AT line command may return with System Name error. IOF Fix T7D1043 will correct this problem.

Triangle Systems, Inc. PO Box 12752, Research Triangle Park, NC 27709
Email IOFTech@Triangle-Systems.Com

[an error occurred while processing this directive]