IBM Support

Write Your First Mainframe App Using ISPF - Part 1 What is ISPF?

Question & Answer


Question

What is ISPF? How can I use ISPF to create an application on z/OS?

Answer

What is ISPF?

If you are writing your first z/OS application, here are some things you need to know.

ISPF, or the Interactive System Productivity Facility, has 2 parts:

  • A suite of services to manage your application (or dialog, as interactive applications are frequently called), and
  • A development environment that provides the utilities to create and maintain the parts of your application.

When you log on to z/OS, you usually start out in TSO/E (Time Sharing Option/Extensions), or just TSO as it is more commonly called. You know you are in TSO, when you see a black screen with red letters, and the word READY (which is commonly called the "ready prompt").  To start an ISPF session, type ISPF at the ready prompt.

TSO Ready Prompt When you start ISPF, you frequently see a screen that looks similar to the one displayed:

ISPF Primary Option Menu

You might see something different based on which release of z/OS you are using, or what settings are set. For example, sometimes the command line (in this case, it is labeled with Option ===>) is at the bottom of the screen based on which options are selected. Sometimes the function keys are listed at the bottom.

This screen image (known as a panel in ISPF) is called the ISPF Primary Option Menu. As you can see, there are several options that are useful for writing and testing applications, such as the editor, compilers, and utility functions.

An Option Menu is a particular type of panel, where you can select from a menu of options. You select the option by typing the number of the option on the command line, and pressing the Enter key.

What are the parts of an ISPF application?

Here are the elements you can use in your ISPF application:

  • Functions
  • Command tables
  • Variables
  • Tables
  • Panels
  • Messages
  • File-tailoring skeletons

Functions

Functions control the application processing.  They can be written as either a

  • Program, in a traditional programming language such as COBOL, PL/I, or C.
  • Command procedure, in an interpretative language, such as REXX.

Functions start ISPF services to manage the interaction between human and computer. A function might display a series of panels where users input information and display error messages when incorrect input is detected. The function might then process the input to create a report, send notifications, or start another application.

Command Tables

Command tables are lists of commands that you define for your application. Command tables consist of a list of command names and the action that is to be taken when the command in entered.  There are four types of command tables:

  • System command table, for commands that you can enter anywhere in ISPF
  • Application command table, for commands that are specific to your application
  • User command tables, for commands for a particular user.
  • Site command tables, for everyone at a site.

Variables

Variables communicate information among the various elements of an application. Variables can be shared among:

  • Panels
  • Messages
  • Skeletons
  • Functions   

Tables

Tables are 2-dimensional arrays of variables that you can use to store and organize application data. The Command Table is one specific example of a table.

Panels

Panels are what we call screen images. An application presents a panel, and the user enters information that the application can use. There are several types of panels:

  • Selection Panels. Use selection panels to display a list of processing options you can choose from. The Primary Option Menu, shown previously, is an example of a selection panel
  • Data Entry Panels. Use data entry panels to enter information for your application to process
  • Table Display Panels. Use table display panels to show some or all of the information in a table
  • Information only panels. Information only panels, or tutorial panels, present information to users.

You can define panels with either a simple set of panel definition keywords, or a set of HTML-like tags.

Messages

Messages relay information about application processing to your users. Messages are displayed in a message area of the panel. Messages are defined by using a special set of keywords.

File Tailoring Skeletons

File tailoring skeletons are templates you can use to format data.  You can use skeletons to format table data into a report, for example.

[{"Line of Business":{"code":"","label":""},"Business Unit":{"code":"BU054","label":"Systems w/TPS"},"Product":{"code":"SSBLLD","label":"ISPF for z/OS"},"ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Version(s)"}]

Document Information

Modified date:
04 December 2020

UID

ibm16378372