TSO & ISPF are two different environments. Actually while working with REXX you can invoke the REXX commands as well as commands from different environments also.
There are basically 2 main environments -
1. TSO
2. ISPF
1. In TSO environment, all the TSO-based command can be used like :- ALLOC, FREE, DEL and so on. This is the basic environment.
2. Suppose you are using a macro to read a DS then you have to use the cursor to move forward or backward to the lines, this can be enabled through the ISPF environment and also with ISREDIT. Now suppose you want to use a panel, table or skel in your REXX routine, now in your REXX routine you have to LIBDEF these(I mean the libraries are specified by LIBDEF command). For that you have to invoke the ISPF environment.
Besides, you also have different environments for invoking some special services. Eg:- If you want to use DB2 in your REXX, then you have to invoke the DSNREXX environment.
TSO is Time Sharing Option and ISPF is Interactive System Productivity Facility. TSO and SPF are two separate products, both of which are intended to help you in your work with an OS/390 computer. TSO (Time Sharing Option) is a command-driven software product which typically employs one-word or one-line commands, while SPF (System Productivity Facility) is a newer, full-screen, menu-driven product which both simplifies and extends the capabilities of TSO. ISPF allows you to perform almost all of TSO's functions by using menus and panels--and may simplify your work on the system by making it unnecessary to remember or key in longer TSO commands. Most experienced TSO/SPF users use a combination of the capabilities of TSO and SPF, choosing to use one product or the other depending on which one happens to be simpler or faster or clearer for the particular application.
One should understand that at its most basic, each TSO interactive session is actually just a special kind of batch job. It wouldn't even be that special were it not for the fact that this job communicates in an interactive session with a terminal - the one you're logged onto. The TSO batch job is an invocation of the program named IKJEFT01 - known as the Terminal Monitor Program (TMP). It should be noted that prior to TSO, mainframe processing consisted of batch work only. So the invention of a batch program that could monitor a connected device such as a display workstation was quite a significant development. This effectively opened up the machine room to a network of such terminals installed in various parts of the enterprise. Previously any work needing to be done on the mainframe was sent as punched cards and tapes to the central complex where system operators would load and execute the work on your behalf, returning the printout if you were fortunate and all ran well.
New users to the mainframe may not realize that ISPF is actually an application program that executes within a TSO environment - you can't have ISPF without TSO first. Prior to ISPF's development, programmers and system administrators would perform all their work from within the TSO (command-only) environment. Today ISPF is usually the default environment used by the developer and administrator communities in most z/OS installations. Often ISPF is automatically invoked as part of the TSO logon process and while TSO is still there under the covers many users never see or use this environment directly.
An analogy for new mainframe users would be the relationship between the old DOS and earlier versions of Windows. Although today DOS has been somewhat absorbed into the Windows graphical environment as an application you can run, earlier versions of Windows actually required DOS to be loaded prior to Windows installation. These Windows versions would use services provided by DOS and present the results in the Windows GUI. For comparative clarity, ISPF can be described as the mainframe equivalent of the Windows GUI, and TSO would be DOS - the command line.
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
TSO is the end-user oriented line mode interface to MVS.
TSO is a command line interface. It is not the full screen interface; that is ISPF. It is not a programming language.
When you use TSO, you issue commands like ALLOC, CALL and FREE to run programs. TSO also is the basis for running ISPF, the full-screen end-user oriented interface to MVS.
In practice, very few people do any work at the TSO READY prompt. Most people simply type ISPF to get into ISPF, and then LOGOFF to leave TSO.
ISPF is the full-screen (not line mode) interface to MVS that is used mostly by programmers and system administrators. ISPF is also used for applications for which a transaction server like CICS is not appropriate. ISPF is usually run interactively from a terminal, but can also be run in batch.
ISPF has several main functions:
Full screen editing and browsing of data sets
Data set management utilities
File Tailoring functions (using templates to create files using variable substitution)
Search and Compare functions
Source Code Configuration and Library Management
A rich set of APIs for dialog (program) management
I've always looked at the relationships in that way: It's like the good days when you used WIN95 (=ISPF) running on DOS (=TSO), ecxept the fact that TSO is not an OS.