In
computing
Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
and
z/VM
z/VM is the current version in IBM's VM family of virtual machine operating systems. First released in October 2000, z/VM remains in active use and development . It is directly based on technology and concepts dating back to the 1960s, particu ...
operating systems that run on
IBM mainframe
IBM mainframes are large computer systems produced by IBM since 1952. During the 1960s and 1970s, IBM dominated the computer market with the 7000 series and the later System/360, followed by the System/370. Current mainframe computers in IBM' ...
s. It includes a
screen editor, the
user interface
In the industrial design field of human–computer interaction, a user interface (UI) is the space where interactions between humans and machines occur. The goal of this interaction is to allow effective operation and control of the machine fro ...
of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including
SPF/PC.
ISPF primarily provides an
IBM 3270
The IBM 3270 is a family of Block-oriented terminal, block oriented display and printer computer terminals introduced by IBM in 1971
and normally used to communicate with IBM mainframes. The 3270 was the successor to the IBM 2260 display ter ...
terminal
interface with a set of
panels. Each panel may include menus and dialogs to run tools on the underlying environment, e.g.,
Time Sharing Option
Time Sharing Option (TSO) is an interactive time-sharing environment for IBM mainframe operating systems, including OS/360 MVT, OS/VS2 (SVS), MVS, OS/390, and z/OS.
Use
In computing, time-sharing is a design technique that allows many peop ...
(TSO). Generally, these panels just provide a convenient interface to do tasks—most of them execute modules of
IBM mainframe utility programs
This article discusses support programs included in or available for OS/360 and successors. IBM categorizes some of these programs as utilities
and others as service aids; the boundaries are not always consistent or obvious. Many, but not all, of ...
to do the actual work. ISPF is frequently used to manipulate
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
data set
A data set (or dataset) is a collection of data. In the case of tabular data, a data set corresponds to one or more table (database), database tables, where every column (database), column of a table represents a particular Variable (computer sci ...
s via its Program Development Facility (ISPF/PDF).
ISPF is user-extensible and it is often used as an
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
. Many
vendor
In a supply chain, a vendor, supplier, provider or a seller, is an enterprise that contributes goods or services. Generally, a supply chain vendor manufactures inventory/stock items and sells them to the next link in the chain. Today, these term ...
s have created products for
z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
that use the ISPF interface.
An early version was called Structured Programming Facility (SPF) and introduced in
SVS and
MVS systems in 1974.
IBM chose the name because SPF was introduced about the same time as
structured programming Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making specific disciplined use of the structured control flow constructs of selection ( if/then/else) and repet ...
concepts. In 1979 IBM introduced a new version and a compatible product for
CMS under
Virtual Machine Facility/370 Release 5.
In 1980 IBM changed its name to System Productivity Facility and offered a version for
CMS under
VM/SP.
[
In 1982 IBM changed the name to Interactive System Productivity Facility, split off some facilities into Interactive System Productivity Facility/Program Development Facility (ISPF/PDF) and offered a version for VSE/AF.
In 1984 IBM released ISPF Version 2 and ISPF/PDF Version 2; the VM versions allowed the user to select either the PDF editor or ]XEDIT
XEDIT is a visual editor for VM (operating system), VM/CMS using block-oriented terminal, block mode IBM 3270 Computer terminal, terminals. (Line-mode terminals are also supported.)
XEDIT is much more line-oriented than modern Personal compu ...
.
IBM eventually merged PDF back into the base product.
ISPF can also be run from a z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
batch job.
ISPF/PDF interactive tools
When a foreground (interactive) TSO user invokes ISPF, it provides a menuing system, normally with an initial display of a Primary Option Menu this provides them access to many useful tools for application development and for administering the z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
operating system.
Such tools include
*Browse – for viewing data sets, partitioned data set (PDS) members, and Unix System Services
z/OS UNIX System Services (z/OS UNIX, or informally USS) is a base element of z/OS. z/OS UNIX is a certified UNIX operating system implementation ( XPG4 UNIX 95) optimized for mainframe architecture. It is the first UNIX 95 to not be derived f ...
files.
*Edit – for editing data sets, PDS members, and Unix System Services files.
*Utilities – for performing data manipulation operations, such as:
**Data Set List – which allows the user to list and manipulate (copy, move, rename, print, catalog, delete, etc.) files (termed "data sets" in the z/OS
z/OS is a 64-bit operating system for IBM z/Architecture mainframes, introduced by IBM in October 2000. It derives from and is the successor to OS/390, which in turn was preceded by a string of MVS versions.Starting with the earliest:
...
environment).
**Member List – for similar manipulations of members of PDSs.
**Search facilities for finding modules or text within members or data sets.
**Compare facilities for comparing members or data sets.
*Library Management, including promoting and demoting program modules.
ISPF as a user interface development environment
Underlying ISPF/PDF is an extensive set of tools that allow application developers to create panel-driven applications, and a set of guidelines to promote consistent use of ISPF functions. A "panel" is a character-based "window" which can encompass all or part of a 3270 session's screen real estate. See Text-based user interface
In computing, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of computer terminals and not just text), is a retronym describing a type of user interface (UI) common as an ear ...
s.
Most mainframe software vendors used ISPF functions to create their applications, so their tools are similar in appearance and operation to ISPF. Similarly, many installations write their own informal tools that use ISPF services.
ISPF services are generally available to any programmer using the system, and can be used to write panels for either personal or system-wide use, writing in either compiled languages such as HLASM
The IBM Basic assembly language and successors is a series of assembly languages and assemblers made for the IBM System/360 mainframe system and its successors through the IBM Z.
The first of these, the Basic Assembly Language (BAL), is an ...
, C, COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural, and, since 2002, object-oriented language. COBOL is primarily ...
, PL/I
PL/I (Programming Language One, pronounced and sometimes written PL/1) is a procedural, imperative computer programming language initially developed by IBM. It is designed for scientific, engineering, business and system programming. It has b ...
, or interpreted languages such as CLIST
CLIST (Command List) (pronounced "C-List") is a procedural programming language for TSO in MVS systems. It originated in OS/360 Release 20 and has assumed a secondary role since the availability of Rexx in TSO/E Version 2. The term CLIST is al ...
, REXX
Rexx (restructured extended executor) is a high-level programming language developed at IBM by Mike Cowlishaw. Both proprietary and open-source software, open source Rexx interpreter (computing), interpreters exist for a wide range of comput ...
and ooRexx
Object REXX is a High-level programming language, high-level, General-purpose programming language, general-purpose, Interpreter (computing), interpreted, Object-oriented programming, object-oriented (Class-based programming, class-based) program ...
.
ISPF applications can use ''file tailoring'' to create customized members from ''skeletons''; one use of file tailoring is to create JCL that the user can then submit as a batch job.
Editor
The editor screen is formatted with 2 lines (info & command line) at the top (or bottom – user choice), a six character line number column in the left margin, and the remainder of the screen width being filled with the records of the dataset being edited. Primary commands (which apply to the whole dataset) such as Find, Print, Sort, etc. are typed in the command line. Line commands (which apply only to specific line(s)) such as copy, move, repeat, insert, exclude, delete, text flow, text split are entered by over-typing the line number fields with a one or two character code representing the command to be applied at that line followed by an optional number which further modifies the supplied command.
The editor has several key features:
*Context sensitive color highlighting for several languages and file types
*Code folding
Code or text folding, or less commonly holophrasting, is a feature of some graphical user interfaces that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text ...
via the X or XX...XX(hide) line(s) command & indentation-selective reveals
*editor macro commands in REXX or compiled languages
*comparison with another dataset
*models of ISPF service calls
*context-sensitive Help available
*recovery from lost sessions
The editor can also be invoked in a 'view' mode. It behaves like the editor, but does not allow saving the data. Edited files can also be saved under a different name, creating or replacing another file.
ISPF provides the 'editor interface' which lets an application program display arbitrary data in the familiar editor panel. Thus many vendor packages use this familiar interface.
Customization
ISPF is designed to be customized for each user (a fairly new concept in 1974, when it was introduced). Some of the customization is global and some is specific to an ISPF application.
It supports a set of 24 function keys
A function key is a key on a computer or terminal keyboard that can be programmed to cause the operating system or an application program to perform certain actions, a form of soft key. On some keyboards/computers, function keys may have defa ...
which, when pressed, execute commands.["ISPF/PDF MVS/TSO, VM/CMS"](_blank)
''Computerworld
''Computerworld'' (abbreviated as CW) is a computer magazine published since 1967 aimed at information technology (IT) and Business computing, business technology professionals. Original a print magazine, ''Computerworld'' published its final pr ...
''. April 12, 1982
p. 8
. These are customizable: Each user can replace the default commands assigned to any key with his own preferred command (or series of commands). User settings are stored centrally, so that the user can logon from any terminal and that session will remember their previously-chosen commands for each key. Most personal computer
A personal computer, commonly referred to as PC or computer, is a computer designed for individual use. It is typically used for tasks such as Word processor, word processing, web browser, internet browsing, email, multimedia playback, and PC ...
s copied this, and have a set of 12 or 24 function keys. Even some defaults have endured: the F1 key triggers a "help" function on a large number of mainframe & PC programs.
ISPF remembers each user's choices for such things as screen colors & layout, the location of the command line and scrolling preferences. It also remembers the last-used data set names on each panel, so the next time the panel is used the names are already filled in. This is very convenient for mainframe programmers because they frequently work with the same files repeatedly.
PC use
Many of the early users of PCs were mainframe programmers or users, who were accustomed to and liked the ISPF panel system. This led several companies to create partial clones of ISPF that run on DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
, OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
, Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
or Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
PC systems. In 1984 IBM introduced the EZ-VU dialog manager for DOS PCs, and later OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
. In 1991 Tritus, Inc introduced Tritus SPF (TSPF), a program to allow use of mainframe ISPF applications and edit macros written in REXX
Rexx (restructured extended executor) is a high-level programming language developed at IBM by Mike Cowlishaw. Both proprietary and open-source software, open source Rexx interpreter (computing), interpreters exist for a wide range of comput ...
on DOS, OS/2 and Windows; the last release was 1.2.8 in 1994. Freeware ISPF-style editors for Windows include SPF/SE and SPFlite.
In 1994 IBM introduced a built-in downloadable client program called the ISPF Workstation Agent (WSA) that can install and run on OS/2, Windows and selected UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
workstations; the z/OS version of ISPF only includes WSA for Windows and selected UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
workstations. WSA communicates directly with ISPF on z/OS and provides a point-and-click graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
automatically.
The ISPF Workstation Agent can be used to edit PC based files from the ISPF editor to take advantage of the editor's strengths.
See also
* SMIT, the built-in menu/panels program for AIX
Notes
References
External links
IBM: "ISPF for z/OS"
IBM: ISPF documentation
{{IBM
IBM mainframe operating systems
Command shells
IBM software
Text editors
IBM mainframe software