If you are like me, you keep yourself busy doing work for others and forget about doing work for yourself. It is difficult keeping up with all the changes in our industry and the software we use. ISPF/PDF, the Interactive System Productivity Facility/Program Development Facility, commonly referred to today as simply ISPF, is one of the mainframe’s most popular tools but you may have missed some of the more recent product changes.
For the past several years at SHARE, I have presented a series of ISPF Master Classes. At SHARE Kansas City in August, I presented the “Best of” the ISPF Master Classes covering many of the favorite items from my earlier sessions. Here are a few of the things I covered.
EPDF Command
- #20 From any ISPF command line, the EPDF command can be used to edit, view, or browse a data set. For example, EPDF ‘DAND.EXEC(RESC)’ will edit member RESC. Appending the V or B option to the command will change the function from edit to either view or browse, respectively. Enter just EPDF to display the help panel of all available options.
Edit/View Line Commands
- #19 The A, B, and O line commands are used to specify the target for the Copy and Move line commands. The K (Keep) suffix can be used to designate multiple targets for Copy and Move. Use the AK, BK, or OK line commands to designate initial targets and use A, B, or O to designate the final target.
- #18 The HX line command can be used to toggle the hex status of a subset of lines in the data set. The line command can take a numeric suffix and the HXX block command is also available. The HEX OFF primary command will reset the status of all line back to normal.
Edit/View Primary Commands
- #17 The Find, Exclude, and Change commands now support Regular Expressions in addition to Picture strings for wildcard searching. For example, F r’dsn.*disp=’ will find any dsn string followed by disp=. Likewise, X ALL followed by F all RC’(IF|ELSE|ENDIF|COND=)' word will pop out conditional logic from a JCL member. Note: The string must conform to the format allowed by the REGCOMP function supported by the C runtime library and the C runtime library must be available.
- #16 The HIDE X command eliminates the - - - - - n Line(s) not Displayed lines from the display and replaces them with underscored line numbers. This is very helpful for workstation copy/paste. Use RES H to revert back.
- #15 The FLIP command flips the status of all lines from excluded to non-excluded and vice-versa.
- #14 FLIP is one of the many primary commands that accept line labels to designate either a range of lines or a target destination. The built-in labels .ZFIRST (.ZF) and .ZLAST (.ZL) represent the first and last data line, respectively. You can label any data line by typing a period followed by an alphabetic character string. Labels starting with Z are reserved by ISPF. Here are the primary commands that support labels:
FIND
|
SEEK
|
CHANGE
|
EXCLUDE
|
LOCATE
|
RESET
|
SUBMIT
|
FLIP
|
CREATE
|
REPLACE
|
CUT
|
PASTE
|
COPY
|
MOVE
|
DELETE
|
SORT
|
Data Set List Line Commands
- #13 In addition to the = line command to repeat the prior command, the // line command can be used to perform the same command on a block of data sets. Prefix the command with // on the first data set to process and use just // on the last.
- #12 The AL (Allocate) line command will allocate a new data set like the one in the data set list. It is unique in that you must provide the new data set name on the initial command (instead of a pop-up panel). This will likely require you to add single quotes around the new data set name. You will then be presented with a panel to select the attributes for the new data set
- #11 The CO (Copy) and MO (Move) commands will copy or move the listed data set to a new data set.
- #10 Data sets can be excluded from the list using either the X primary command or the X line command. The NX line command will remove the exclude status. NXF and NXL will also remove the exclude status but only for the first or last excluded line, respectively.
- #9 The RA (Reference List Add) command enables you to build a list of data sets that you can later display using the DSLIST command (see below). A pop-up panel will be displayed to enter the name of the list (e.g. MY). A list can contain data sets with different high-level qualifiers.
Data Set List Primary Commands
- #8 The F (Find) and X (Exclude) commands act similarly to their Edit/View counterparts to find and exclude data sets in the list.
- #7 The M (Member) command searches all partitioned data sets in the list for a member or member pattern. Data sets with matches will be indicated with a Member: xxxx message.
- #6 The SRCHFOR command looks for the provided parameter in all data sets/members in the list. Those with the parameter will be indicated with a String(s) found message. If you do not specify a parameter, a panel will be displayed allowing you to enter multiple search strings as well as options controlling the search and its output.
DSLIST Command
- #5 Like EPDF, the DSLIST command can be entered on any command line to display a list of data sets. Entering DSLIST ‘SYS1’ displays all of the data sets with SYS1 as the high-level qualifier. To display the “MY” list created earlier with the RA line command, enter DSLIST MY on the command line. Entering only DSLIST will display a list of the available personal lists for selection.
z/OS Unix Directory Lists
- #4 Option 3.17 enables you to display (or print) a list of z/OS Unix files for a Pathname. Most of the line commands and primary command for option 3.4 are available for the file list (as well as many others). The RA line command allows you to build a list of files, e.g., MYF that you can later reference with the UDLIST command.
- #3 The UDLIST command can be entered on any command line to display a list of files. To display the “MYF” list created earlier with the RA line command, enter UDLIST MYF on the command line. Entering only UDLIST will display a list of the available personal lists for selection.
- #2 You can also use a pathname as a parameter for UDLIST. If the pathname includes lowercase characters, you will want to use the option 6 command line to prevent ISPF from folding the command to uppercase.
REFOPEND (Personal Data Set Lists)
- #1 Finally, maybe ISPF’s most well-hidden command, the REFOPEND command can be used to display and edit personal data set lists as well as personal file lists for use with the DSLIST and UDLIST commands.
I hope you’ve found something useful among these tips.
Dan Dirkse is a former member of the ISPF/PDF development team, a cbttape.org contributor, and has been consulting independently for many years. He has been a frequent speaker at SHARE and GSE/UK conferences and curates ISPF-related content for LinkedIn’s Mainframe (COBOL, JCL, DB2…) Experts group.