Changing Default ISPF Settings

This is a simple discussion of some basic ISPF settings, for people who don't know much about ISPF.  (It can be a surprising disadvantage to find oneself in that situation.)  So if you already know everything, move along, there's nothing for you to see here . . .

There are a lot of ISPF settings available to you in Option 0, "ISPF Settings".  Many of the defaults can seem inconvenient to the point of being annoying.  That makes it hard to decide what to reset first — so let's start with the most disagreeable, and feel comforted by the fact that at least none of the defaults cause anything to be blinking in reverse video with a bright fuchsia background.

What's the single most troublesome default ISPF setting?
It's a tight race:
. . .  The input command line being positioned at the bottom of the screen rather than at the top ?
. . . The fact that the HOME key sends the cursor up to that "Action bar" line at the top of the screen, which is almost never where you want it to go ?
. . . The fact that F12 defaults to mean CANCEL ?
. . . The decorative underscores (the underlining) adorning almost all the input fields on all the screens ?

That's a 4-way tie already.

Since these are conveniently easy to change, let's do these first.  Yes, this article is bound to lead to future continuations of the world of  ISPF settings — but for today, let's start by learning how to set F-keys and change the other annoying things just mentioned.

This becomes a step-by-step guide now.  I'll be assuming you will actually be changing your settings while you're reading.

Change the Position of the Command Line 

From the ISPF primary option panel, select option 0, "Settings".

The "ISPF Settings" screen will appear.

In the lefthand column of that screen, you can toggle the on/off setting of any option by the presence or absence of the slash character on the far left.  When the slash is there, the feature is turned on. When you remove the slash, you turn the feature off.

The best thing for you to do here now (in my opinion) is this:
Immediately blank out the slash (/) at the left of "Command line at bottom", and press enter.

