ISPF
   HOME

TheInfoList



OR:

In
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, ...
, Interactive System Productivity Facility (ISPF) is a software product for many historic IBM mainframe operating systems and currently the z/OS and z/VM operating systems that run on IBM mainframes. It includes a screen editor, the user interface of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including
SPF/PC SPF/PC is an MS-DOS-based text editor and file manager designed to have an interface that was familiar to those using mainframe SPF and ISPF. Later Microsoft Windows-based versions were named SPF/SE and SPF/SE 365. A version for OS/2 named SPF/2 ...
. ISPF primarily provides an
IBM 3270 The IBM 3270 is a family of 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 terminal. Due to the text ...
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 (TSO). Generally, these panels just provide a convenient interface to do tasks—most of them execute modules of IBM mainframe utility programs to do the actual work. ISPF is frequently used to manipulate z/OS data sets 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 way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
. Many vendors have created products for z/OS 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 extensive use of the structured control flow constructs of selection ( if/then/else) and repetition ( ...
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. IBM eventually merged PDF back into the base product. ISPF can also be run from a z/OS 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 operating system. Such tools include *Browse - for viewing
data sets 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 scienc ...
, partitioned data set (PDS) members, and Unix System Services 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 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 interfaces. 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 in the shop, and can be used to write panels for either personal or shop-wide use, writing in either compiled languages such as 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 us ...
, PL/I, or interpreted languages such as CLIST and
REXX Rexx (Restructured Extended Executor) is a programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
. ISPF applications can be used to perform so-called "file tailoring" functions, customisation of specially crafted JCL members called "skeletons", which can then be submitted as batch jobs to the mainframe.


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 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 which, when pressed, execute commands. 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 computers copied this, and have a set of 12 or 24 function keys. Even some defaults have endured: the
F1 key A function key is a key on a computer or terminal keyboard that can be programmed so as to cause an operating system command interpreter or application program to perform certain actions, a form of soft key. On some keyboards/computers, function ...
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, OS/2, Windows or Unix PC systems. In 1984 IBM introduced the EZ-VU dialog manager for DOS PCs, and later OS/2. 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 programming language that can be interpreted or compiled. It was developed at IBM by Mike Cowlishaw. It is a structured, high-level programming language designed for ease of learning and reading. ...
on DOS, OS/2 and Windows; the last release was 1.2.8 in 1994. The
SPF/SE 365
an
Uni-SPF
editors are still sold currently, and the free
SPFlite Editors used in the PC environment typically operate in a significantly different manner than those in operation on large Mainframe systems. PC editors are almost universally character stream oriented while mainframe editors are typically text line ...
is currently available. 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 workstations; the z/OS version of ISPF only includes WSA for Windows and selected UNIX workstations. WSA communicates directly with ISPF on z/OS and provides a point-and-click graphical user interface 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


References


Notes


External links


IBM: "ISPF for z/OS"

IBM: ISPF documentation
{{IBM IBM mainframe operating systems Command shells IBM software Text editors IBM mainframe software