IBM introduced significant enhancements in ISPF version 7.1 for z/OS 2.1, which was released in September 2013. Let’s take a look at these new options, commands and settings as well as some changes to MVS/JCL.
UNIX Directory Lists
ISPF option 3.17 and the UDLIST command produce a z/OS UNIX directory list with an eight-character input field to the left, in front of the directory or file name (see Figure 1). The line command field on UNIX directory lists has characteristics similar to both data set lists and member lists, which were discussed in our previous “ISPF Power Tools” series (see “Resources” at the end of this article for links to these articles). These fields display as eight characters, but are actually 255 characters and scrollable. The ZEXPAND command (F4 on the default UDLIST Keylist–ISRSABX) displays a separate screen with the entire 255-character line command field. Several updates introduced in ISPF 7.1 enhance access to the z/OS UNIX file system:
The SRCHFOR command. UNIX directory lists under z/OS 2.1 now support the use of the SRCHFOR command from the directory list command line. The SRCHFOR command was first introduced for data set lists in ISPF 5.2 and was extended to member lists in ISPF 5.5. This command searches files for specified text, produces a report file that details the results and flags the files where the text was found.
Block line commands. These are supported for line commands issued in the eight-character input field in front of the directory or file name. An example of a block line command would be using //>cat to mark the first file in a list to be displayed and // to mark the last file to be listed. This is the same format used for block commands on a data set list and in the IBM System Display and Search Facility (SDSF), but can be used with any ISPF built-in line command, z/OS UNIX commands, TSO commands and REXX or CLIST programs. The command may follow the opening // or the closing //, and multiple blocks may be defined on the list at the same time, although nested block commands aren’t permitted.
File path substitution. A path substitution character (!) can be used when issuing commands against a UNIX file. This is equivalent to the (/) character used in commands entered on a data set list. Normally, the file path is passed as the first parameter to a command typed in the line command field such as >cat issuing the UNIX shell command “cat” against the full file path for the current file. If you needed the file path as the second (or later) parameter, you would use the exclamation point (!) to represent the full file path.
Automatic lowercasing of file paths for the UDLIST command. If the UDLIST command is issued from an ISPF command line that’s uppercased by default, the file path will be translated to lowercase when no match is found. Because TSO was once uppercase-sensitive, there are many ISPF command lines and input fields that will automatically force entries into uppercase. UNIX file paths aren’t only case-sensitive, they’re most often lowercase. The improved UDLIST command addresses this issue.
UNIX directory list from ISPF option 3.4. In ISPF option 3.4 (DSLIST) (see Figure 2), the Dsname Level field also accepts UNIX file paths and will display the UNIX directory list. In previous releases, the Dsname Level automatically uppercased the input and required entries to conform to z/OS data set name specifications.
Start ISPF with multiple windows. A new variable, ZSTART, can be defined under ISPF option 7.3. The format of the variable definition is: ISPF;command;command… (see Figure 3). This example is from the Dialog Test Option (7.3) on an ISPF 7.1 system where option 8 is SDSF. In this case, SDSF is invoked, the Held Output queue (H) is displayed and a screen name is applied using SCRNAME. The PERM option maintains the screen name until the user exits ISPF. The START DSLIST CLASS command creates a second screen displaying all data sets that start with the user’s TSO PREFIX (usually your logon ID) and a second level of CLASS. This screen would use the default screen name DSLIST.
The ZSTART variable actually creates a command stack that’s executed each time ISPF starts. You can use it to execute any series of commands, but the beginning of the variable definition must be the letters ISPF in uppercase.
Enhanced member lists. The prompt field on the enhanced member list can be used to pass an argument to a command issued using the line command field to the left of the member name.