Jump to content

ISPF

From Alfawiki
Interactive System Productivity Facility (ISPF)
Company typeSoftware suite
IndustryComputing / Mainframe software
PredecessorStructured Programming Facility (SPF)
Founded1974
Headquarters
United States
ProductsScreen editor, Program Development Facility (ISPF/PDF), menu-driven interface tools
Websitewww.ibm.com/docs/en/ispf

In the realm of computing, the Interactive System Productivity Facility (ISPF) is a software suite designed for legacy IBM mainframe operating systems, and it remains in use on modern z/OS and z/VM platforms running on IBM mainframe hardware. Among its components is a screen editor, whose design influenced several commercial microcomputer editors during the late 1980s, including SPF/PC.

ISPF primarily delivers an interface through the IBM 3270 terminal, presenting a collection of panels that feature menus and dialog boxes to facilitate execution of tools within the host environment, such as the Time Sharing Option (TSO). These panels act as user-friendly gateways to run various modules of IBM mainframe utility programs. ISPF is extensively utilized for managing z/OS data sets through its Program Development Facility (ISPF/PDF).

The system is extendable by users and frequently serves as an application programming interface. A variety of third-party vendors have developed products for z/OS that leverage the ISPF interface.

The precursor to ISPF, known as Structured Programming Facility (SPF), was launched in 1974 targeting SVS and MVS. IBM chose this name to reflect the then-emerging structured programming methodologies. By 1979, IBM had introduced a compatible version for CMS running under Virtual Machine Facility/370 Release 5.

In 1980, IBM rebranded the product as System Productivity Facility and released a CMS variant compatible with VM/SP. The name was updated again in 1982 to Interactive System Productivity Facility, at which point some features were separated into Interactive System Productivity Facility/Program Development Facility (ISPF/PDF), with expanded support including VSE/AF.

The 1984 launch of ISPF Version 2 alongside ISPF/PDF Version 2 introduced VM versions that allowed users to choose between the PDF editor or XEDIT. Over time, IBM reintegrated PDF functionality into the core ISPF package.

Additionally, ISPF can be run within a batch job environment on z/OS.

ISPF/PDF interactive tools

When accessed interactively by a foreground TSO user, ISPF presents a menu-driven interface typically beginning with a Primary Option Menu. This menu provides entry points to various tools supporting application development and administration tasks on z/OS systems.

Notable tools include:

  • Browse – permits viewing of data sets, members of PDS, and files within Unix file systems.
  • Edit – enables modification of data sets, PDS members, and Unix files.
  • Utilities – offers operations such as:
    • Data Set List – facilitates listing and management actions like copying, moving, renaming, printing, cataloging, and deleting files.
    • Member List – provides similar management capabilities for PDS members.
    • Search – assists in locating specific modules or text strings within members or data sets.
    • Compare – supports comparison between members or entire data sets.
  • Library Management – handles promotion and demotion processes for program modules.

ISPF as a User Interface Development Platform

ISPF/PDF offers a comprehensive suite of tools that allow developers to build panel-driven applications while maintaining consistent use of ISPF functions. A "panel" refers to a character-based "window" that occupies either a portion or the entirety of a 3270 terminal screen.

Most mainframe software providers develop their applications utilizing ISPF functions, which ensures uniformity in appearance and behavior. Numerous organizations create bespoke utilities by harnessing ISPF services.

Programmers can access ISPF services to design panels for individual or system-wide deployment using compiled languages such as HLASM, C, COBOL, PL/I, as well as interpreted languages including CLIST, REXX, and ooRexx.

ISPF applications facilitate file tailoring, a process that generates customized members from predefined skeletons. This method is frequently employed to produce JCL scripts for batch job execution.

Editor

The editor interface comprises two information and command lines located either at the top or bottom of the screen, a six-character line number margin on the left, and dataset records occupying the remaining area. Global commands such as Find, Print, and Sort operate on the entire dataset via the command line, while line-specific commands like copy, move, and insert are executed by entering codes above the corresponding line numbers.

Notable editor functionalities include:

  • Syntax-aware color highlighting tailored for multiple programming languages and file formats
  • Code folding controlled by X or XX...XX commands with indentation-based expansion
  • Support for editor macros written in REXX or compiled languages
  • Capability to compare datasets
  • Access to ISPF service call paradigms
  • Context-sensitive Help features
  • Session recovery mechanisms

Additionally, the editor provides a 'view' mode for read-only file inspection. Users can save files under new names to create or overwrite datasets.

ISPF also offers an 'editor interface' that allows other applications to present data within the familiar editor panel environment; this interface is widely utilized by third-party software vendors.

Customization

At its inception in 1974, ISPF was groundbreaking in offering extensive customization options both globally and on an application-specific basis. It supports 24 programmable function keys, allowing users to assign preferred commands or sequences to each key. User configurations are centrally stored, ensuring consistent personalized settings across different terminals. This design influenced many personal computer systems, which adopted similar function key arrangements—most notably the persistent use of the F1 key for accessing "help" functions across numerous mainframe and PC applications.

ISPF also preserves user preferences regarding screen colors, layout configurations, command line positioning, scrolling behavior, and recently used dataset names on panels. These features help streamline repetitive tasks for mainframe developers.

PC Usage

Early adopters of PCs—many being mainframe programmers familiar with ISPF panels—drove the creation of ISPF-like clones for platforms such as DOS, OS/2, Windows, and Unix. IBM released the EZ-VU dialog manager for DOS PCs in 1984 and subsequently extended support to OS/2. In 1991, Tritus, Inc introduced Tritus SPF (TSPF), which allowed running mainframe ISPF applications and REXX macros on DOS, OS/2, and Windows; its final update was issued in 1994. Free ISPF-style editors available for Windows include SPF/SE and SPFlite.

IBM’s 1994 ISPF Workstation Agent (WSA)—a downloadable client compatible with OS/2, Windows, and select UNIX workstations—connects directly to ISPF on z/OS, delivering a point-and-click graphical user interface. Although IBM intends to phase out WSA, it continues to serve as a tool for editing PC-based files utilizing ISPF’s robust editor capabilities.

See also

  • SMIT, the integrated menu and panel interface for AIX

External links