ISPF Settings (Option 0) allows you to customize your personal ISPF environment to match your preferences and work style. Understanding how to configure settings, what options are available, and how profiles persist across sessions is essential for creating an efficient and comfortable mainframe working environment. This tutorial covers all aspects of ISPF settings and profile management.
ISPF profiles store your personal preferences and settings, ensuring that your customizations persist across sessions. When you modify settings through Option 0, those changes are saved to your profile dataset and automatically loaded each time you start ISPF. This personalization capability makes ISPF adaptable to individual work styles and preferences.
Accessing ISPF Settings
To access ISPF Settings, select Option 0 from the ISPF Primary Option Menu. When you select Option 0, ISPF displays the Settings menu, which provides access to various categories of settings you can customize.
Settings Menu Structure
The Settings menu typically displays options for:
Terminal Characteristics: Configure your terminal settings including screen size, character encoding, and display options.
Function Key Assignments: Customize what each function key does.
Editor Settings: Configure editor behavior, preferences, and defaults.
List Settings: Customize how lists are displayed and sorted.
Color Settings: Configure color schemes if your terminal supports color.
Profile Management: View and manage your profile settings.
The exact options available depend on your ISPF version and installation configuration.
Terminal Characteristics
Terminal characteristics control how your terminal emulator interacts with ISPF and how information is displayed on your screen. Proper terminal configuration ensures that ISPF works correctly with your specific terminal type and optimizes the display for your needs.
Screen Size Configuration
You can configure the screen size that ISPF uses, specifying the number of rows and columns. Common configurations include:
24x80: Traditional mainframe terminal size with 24 rows and 80 columns. This is the standard size for most mainframe terminals and emulators.
27x132: Extended screen size with 27 rows and 132 columns, providing more display area for wide datasets or split-screen operations.
32x80: Tall screen with 32 rows and 80 columns, useful for displaying more lines of data.
43x80: Very tall screen configuration, maximizing vertical display space.
Custom Sizes: Depending on your terminal emulator, you may be able to configure custom screen sizes that match your display.
Setting the correct screen size ensures that ISPF panels display properly and that you can see all information without truncation. If your screen size is incorrect, panels may not display correctly, text may be cut off, or the layout may be distorted.
Character Encoding and Display
Terminal characteristics also control character encoding and display attributes:
Character Set: Specify which character set your terminal uses (EBCDIC, ASCII, or Unicode). This ensures that characters display correctly.
Display Attributes: Control how text attributes (bold, underline, reverse video) are displayed on your terminal.
Line Drawing: Configure whether your terminal supports line-drawing characters used in ISPF panels for borders and separators.
Color Support: Indicate whether your terminal supports color, enabling color-coded displays in ISPF.
Proper character encoding configuration is essential for displaying mainframe data correctly, especially when working with EBCDIC-encoded datasets.
Terminal Type
You can specify your terminal type, which helps ISPF optimize its behavior for your specific terminal emulator. Common terminal types include:
3270: Standard IBM 3270 terminal emulation, the most common type for mainframe access.
VT100: VT100 terminal emulation, sometimes used for ASCII-based access.
Custom Types: Your organization may have custom terminal types configured for specific emulators or access methods.
Selecting the correct terminal type ensures that function keys, special characters, and terminal-specific features work properly.
Function Key Assignments
Function keys (PF1 through PF24, and sometimes additional keys) can be customized to perform specific actions or execute commands. Customizing function keys can significantly speed up your work by providing quick access to frequently used functions.
Standard Function Key Assignments
ISPF provides standard function key assignments that work well for most users:
PF1 (Help): Displays context-sensitive help for the current panel or function.
PF2 (Split): Splits the screen to show two panels simultaneously.
PF3 (End): Ends the current function and returns to the previous menu or panel.
PF4 (Return): Returns to a previous location or cancels the current operation.
PF5 (Rfind): Repeats the last FIND command in the editor.
PF6 (Rchange): Repeats the last CHANGE command in the editor.
PF7 (Up): Scrolls up one screen in lists or editor displays.
PF8 (Down): Scrolls down one screen in lists or editor displays.
PF9 (Swap): Swaps between split-screen panels.
PF10 (Left): Scrolls left in wide displays.
PF11 (Right): Scrolls right in wide displays.
PF12 (Cancel): Cancels the current operation.
These standard assignments provide a good starting point, but you can customize any function key to better match your work patterns.
Customizing Function Keys
You can assign custom actions to function keys through the Settings menu. Custom assignments can include:
ISPF Commands: Assign ISPF commands like "EDIT", "BROWSE", or "UTILITIES" to function keys for quick access.
Editor Commands: Assign editor commands like "SAVE", "FIND", or "CHANGE" to function keys.
Custom Actions: Assign sequences of commands or custom actions to function keys.
Menu Navigation: Assign menu option numbers to function keys for quick navigation.
For example, if you frequently use the editor, you might assign "EDIT" to PF2, making it faster to open the editor. Or if you often need to save files, you might assign "SAVE" to a function key for one-key saving.
Function Key Assignment Best Practices
When customizing function keys, consider:
Consistency: Use consistent assignments across different ISPF functions when possible, so the same key does similar things in different contexts.
Frequency: Assign your most frequently used functions to the most easily accessible keys (typically PF1-PF12).
Memory: Choose assignments that are easy to remember. For example, assigning "SAVE" to a key you can easily remember.
Standard Functions: Be careful not to override standard function keys that you use regularly, unless you have a good reason.
Documentation: Document your custom assignments so you remember them, especially if you don't use ISPF frequently.
Editor Settings
Editor settings control how the ISPF Editor behaves when you edit files. These settings affect editing efficiency, display, and default behaviors.
Tab and Indentation Settings
You can configure tab stops and indentation behavior:
Tab Stops: Set where tab stops are positioned. For COBOL editing, you might set tabs at columns 8, 12, and 16 to align with COBOL's Area A and Area B.
Auto-Indent: Enable automatic indentation that matches the indentation of the previous line when you press Enter.
Indent Amount: Specify how many spaces to indent when using indent commands.
Tab Expansion: Control whether tabs are expanded to spaces or kept as tab characters.
Proper tab and indentation settings make editing structured code (like COBOL or PL/I) much more efficient.
Column and Margin Settings
Editor settings include column and margin configuration:
Column Markers: Display column markers at specific positions (like column 72 for COBOL) to help you stay within column limits.
Left Margin: Set the left margin for editing, which affects where text starts when you type.
Right Margin: Set the right margin, which can help you stay within record length limits.
Column Display: Control whether column numbers are displayed and how they're formatted.
Column settings are particularly important when editing fixed-format languages like COBOL, where specific columns have meaning.
Editor Display Options
You can customize how the editor displays information:
Line Numbers: Control whether line numbers are displayed and their format.
Status Line: Configure what information appears in the editor status line (file name, line number, column position, etc.).
Command Line: Set the position and appearance of the command line.
Data Area: Configure how the data area (where file contents appear) is displayed.
Display options help you see the information you need while editing and can make the editor more comfortable to use.
Editor Default Behaviors
You can set default behaviors for editor operations:
Auto-Save: Configure whether the editor automatically saves changes periodically.
Change Confirmation: Control whether the editor asks for confirmation before making certain types of changes.
Case Sensitivity: Set default case sensitivity for search and replace operations.
Search Direction: Set the default direction (forward or backward) for search operations.
Default Mode: Set whether the editor opens in Edit mode, Browse mode, or another mode by default.
Default behaviors reduce the need to repeatedly specify the same options and can speed up your editing workflow.
List Settings
List settings control how lists are displayed in ISPF, including member lists, dataset lists, and other selection lists. These settings affect how you view and interact with lists of items.
List Display Format
You can configure how lists are displayed:
Column Layout: Control which columns are displayed in lists and their order.
Sort Order: Set the default sort order for lists (alphabetical, by date, by size, etc.).
Display Density: Control how much information is displayed per line (compact vs. detailed views).
Pagination: Configure how many items are displayed per screen before pagination occurs.
List display settings help you see the information you need in lists and make it easier to find specific items.
List Interaction Settings
You can configure how you interact with lists:
Selection Method: Set how you select items from lists (single selection, multiple selection, etc.).
Default Actions: Configure what happens when you select items from lists by default.
Scrolling Behavior: Control how lists scroll and how much information is shown at once.
Search Behavior: Set default search behavior for finding items in lists.
List interaction settings make working with lists more efficient and match your preferred work style.
Color Settings
If your terminal supports color, you can customize color schemes for different ISPF components. Color settings make the interface more visually appealing and can help you quickly identify different types of information.
Color Scheme Options
You can configure colors for:
Panel Backgrounds: Set background colors for different types of panels.
Text Colors: Configure text colors for normal text, highlighted text, error messages, and other text types.
Field Colors: Set colors for input fields, output fields, and protected fields.
Highlight Colors: Configure colors for highlighted or selected items.
Message Colors: Set colors for different types of messages (informational, warning, error).
Color schemes can make ISPF more visually organized and help you quickly identify different types of information or important messages.
Color Customization Considerations
When customizing colors, consider:
Readability: Ensure that text is readable against background colors. Poor color combinations can make text difficult to read.
Consistency: Use consistent colors for similar types of information across different panels.
Accessibility: Consider users who may have color vision deficiencies. Don't rely solely on color to convey important information.
Terminal Support: Ensure your terminal emulator supports the colors you're trying to use.
Well-chosen color schemes can improve productivity, but poor color choices can make ISPF harder to use.
Profile Persistence
One of the key features of ISPF settings is profile persistence—your settings are saved and automatically loaded each time you start ISPF. This means you only need to configure your preferences once, and they remain active across sessions.
How Profile Persistence Works
When you modify settings through Option 0:
Settings Are Saved: Changes are immediately saved to your ISPF profile dataset. The profile dataset is typically named USERID.ISPF.PROFILE or similar, where USERID is your TSO userid.
Automatic Loading: Each time you start ISPF, it automatically loads your profile settings. You don't need to reconfigure settings each session.
Session Persistence: Settings remain active throughout your ISPF session until you change them or end your session.
Cross-Session Persistence: Settings persist across different ISPF sessions, so your customizations are always available.
This persistence means that once you've configured ISPF to your preferences, those settings are always active, making your mainframe work more efficient and comfortable.
Profile Dataset
Your ISPF profile is stored in a dataset that ISPF manages automatically. The profile dataset:
Automatic Creation: Is created automatically the first time you modify settings. You don't need to manually create it.
Automatic Management: Is managed by ISPF—you typically don't need to directly edit or manage the dataset yourself.
User-Specific: Is unique to your userid. Each user has their own profile dataset.
Persistent Storage: Is stored permanently on the mainframe, so settings persist even if you log off and log back on later.
Understanding that your profile is stored in a dataset helps you understand how settings persist and where they're kept.
Resetting or Restoring Settings
If you need to reset your settings to defaults or restore previous settings:
Individual Setting Reset: You can reset individual settings to their defaults through the Settings menu.
Profile Deletion: You can delete your profile dataset to reset all settings to system defaults. This requires dataset deletion permissions.
Manual Profile Editing: Advanced users can manually edit the profile dataset, though this is generally not recommended unless you understand the profile format.
Backup and Restore: You can backup your profile dataset before making changes, then restore it if needed. This allows you to experiment with settings and revert if necessary.
Having options to reset or restore settings gives you flexibility to experiment with configurations and recover if something goes wrong.
Best Practices for ISPF Settings
Following best practices helps you configure ISPF settings effectively and maintain a productive environment:
Configure Early: Set up your settings early in your ISPF usage. Taking time to configure your environment pays off in improved productivity.
Start with Defaults: Begin with default settings and modify them as you identify what needs to be changed. Don't change everything at once.
Test Changes: After making setting changes, test them to ensure they work as expected and improve your workflow.
Document Customizations: Keep notes on any significant customizations you make, especially function key assignments, so you remember them.
Backup Profile: Periodically backup your profile dataset, especially before making major changes, so you can restore it if needed.
Incremental Changes: Make changes incrementally rather than all at once. This makes it easier to identify which changes cause problems if issues arise.
Use Help: Use PF1 (Help) in the Settings menu to understand what each setting does before changing it.
Consider Work Patterns: Configure settings to match your work patterns. If you frequently edit COBOL, configure editor settings for COBOL. If you frequently browse files, optimize for browsing.
Explain Like I'm 5: ISPF Settings
Imagine ISPF is like your own room that you can decorate and arrange however you like:
Settings are like the decorations and furniture in your room. You can choose what colors things are, where things go, and how things work.
Your Profile is like a photo of how your room is arranged. Every time you come back to your room (start ISPF), the photo is used to set everything up exactly the way you left it.
Function Keys are like special buttons on your remote control. You can program them to do things you do a lot, like having a "favorite channel" button that takes you straight to your favorite TV show.
Terminal Settings are like adjusting your TV—making sure the picture fits the screen, the colors look right, and everything displays correctly.
Editor Settings are like setting up your desk—arranging your pencils, paper, and tools exactly where you want them so you can work efficiently.
So ISPF Settings lets you make your mainframe "room" exactly how you like it, and it remembers your preferences every time you come back!
Practice Exercises
Complete these exercises to reinforce your understanding of ISPF settings and profiles:
Exercise 1: Settings Exploration
Navigate to Option 0 (Settings) and explore each category of settings. Document what options are available in each category, what the current values are, and what each setting controls. Create a reference document of available settings for your environment.
Exercise 2: Function Key Customization
Identify three functions you use frequently and assign them to function keys. Test your custom assignments to ensure they work correctly. Document your custom assignments and explain why you chose each one. Practice using your custom function keys to see if they improve your workflow.
Exercise 3: Editor Configuration
Configure editor settings for a specific type of file you work with (COBOL, JCL, etc.). Set appropriate tab stops, column markers, and display options. Test your configuration by editing a file of that type and verify that the settings improve your editing experience.
Exercise 4: Profile Investigation
Investigate your ISPF profile dataset. Use ISPF utilities to locate and examine your profile dataset. Document its name, location, and contents (if you can view them). Understand how your settings are stored and how the profile dataset is managed.
Exercise 5: Settings Comparison
Compare your current ISPF settings with system defaults. Identify which settings you've customized and document why you changed each one. Consider whether any of your customizations could be improved or if any default settings would work better for your needs.
Test Your Knowledge
1. What ISPF option provides access to personal settings?
Option 1
Option 0
Option 2
Option 3
2. Where are ISPF profile settings stored?
In system memory
In a dataset
In a file on your PC
In the terminal emulator
3. Do ISPF profile settings persist across sessions?
No, they reset each time
Yes, they are saved permanently
Only if you manually save them
Only for the current day
4. What can you customize in ISPF Settings?
Only function keys
Only terminal characteristics
Function keys, terminal characteristics, editor preferences, and more