As soon as you press enter, the command entry line should immediately move from the bottom of the screen to a place near the top.  (That's the line that appears on almost every screen and says something like
"Command ===>"

Why is it good for you to move this line ?
The goal is for you to be able to press the "Home" key at any time to get the cursor to return to the "Command ===>" line.  This brings you halfway to that goal.  It also means you won't have to tab through all the other input fields on the screen to get down to the line where you can enter a command.

Now direct your attention a few lines further down the "ISPF Settings" screen, to the line that says "Tab to action bar choices".
Remove the slash (/) to the left of that line also, and press enter again.

NOW you should be able to press the "Home" key, and have it take you to the "Command ===>" line.  As a practical matter, using ISPF to do practical stuff, you want to have an easy way to get the cursor to go straight back to the line where you enter your commands. Now you can do that.

This would be a good time to save your settings, assuming you actually just changed them.

Usually, when you change ISPF settings, the software doesn't really save the new settings permanently until you exit ISPF.

So, suppose you just changed your settings, and you walk away from your TSO session without exiting ISPF or logging off?  In most places, your idle TSO session times out and dies after some amount of time (whatever amount of "TSO idle timeout" happens to be set, at your place, for your ID).  From the point of view of the ISPF session you left abandoned, this counts as an abend, a crash. The changes you made are lost.  So, what happens after that?  Next time you LOGON again you will need to reset your ISPF settings all over again.

So, be sure to exit ISPF in an orderly way anytime you change your settings and you want to preserve the changes.

If you just changed your ISPF settings, go ahead, save them, just logoff and logon again, and we'll go on to the next item on our list of annoyances.

What's up next?  Resetting that annoying "F12=Cancel" is a good idea.

Reset What F12 Does (and what the other F-keys do)

On the "Command ===>" line, type the word KEYS and press enter.  Yes, it's that simple (almost).  A popup box will show you the current meaning for each of the 12 primary function keys.  Go down to F12, and in the second column (under the "Definition" heading) change the "definition" of F12 from CANCEL to RETRIEVE.  Or CRETRIEV is okay too.  Just overtype the word CANCEL with the new setting, RETRIEVE (or CRETRIEV).  Voila, it's reset !  But, yes, there are caveats.  Keep reading, we're getting there . . .

What does Retrieve do for you?, perhaps you wonder.  Well, it brings back a copy of the last command you entered, placing it in the command entry field for you, so you don't have to retype it if you want to do the same thing (or almost the same thing) repeatedly.  The system holds several of your most recent commands, in a wrap-around list.

CRETRIEV (which stands for Command Retrieve) is similar to RETRIEVE, with minor nuances. In one way, RETRIEVE is nicer, because it doesn't matter where the cursor is when you press the F-key that means RETRIEVE.  When you choose CRETRIEV, the cursor is supposed to be on the command line already before you press the F-key.  On the other hand, CRETRIEV works better in SDSF, and maybe in some other places I haven't found.

So, you overtype the word CANCEL (or any other F-key "definition") with RETRIEVE or CRETRIEV or any other command you like.  That changes it, instantly, at least for this set of definitions.  Hunh?  Yes, there are multiple sets of definitions of the F-keys.  We'll get to that.

Now, What about that other column, where it says "Label", on the far right?, you ask.

Tab over and blank it out, and it'll reset itself to the appropriate new label.

Why is there a column for "Label"?  Anytime you say PFSHOW on the command line, ISPF will display the current settings of the keys, near the bottom of the screen — when you type PFSHOW repeatedly, it will take turns between showing the settings of all the keys, showing the settings of some subset of the keys, and turning off the PFSHOW display entirely.

The column designated "Label" determines what PFSHOW will display as the explanation for each key.

So if you have a bizarre sense of humor, or an antisocial disposition, you can set the labels to say something contrary to the actual definitions of the keys.  Or, you can set something cutesy or quirky, or use acronyms that only you will recognize.  (Settle yourself down and such urges usually pass.)  Most often it's as well just to blank out the label and let ISPF set it to match the definition.  Usually.

CRETRIEV? you ask.  Okay, there are some ISPF commands whose names don't do much to suggest their actual function, such as CRETRIEV and, uh, "NRETRIEV".  What will NRETRIEV do for you, you may wonder, if you set one of your keys to mean "NRETRIEV"?

Imagine you're on the ISPF EDIT Entry Panel, with the cursor positioned to the "Other data set name" entry field.   If you press a function key that you've set to NRETRIEV, it will bring back the name of the last dataset you edited.  You press the same key again and again to go back through a log of previously edited datasets.  It's similar to Retrieve, except it's for dataset names instead of ISPF commands.  That can be handy, right?  Sure.  See, you're liking TSO better already — admit it.  (Disliking it less?)

Note that it matters where you have the cursor positioned when you invoke NRETRIEV.  If you position the cursor to the "Other Data Set name" entry field, the retrieved DSNs appear in that field.  The DSN choices presented to you from that list will include ALL the data sets you've edited most recently, even very long dataset names that you may have accessed from the 3.4 Data Set List screen.

If you do NOT have the cursor positioned to that one field, then the names that are retrieved overwrite the "ISPF Library" Project+Group+Type+Member area — you know, the three-part dataset name, with the DSN that ISPF remembers for you.  These dataset names come from a different list — This other list only includes names that you previously entered in the "Ispf Library" area.

Personally I usually have F6 set to NRETRIEV, and then (just for this special case) I set the "Label" for F6 to "Prev DSN".

So, the "Label" column can be useful, if used sparingly.

Wait, you're thinking, Hold on a minute. That's all very nice, but isn't F6 used for "Repeat Change" in Edit?  Oh, and what did I mean when I said "(almost)" back near the start of talking about resetting F12?

Here's the punch line:  You don't have just ONE set of function keys.  You have at least a dozen different sets of F-keys, depending on WHERE you are in ISPF.  Vocabulary item: These sets of function keys are called "Keylists".

The set of keys you get on the ISPF "Edit Entry Panel" happens to be the same as the set you get when you say "KEYS" in "Option 0, Ispf Settings". The keylist you get while you're actually editing — when you're past the initial Edit Entry Panel — Well, that's a different keylist.

Take a look again at that popup box you had up on the screen before, the one that comes up when you say KEYS — the popup box with the keys and their definitions listed.    If you enter KEYS from ISPF option zero, you can see that it says, fairly near the top — sort of as a subheading — "ISR Keylist ISRSAB Change".  Yes, this keylist is named ISRSAB.

If you go someplace else in ISPF and type "KEYS" on the command line, you might still get ISRSAB (which will happen for the "Edit Entry Panel"), or then again you might get some other Keylist (like when you're actually in edit mode, editing something, at which time you get ISRSPEC).  In the ISPF Edit member selection list, you get yet another different Keylist, ISRSPBC.

If you go into some other product that fits nicely into ISPF but is not really part of ISPF — something like SDSF, or the File-AID Editor, or Endevor — then when you type KEYS there it will (probably) show you the function keys and let you revise them; but usually it doesn't use the same KEYS popup screen — it uses a different screen that doesn't show a Keylist name.  So, those sets of keys you can't really change from "Option 0, Ispf Settings".  To change those, you pretty much have to select each product separately and type KEYS within each product to change the keys there.  But I digress; let's go back to the ISPF Keylists that you can change in "Option 0, Ispf Settings".

In option 0, as also in the Edit Entry Panel, you get Keylist ISRSAB.  In the ISPF Edit member selection list, you get a different Keylist, ISRSPBC.  When you're actually editing something, you get yet another Keylist, ISRSPEC.  There are a bunch of different Keylists.  If you want to set F12 to mean Retrieve everyplace, then you need to make sure the keys are set the way you want them in all the Keylists you use.

Yes, you do have the alternative option of suppressing the use of Keylists, so that you have only one Keylist and it is used everyplace — well, almost everyplace — but if you think about it, you can see that having F6 set to "Repeat Change" is quite useful within Edit but not terribly useful in most other places; and NRETRIEV — remember NRETRIEV?  Retrieves names of recently edited datasets, most recent first — Well, NRETRIEV could be useful when you're entering the name of the dataset you want to edit, epecially if you don't quite remember the name exactly.  So why not have F6 set to mean "Repeat Change" while you're actually editing something, but have it set to mean NRETRIEV when you're just entering the DSName?  Similar arguments can be made for other ISPF commands and other keys.

Yeah? Name ONE, you say.  Okay, AUTOTYPE. (Ha.)  Autotype is similar to NRETRIEV, but you just start typing part of a dataset name, hit the key you've got set to "autotype", and it suggests the rest of the name.  (Yes, much like Google, and your email, etc.)  Keep pressing the key to go through its set of guesses (which it presents in alphabetical order, starting with the part you've typed).   Yes, you can accept part of some DSN it suggests, and change the ending, or just lop off the ending, and then press your "autotype" key again to get more suggestions starting with what you've got entered so far.  (I use F5.)  Now is that useful?  Told ya.  It also works in ISPF 3.4, Data Set List, which conveniently uses the same Keylist as the ISPF Entry Panel — our friend ISRSAB — and no, SAB doesn't stand for "Same As Before", at least I don't think it does.

If you want to continue tailoring your function keys, go back to that same "ISPF Settings" option 0 screen, and use the arrow keys on the keyboard to move your cursor up to the top line — the "Action Bar" — to where it says "Function keys".  With the cursor on "Function keys", press enter.  You get a drop-down list that lets you select 1, 2, 3, and so on.

Option 1 will let you set the "non-Keylist keys", the basic keys that ISPF falls back on when no Keylist is in effect.

Option 2 will show you another drop-down list (of Keylist names), and you can go through and change the settings on at least a dozen different Keylists.  Type E to the left of one of the Keylist names in the drop-down list, and you can edit the settings of the F-keys in that list.

You might find that handier than resetting the definitions by going around to all the different screens you use and typing "KEYS" for every one.

Not all the possible sets of function keys are represented in that drop-down list, though.  It doesn't cover the SDSF list of function keys, or the lists for various other add-on products like File-AID and Endevor.  Notice that all of the Keylist names in the drop-down list start with ISR?  Yeah.  ISR and ISP are prefixes used by ISPF.

Short digression: Other products — components — software apps? — each get their own special 3-character prefix assigned, or sometimes they get more than one prefix.  IKJ means TSO itself, DSN means DB2 (go figure), DFH is CICS, DFS is IMS, and so on.  The non-IBM products don't always use the prefixes assigned by IBM, but recently IBM has been "encouraging" vendors to start using the assigned prefixes.  I wonder if IBM is letting Script Waterloo keep the SCR prefix.  That used to be my personal favorite, because the error or warning messages I got were always prefixed SCRW, and it seemed so appropriate.  But let's get back to the present…

Option 3 can be used to specify that you want 24 function keys, not just 12.  The second group of 12 function keys are usually accessed by holding down the "Shift" key while simultaneously pressing a function key.  Shift+F1 would be F13, Shift+F12 would be F24, etc.

Simply choosing "24" here doubles the number of keys you can set to do different things — As an example, consider that a lot of people set one of the keys in the ISPF Edit Keylist (ISRSPEC) to mean "SUBMIT", and then they just press that key when they're editing some JCL and want to Submit it to run as a batch job.  Okay, maybe that doesn't sound like such a big convenience.

So consider CVIEW and CEDIT.  Imagine you're editing that same JCL — What if one of the lines refers to another dataset,,DISP=SHR ?  Well, if you've specified CEDIT (or CVIEW) for one of your F-keys (Say maybe F14, the alternate of F2), then you can position your cursor to the start of that dataset name, press your F14, and be transported as if by magic into a new ISPF Edit (or View) session, editing or viewing that other dataset.  When you press F3 from there you come back to your JCL, like waking up from a dream of the other data.

 Option 9 can be used to turn off the Keylist feature, so the same function keys will be used everyplace — well, almost everyplace.

So, okay.  Enough about Function Key settings. You get that now.  You can finish setting those up later.  What about those decorative underscores?, you may be asking.  Can we get rid of those now?  Well, You read my mind.


This is not intuitively obvious.  Back on that "Option 0, ISPF Settings" screen, up in the "action bar" at the top, just to the right of "Function keys", it says "Colors".

Right, Colors.  Use the arrow keys to move your cursor up to that selection, "Colors", and press Enter.  (Or if you read the previous blogs, and you followed the directions to set up your 3270 emulator preferences so you can just double-click the mouse on various things, then you just need to double-click on "Colors".)

Either way, a drop-down box appears.  You select "2. CUA attributes…"  (Selecting "3. Point-and-Shoot…" seems to do the same thing.)

Like I said, not intuitively obvious. What you see next will be, though.  You get another pop-up screen containing a list of field types ("Panel Element" types).  If you page down (F8) through the list, looking at the column that says "Highlight", on the far right, you will see that some things are set to USCORE.  You guessed it, that means Underscores appear in that type of field.  Overtype the word USCORE with the word NONE for every case where it appears.  Keep paging down (F8) until you're sure you got them all.  I think there are about 40 "Panel Element" types listed.

Other options for "Highlight" include REVERSE and BLINK, but in the end I think most of us will prefer NONE as a setting in almost all cases.

You can, by the way, also change default colors on this same pop-up screen.

Like so many things, it's pretty easy once you know how.

This is probably enough information for one article, right?  We can reset some more ISPF settings next time.  I'm thinking that ISPF "edit" profiles are pretty important for you to be able to reset, but it might be more fun to look at resetting colors and things within the PC 3270 emulation. We'll probably look at one of those things next.