User Interface on Mainframe


The objective of this document is to explain the model of creating a panel based user interface on mainframes. The ingredients of this hot recipe will be CLIST, ISPF PANELS, ISREDIT MACROS, SKELS, JOBS, and MESSAGES etc.

Hope you have mouthwatering start!!

The 3 Questions

Before you start, find answers to these questions

1. What are the routine tasks on mainframe that you wish to automate?
2. What is the cost involved in doing such routine tasks? This can be calculated in terms of man hours of doing the work manually and rework in case of errors?
3. If these tasks are automated, are you going to save significant amount of cost (cost as per Q2)

Once you have the answers for the above questions and you think it’s feasible to go ahead then you can continue to read the whole article or else you can skip.

Case Study

To illustrate the model I will take the following case study

Mary works on a project where there are various JCL’s that need to be run on ad hoc basis and require tailoring by the user as per the request. These jobs include pulling test data from production, creating ad hoc reports, creating table dumps etc.

Now each time a request comes a resource that is well trained on these changes takes care of the changes and complete the request.

Cons of the existing system:
    Training required for making the changes
    Cost of rework involved
    Quality of product is not consistent

Alternative Solution


Automation!! As I always propose. Will it do away with the humans? - Of course Not, as we would still depend on humans to automate things.

Automation Model





A panel is an interface for interaction between the user and the clist/rexx program. Panel definition includes both the content and format of a panel. The panels are invoked by procedural language (e.g. Clist or REXX) using ISPEXEC services. The user’s response can determine which path is to be taken through the dialog, in case of a selection panel or response can be interpreted as data in case of a data-entry panel.


A skeleton file is a generalized representation of sequential data. It can be tailored during dialog execution using the file tailoring service to produce an output data set e.g JCL. The processed skeleton can be used to drive other processes.

User Messages:

Messages library contains the definitions of user defined messages. Message definitions specify the format and text of messages to users. Messages here are used as error handling tool and it  can be used to report an error or status of an action requested by the user