IBM® ISPF Productivity Tool for z/OS®, V7.1, operates as a seamlessly integrated front end to ISPF for z/OS to provide productivity aids to system programmers and application programmers. It can save keystrokes, time, and effort for anyone who uses ISPF.
For related information about this topic, refer to the following IBM Redbooks publication:
Improving Productivity with IBM ISPF Productivity Tool V7.1 for z/OS, SG24-8093-00
IBM® ISPF Productivity Tool for z/OS® is an ISPF application that provides significant productivity improvements and time savings to ISPF users on IBM z/OS systems. ISPF Productivity Tool operates as an integrated front end to ISPF, and it enhances and extends ISPF capabilities. This tool also delivers new batch and online functions to manipulate partitioned and sequential data set directories, and it improves performance for copy and compress operations for partitioned data sets. ISPF Productivity Tool is a productivity aid to systems and applications programmers because of the various functions it provides. For example, it includes shortcuts, navigational aids, automatic PDS compression and directory expansion, and search capabilities for volumes, data sets, members, and text within members.
Using ISPF Productivity Tool for z/OS can help your z/OS installations achieve higher levels of productivity.
Figure 1. ISPF Productivity Tool for z/OS
Did you know?
Many IBM z/OS users have experience in working with ISPF and know how to quickly navigate the panels, but other users who are new to the IBM System z® environment, were trained in workstation GUI tools and interfaces. Between these groups of users, one common trait is that, when they work in ISPF, they are looking for tools that offer time-saving advantages, which they now have with IBM ISPF Productivity Tool for z/OS. ISPF Productivity Tool for z/OS increases the productivity of existing ISPF users and attracts new users by enabling them to become efficient quickly. ISPF Productivity Tool boosts productivity for all users, including developers, system programmers, technical support, and operations and control personnel.
Time is valuable for development organizations, making productivity tools important to the overall bottom line of operations costs. IBM ISPF Productivity Tool for z/OS boosts productivity for all ISPF users who need tools that offer time-saving advantages.
By using ISPF Productivity Tool, you can increase daily performance and productivity by minimizing the amount of typing and screen navigation that are required to perform specific tasks. ISPF Productivity Tool provides shortcuts that help you to make more efficient use of your time when working on a z/OS mainframe. ISPF Productivity Tool standardizes the tools that you need to be productive with ISPF. These aids are great time savers for experienced users and are often of greater value to inexperienced users by providing them a simplified path for performing tasks. In addition to the many usability features, ISPF Productivity Tool supports the double-byte character set (DBCS).
IBM ISPF Productivity Tool combines a range of ISPF utilities and new functions with the standard ISPF functions, such as Browse, Edit, and View. It provides extensive search capabilities and provides drill down capabilities to locate volumes and data sets with extended functions at all levels. Programmers access these extended features by entering commands on the command line or in the selection field for a particular data set or member. They can also use hotbars, field-sensitive areas, and point-and-shoot techniques. Extensive help is available by using a simple command from any panel.
The functions of the ISPF Productivity Tool are added to a user's session through an update of the Time Sharing Option (TSO) logon procedure. These functions enhance productivity through many commands, utilities, and navigational features for commonly used activities. System and application programmers can save a substantial amount of navigation time and can get their work done more efficiently.
ISPF Productivity Tool is integrated into almost every aspect of ISPF to provide numerous productivity aids and shortcuts. For example, when viewing the output from a job, you want to open a data set that you see in the output. You can enter a command, such as the edit (ed) command. Then, you point your cursor to the data set name and press Enter (Figure 2) to open the file for edit.
Figure 2. Pointing to a data set name in a point-and-shoot text field to open the file for edit
Another shortcut is opening a file for edit. You can enter the edit command (ed) by using a pattern to list all data sets that match the pattern and then select a file in the resulting list (Figure 3).
Figure 3. Shortcut for selecting a file for edit
If you have seen the “No space in directory” message when adding members to a partitioned data set (PDS), you might recall the number of panels and keystrokes that ISPF requires when allocating a new PDS, copying the members, and renaming the data set. With ISPF Productivity Tool, you see a confirmation window to expand the PDS directory (Figure 4). When you press Enter, the PDS directory is expanded, without leaving the edit session of your PDS member.
Figure 4. Expanding a directory when needed
Another time saver is the history and permanent command lists that is available in the TSO command shell. The history command list is the list of most recently executed commands, with older entries rolling off as new entries are added. The maximum number of entries in the history command list is 999 commands. You can run history commands from TSO Option 6. The permanent command list contains the commands that you intend to retain permanently. The maximum capacity of the permanent command list is 999 commands. You can run permanent commands from any ISPF panel. The history command list is displayed when you enter the TSO command shell (Figure 5). You can switch to the permanent list by entering the /p command.
Figure 5. History command list in the TSO command shell
For organizational aids, ISPF Productivity Tool introduces the concept of an object list (OLIST). An object list is a data store reference that is used to organize all of the required resources for a project into a single project folder called an OLIST. An OLIST is a list of files and objects that can include the following items and more:
- Sequential files
- PDSs extended (PDSE)
- Virtual Storage Access Method (VSAM) files
- PDS members
- IBM DB2® tables
- z/OS UNIX directories and objects
Many commands are available in ISPF Productivity Tool to work with OLISTs. These commands introduce a various ways to use OLISTs. For example, you can create a temporary OLIST that contains all the files that are allocated to your TSO session. Another example is creating a temporary OLIST of authorized libraries (by the authorized program facility (APF)) and using the VALIDATE function to ensure that the list is current. Alternatively, you can create an OLIST of all files that begin with "IMS" but that do not contain the characters "test." Then you can perform some action on the files as a group, for example recall or delete.
Although you can create a temporary view of data objects, sometimes you might want to save a set of objects that you can use frequently in a particular operation. The set of objects can be as simple as the set of libraries that you use the most or the set of databases that you monitor or maintain.
After you have your OLIST, you can go through the processes one step at a time by selecting and acting on the files in the list. From the same OLIST, you can also perform such actions as edit, browse, view, copy, rename, allocate, compress, empty, submit, print, and recall. An OLIST is created with a simple command. For example, the ol dnet187.adlab.* command creates an OLIST similar to the example in Figure 6 with all the data set names that match that pattern.
Figure 6. Object list
From the list, you can select an object to perform the default action (in this case edit). Alternatively, you can enter a command, such the browse command (B) on the member command line. You can also change the default action. In this example, the list contains VSAM files, which you can open automatically in File Manager if it is installed on the system.
Another key feature is member selection lists. A member selection list is similar to the ISPF member list that is presented when opening a PDS or PDSE. However, a member selection list from the ISPF Productivity Tool provides enhancements that perform complex functions, minimizing the keystrokes and navigation that are required to perform a task.
A member selection list is displayed when you select a PDS or PDSE from an OLIST (Figure 7).
Figure 7. Member selection list
By using a member selection list, you can perform various tasks on the list. For example, you can use filters to select members in the list, use global find and change commands to locate or change data in several or all members of a PDS or PDSE, and perform global edits.
The batch utility is a new component in ISPF Productivity Tool V7. System and application programmers use the batch utility in ISPF Productivity Tool as a productivity aid to manage and manipulate partitioned and sequential data sets. The batch utility in ISPF Productivity Tool is fully compatible with the IBM IEBCOPY utility and provides additional functionality on top of standard IEBCOPY capabilities. For programmers, you can use the batch utility to manage PDS members, including deleting members (and then recovering them), renaming members, and adding alias names to members of a PDS. You can also copy or move members of a PDS and merge them into another PDS or sequential data set. At the data set level for a PDS, you can use the utility to empty and compress data sets and to expand the directory of PDSs. Additional productivity aids are available for sequential data sets. The ISPF Productivity Tool batch utility can also assist in preparing and managing managed lists of member titles in a PDS.
ISPF and ISPF Productivity Tool work together as one product. ISPF Productivity Tool uses hotbars, field-sensitive areas in the OLIST, member selection lists, and 47 shortcut commands to minimize the time to complete the job. By using a single command that you start from an OLIST, you can search multiple files for a member name, data within a member, or data in sequential files from an OLIST. With ISPF Productivity Tool, you can make global changes to PDS or PDSE members. These features are a few of the time-saving features that ISPF Productivity Tool provides.
This section highlights the following usage scenarios:
- Organizing your work by using permanent OLISTs
- Managing data sets in a development cycle
Organizing your work by using permanent OLISTs
This scenario involves an activity that frequently occurs for a development center programmer. The organization's asset manager has several large Microsoft Excel spreadsheets that include such details as assets, contacts, orders, shipments, and deliveries. The asset manager updates and manipulates the spreadsheets to attempt reconciliations. Because the senior auditors were unable to manipulate large volumes by using LOOKUPs VLOOKUPs, they asked the development center programmer for assistance with the complicated cross-matching of data. This request became a periodic on-demand task for this programmer.
The programmer can resolve the problem in several ways. For example, the programmer can use DB2 tables if they are consistent and precise in their use of the spreadsheets, but they are not.
Because this programmer is adept in REXX and has a large processor, the programmer saves and uploads the spreadsheets as comma-separated value (CSV) files and processes them by using compiled REXX programs. Although the file formats, content, and requirements change each time, the activity is similar each time that it is requested. The spreadsheets to be matched (two, three, or sometimes up to six) are sent to the programmer, who uploads them to the host. A new REXX exec is then tailored based on previous examples. Then it is compiled and tested, and any required modifications are applied. The results from the match are downloaded to the PC and then sent by email to the auditors.
The developer creates a new permanent OLIST, shown in Figure 8, that contains the objects and libraries that are needed for the project. The list includes the data sets that are needed for file transfer, the CSV that contains the spreadsheet data, and the data sets that are needed to run the job.
Figure 8. Permanent OLIST of the objects used in the project
Now that the process is in place, the asset manager sends the file as an IBM Notes attachment. The following list summarizes the tasks that the programmer completes on the host to process the files:
- The programmer selects the first data set in the OLIST. The data set contains two members: one with FTP commands to upload the files and one with commands for downloading the files after processing. The programmer selects the member with the upload commands, copies the commands into a command prompt, and then runs the commands.
- The programmer selects the job control language (JCL) that processes the files from the OLIST and updates the JCL with the names of the uploaded files and new output file names.
- The programmer selects the compiled JCL from the OLIST and then modifies it to compile the new REXX exec.
- The programmer selects the EXEC data set from the OLIST and then creates or modifies the code as desired.
- The programmer selects the JCL from the OLIST that compiles and linkedits the REXX exec and then submits the JCL for execution.
- The programmer selects the JCL that runs the REXX exec from the OLIST and then submits the JCL for execution.
- The programmer downloads the output CSV to the PC by using the same process as in step 1.
Managing data sets in a development cycle
During the development cycle of a software release, the developer needs to needs to recreate the production environment for testing. This process involves copying many data sets from the production environment to the test environment. Although the developer can use the IEBCOPY utility, the developer recognizes that, over time, unnecessary members were added to the data set and should not be carried forward into the test environment. Fortunately, the ISPF Productivity Tool Batch Utility (IQIBUTIL) extends the IEBCOPY capabilites, allowing a user to copy and replace only selected members of a particular data set. The member name pattern mask support of the utility supports two member name pattern characters:
- A wildcard asterisk (*) represents any string of zero or more characters.
- A wildcard percent sign (%) represents any single character.
With this support, the user can selectively process members in copy and move operations, reducing the steps required to complete this process.
Figure 9 shows the JCL and utility statements to copy one of the data sets to the test environment.
Figure 9. JCL and utility statements to copy one of the data sets to the test environment
In this example, all members with names that begin with ABC, except for members ABC12345 and ABCDUMMY, are copied from the input library, specified by the INDSN parameter to the output library, specified by the OUTDSN parameter. To ensure the data sets in the test environment are kept separate from production, all member names that match the filtering criteria are renamed in the output library, with an X in the first character and a Y in the third character of their original names. The input data set is dynamically allocated with a disposition SHR. The output data set is dynamically allocated with a disposition OLD. The data set disposition is specified in the EXEC parameters. The names of all copied members are reported in the SYSPRINT output data set.
After the test cycle is complete, the development team needs to move the source code for the new release from the test data sets into the production data sets (Figure 10).
Figure 10. Moving the source code for the new release from the test data sets to the production data sets
As part of the process, the test data sets must be prepared for the test cycle of the next release by deleting the tested members. The move function is not available in the IEBCOPY utility but is supported by the ISPF Productivity Tool Batch Utility. Therefore, the developer uses the utility to move the data set members. Using a move operation instead of a copy eliminates the additional cleanup steps that are required to delete members.
Three members of the source PDS, specified by the IDS keyword, are copied into the target PDS that is specified by the ODS keyword. The same three members are then deleted from the input data set. Both data sets are dynamically allocated when the job is executed. To ensure that the target data set is in the proper state for the move, the utility checks whether member MEM300 is already present in the output data set. If it is present, return code 4 is generated by the MOVE operation, and none of the selected members are deleted.
The process of copying and moving data sets between the test and production environment is repeated many times by the development organization. Using the batch utility ensures that the process is done quickly and efficiently. It also ensures that the test and production environments remain separate.
The IBM ISPF Productivity Tool extends the functions that are provided by ISPF to other data set objects, including VSAM files, Software Configuration and Library Manager (SCLM) libraries, Librarian or Panvalet libraries, z/OS UNIX System Services, PC files, DB2 tables, and other object classes.
By using the ISPF Productivity Tool customization wizard, you can define the CLIST that is used by the various products. Then, you can access the following files directly from an OLIST:
- VSAM files:
- IBM File Manager for z/OS
- Other third-party products
- Software configuration management systems:
- IBM SCLM
- Other third-party products
- DB2 tables:
- IBM File Manager or DB2 for z/OS (with ISPF Productivity Tool V5.10)
- Other third-party products
ISPF Productivity Tool is also a valuable tool for users who are adopting IBM Rational® Developer for System z. Often, much of a programmer's time is consumed not by actual programming, but by keeping track of data sets, libraries, and members that they work with on a daily or hour-by-hour basis. For these highly specific tasks, users can use the Rational Developer for System z Host Connection Emulator to perform the following tasks:
- Log on to z/OS directly and manipulate JCL
- Compress or empty PDS
- Search across concatenated libraries
- Perform various other tasks in support of the System z environment
By installing ISPF Productivity Tool, users have all the additional capabilities of the tool and can still enjoy all the benefits of the Rational Developer for System z GUI. For more information about Rational Developer for System z, go to:
IBM ISPF Productivity Tool can be installed in any supported release of z/OS with ISPF installed. For more information about the system requirements, see the ISPF Productivity Tool page at:
Table 1 highlights the ordering information.
Table 1. Ordering part numbers and feature codes
|Program name||PID number||Charge unit description|
|ISPF Productivity Tool for z/OS, V7.1||5655-SPF||Value Unit pricing|
|ISPF Productivity Tool for z/OS Subscription & Support||5698-S89||Value Unit pricing|
For more information, see the following documents:
- Improving Productivity with IBM ISPF Productivity Tool V7.1, SG24-8093
- ISPF Productivity Tool for z/OS product page
- IBM Offering Information page (to search on announcement letters, sales manuals, or both):
On this page, enter ISPF Productivity Tool for z/OS V7.1, select the information type, and then click Search. On the next page, narrow your search results by geography and language.
This material has not been submitted to any formal IBM test and is published AS IS. It has not been the subject of rigorous review. IBM assumes no responsibility for its accuracy or completeness. The use of this information or the implementation of any of these techniques is a client responsibility and depends upon the client's ability to evaluate and integrate them into the client's operational environment.