Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ISPF
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Component of the z/OS operating system used for accessing filesystems}} In [[computing]], '''Interactive System Productivity Facility''' ('''ISPF''')<ref>{{cite book |title=Improving Productivity With ISPF Productivity Tool V6.1 |quote=introduces the Interactive System Productivity Facility (ISPF) Productivity Tool (IPT) |isbn=978-0-7384-3329-5 |author=Michael Rotter |year=2009|publisher=IBM Redbooks }}</ref> 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 mainframe]]s. It includes a [[Text editor|screen editor]], the [[user interface]] of which was emulated by some microcomputer editors sold commercially starting in the late 1980s, including [[SPF/PC]].<ref>{{cite web |date=July 16, 2020 |url=https://kc.mcafee.com/corporate/index?page=content&id=KB75366 |quote=Background information: ntvdm.exe NTVDM can run at startup. SPF-PC A 16-bit DOS application based on the mainframe editor ISPF editor. |title=SPF-PC1 DOS application started through the Windows ntvdm}}</ref> ISPF primarily provides an [[IBM 3270]] terminal [[Interface (computer science)|interface]] with a set of [[panel (computer software)|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 set (IBM mainframe)|data set]]s via its Program Development Facility (ISPF/PDF).<ref>{{cite manual | title = Interactive System Productivity Facility General Information MVS, VM, and VSE | id = GC34-2078-2 | date = July 1983 | edition = Third | page = 4 | section = ISPF/PDF Program Development Functions | section-url = http://bitsavers.org/pdf/ibm/370/ISPF/GC34-2078-2_ISPF_General_Information_Jul83.pdf#page=13 | url = http://bitsavers.org/pdf/ibm/370/ISPF/GC34-2078-2_ISPF_General_Information_Jul83.pdf | publisher = IBM }} </ref> ISPF is user-extensible and it is often used as an [[application programming interface]]. Many [[vendor]]s have created products for [[z/OS]] that use the ISPF interface. An early version was called '''Structured Programming Facility''' ('''SPF''') and introduced in [[OS/VS2 (SVS)|SVS]] and [[MVS]] systems in 1974.<ref name=Fosdick>{{cite book|last=Fosdick|first=Howard|title=Using IBM's ISPF dialog manager|year=1987|publisher=Van Nostrand Reinhold|isbn=9780442226268|url=https://books.google.com/books?id=XbomAAAAMAAJ&q=IBM+%22structured+programming+facility%22}}</ref> IBM chose the name because SPF was introduced about the same time as [[structured programming]] concepts. In 1979 IBM introduced a new version and a compatible product for [[Conversational Monitor System|CMS]]<ref>{{cite manual |title = Structured Programming Facility/Conversational Monitor System: Program Reference Manual |id = SH20-2409-0 |edition = First |url = http://bitsavers.org/pdf/ibm/370/ISPF/SH20-2409-0_Structured_Programming_Facility_CMS_Program_Reference_Sep79.pdf |publisher = IBM |access-date = 2020-08-07 |archive-date = 2019-12-02 |archive-url = https://web.archive.org/web/20191202113023/http://bitsavers.org/pdf/ibm/370/ISPF/SH20-2409-0_Structured_Programming_Facility_CMS_Program_Reference_Sep79.pdf |url-status = dead }}</ref> under [[VM (operating system)|Virtual Machine Facility/370]] Release 5. In 1980 IBM changed its name to '''System Productivity Facility'''<ref>{{cite manual |title=System Productivity Facility Dialog Management Services |id= SC34-2036-1 |date=March 1981 |edition=Second |url=http://bitsavers.org/pdf/ibm/370/SPF/SC34-2036-1_System_Productivity_Facility_Dialog_Management_Services_Mar81.pdf |publisher=IBM}}</ref> and offered a version<ref>{{cite manual |title=System Productivity Facility for VM/SP Program Reference |id=SC34-2047-0 |date=March 1981 |edition=First |url=http://bitsavers.org/pdf/ibm/370/ISPF/SC34-2047-0_VM_SP_System_Productivity_Facility_Program_Reference_Mar81.pdf |publisher=IBM |access-date=2020-08-07 |archive-date=2019-12-02 |archive-url=https://web.archive.org/web/20191202112638/http://bitsavers.org/pdf/ibm/370/ISPF/SC34-2047-0_VM_SP_System_Productivity_Facility_Program_Reference_Mar81.pdf |url-status=dead }}</ref> for [[Conversational Monitor System|CMS]] under [[VM (operating system)|VM/SP]].<ref name=ISPF.FunKeys/> In 1982 IBM changed the name to Interactive System Productivity Facility,<ref>{{cite manual |title=Interactive System Productivity Facility General Information MVS, VM, and VSE |id=GC34-2078-2 |date=July 1983 |edition=Third |url=http://bitsavers.org/pdf/ibm/370/ISPF/GC34-2078-2_ISPF_General_Information_Jul83.pdf |publisher=IBM}}</ref> split off some facilities into '''Interactive System Productivity Facility/Program Development Facility''' ('''ISPF/PDF''') and offered a version for [[VSE (operating system)|VSE/AF]]. In 1984 IBM released ISPF Version 2 and ISPF/PDF Version 2; the VM versions<ref>{{cite manual |title=Interactive System Productivity Facility Version 2 What's New in ISPF? MVS and VM/SP |date=October 1984 |edition=Second |url=http://bitsavers.org/pdf/ibm/370/ISPF/GC34-2172-1_Interactive_System_Productivity_Facility_Version_2_Whats_New_In_ISPF_Oct1984.pdf |publisher=IBM}}</ref> 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<ref>{{cite web |url=https://help.nfc.usda.gov/publications/ISPF/11485.htm |title=Description of the ISPF Primary Option Menu |date=April 19, 2018}}</ref> 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 set (IBM mainframe)|data sets]], [[Data_set_(IBM_mainframe)#Partitioned_datasets|partitioned data set (PDS)]] members, and [[UNIX System Services|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.<ref>{{cite web |url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r2.ikjp100/ikjp10046.htm |title=What you can do with ISPF/PDF|website=[[IBM]] |date=17 August 2015 }}</ref> ==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]]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]], [[C (programming language)|C]], [[COBOL]], [[PL/I]], or interpreted languages such as [[CLIST]], [[REXX]] and [[Object REXX|ooRexx]].{{cn|reason=Document ISPF support in MVS port of ooRexx|date=November 2024}} 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]] 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.<ref name="ISPF.FunKeys">[https://books.google.com.ua/books?redir_esc=y&hl=uk&id=Now8YwGB-bgC&q=VM%2FCMS#v=onepage&q&f=false "ISPF/PDF MVS/TSO, VM/CMS"]. ''[[Computerworld]]''. April 12, 1982. [https://pdfguru.com/ p. 8]. {{ISSN|0010-4841}}.</ref> 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]]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 & [[Personal Computer|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]], [[Microsoft Windows|Windows]] or [[Unix]] PC systems. In 1984 IBM introduced the [[EZ-VU]] dialog manager for DOS PCs,<ref>{{cite news|last=Fosdick|first=Howard|title=ISPF key in convergence|url=https://books.google.com/books?id=hCqdKWvxFT4C&q=ispf+ez-vu+ibm+software&pg=PA28|accessdate=October 26, 2012|newspaper=Computerworld|date=March 30, 1987}}</ref><ref>{{cite news|title=Why IBM Isn't King of Software|url=https://books.google.com/books?id=-S4EAAAAMBAJ&q=%22EZ-VU%22+IBM&pg=PA20|accessdate=February 6, 2013|newspaper=Info World|date=July 29, 1985}}</ref> 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]] on DOS, OS/2 and Windows; the last release was 1.2.8 in 1994. Freeware ISPF-style editors for Windows include [[SPF/PC|SPF/SE]] and SPFlite. In 1994 IBM introduced a built-in downloadable client program called the ISPF Workstation Agent (WSA){{efn|IBM has announced the intention of dropping 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== * [[IBM AIX SMIT|SMIT]], the built-in menu/panels program for [[AIX]] == Notes == {{Notelist}} == References == {{Reflist}} ==External links== * [http://www.ibm.com/software/awdtools/ispf/ IBM: "ISPF for z/OS"] * [http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/ISPZPM70 IBM: ISPF documentation] {{Webarchive|url=https://archive.today/20121209083959/http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/ISPZPM70|date=2012-12-09}} {{IBM}} [[Category:IBM mainframe operating systems]] [[Category:Command shells]] [[Category:IBM software]] [[Category:Text editors]] [[Category:IBM mainframe software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Catalog lookup link
(
edit
)
Template:Cite book
(
edit
)
Template:Cite manual
(
edit
)
Template:Cite news
(
edit
)
Template:Cite web
(
edit
)
Template:Cn
(
edit
)
Template:Efn
(
edit
)
Template:Error-small
(
edit
)
Template:IBM
(
edit
)
Template:ISSN
(
edit
)
Template:Main other
(
edit
)
Template:Notelist
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Trim
(
edit
)
Template:Webarchive
(
edit
)
Template:Yesno-no
(
edit
)