The Data Set List Utility (Option 3.4) is the "home base" for many mainframe professionals. It's where you find, manage, and organize your files. But did you know you can customize it to fit your workflow? ISPF allows you to change how datasets are displayed, sort them by various attributes, and create "Personal Lists" (also known as Reference Lists) to quickly access frequently used groups of datasets.
This tutorial goes beyond the basics of 3.4 to explore the customization options that can make your daily tasks faster and more efficient.
When you display a list of datasets in Option 3.4, the default view might not show all the information you need, or it might show too much. You can tailor this view using the menu bar at the top of the screen.
At the top of the DSLIST panel, you will see a menu bar with options like File, View, Options, and Help. You can access these by pressing F10 (Actions) or by clicking them if your emulator supports it.
The View menu allows you to toggle between different display formats. Each view serves a specific purpose and shows different levels of detail about your datasets. Understanding when to use each view can significantly improve your productivity.
The Short view displays only the essential information: dataset name, volume serial number, and the command area (where you can enter line commands). This view is ideal when you need to quickly scan through many datasets or when you're working on a terminal with limited screen space. The Short view minimizes scrolling and allows you to see more datasets at once, making it perfect for rapid navigation and selection.
Use Short view when you know the dataset names and just need to locate them quickly, or when you're performing bulk operations on multiple datasets where detailed attributes aren't necessary. The reduced information density means faster screen refreshes and less visual clutter.
The Long view expands the display to include technical dataset attributes that are crucial for understanding dataset characteristics. In addition to the dataset name and volume, Long view shows:
Use Long view when you need to understand dataset characteristics for programming, when allocating similar datasets, or when troubleshooting dataset-related issues. The additional attributes help you make informed decisions about dataset usage and compatibility.
The Total view is essential for storage management and capacity planning. It displays space allocation statistics that help you understand how datasets are consuming storage resources. The Total view shows:
Use Total view when managing storage capacity, identifying datasets that are running out of space, finding datasets with excessive unused allocation (wasted space), or when planning storage migrations. This view is particularly valuable for system administrators and when performing storage cleanup activities.
The Total view requires additional processing time because ISPF must calculate space usage, so it may be slightly slower than Short or Long views, especially with large numbers of datasets. However, the storage management benefits usually outweigh the minor performance impact.
By default, ISPF sorts datasets alphabetically by name (ascending order). However, you can sort by any displayed column to organize datasets according to your current needs. Sorting is a powerful way to group related datasets or identify patterns in your data.
To sort, type the SORT command on the Command line followed by the column name. You can also specify sort direction:
1234567Command ===> SORT VOL (Sorts by Volume Serial - ascending) Command ===> SORT VOL D (Sorts by Volume Serial - descending) Command ===> SORT CRE (Sorts by Creation Date - oldest first) Command ===> SORT CRE D (Sorts by Creation Date - newest first) Command ===> SORT REF (Sorts by Last Referenced Date) Command ===> SORT SIZE (Sorts by Allocated Size - smallest first) Command ===> SORT SIZE D (Sorts by Allocated Size - largest first)
Sorting by Volume Serial groups all datasets that reside on the same physical volume together. This is useful when you need to identify which datasets are on a specific DASD volume, which is important for volume management, migration planning, or when troubleshooting volume-related issues. If you're preparing to migrate data from one volume to another, sorting by volume helps you see all datasets that need to be moved together.
Volume-based sorting also helps identify datasets that might benefit from being moved to faster storage devices or when planning storage consolidation. In large environments, datasets may be spread across many volumes, and volume sorting helps you understand the distribution.
Sorting by Creation Date organizes datasets chronologically, showing when each dataset was originally created. This is valuable for identifying old datasets that might be candidates for archival or deletion, or for finding recently created datasets during troubleshooting. When investigating issues, knowing when datasets were created can help establish timelines and identify what changed when.
Use ascending order (oldest first) to find legacy datasets that may no longer be needed, or descending order (newest first) to see recently created datasets that might be related to current work or recent changes. This sorting is particularly useful during audits or when performing data lifecycle management.
Sorting by Last Referenced Date shows when each dataset was last accessed, read, or modified. This is one of the most powerful sorting options for storage management and cleanup activities. Datasets with very old reference dates (months or years old) are often candidates for archival or deletion, as they may no longer be actively used.
Pro Tip: Sorting by REF (Last Referenced) is an excellent way to find "stale" datasets that haven't been used in a long time, or to quickly find the files you were working on yesterday. Many organizations use REF date sorting to identify datasets that haven't been accessed in over a year for potential archival.
This sorting method helps with capacity management by identifying unused datasets that are consuming storage space. However, be cautious: some datasets may be referenced programmatically or by batch jobs without updating the reference date, so always verify before deleting based solely on reference dates.
Sorting by Allocated Size helps you identify the largest datasets, which are often the best candidates for space optimization or compression. Large datasets consume significant storage resources, and identifying them helps prioritize storage management efforts. Use descending order to see the largest datasets first, which is useful when you need to free up space quickly.
Conversely, sorting by size in ascending order helps identify very small datasets, which might be candidates for consolidation or might indicate incomplete or test datasets. Understanding size distribution helps with capacity planning and identifying datasets that might benefit from reorganization.
Depending on your ISPF configuration and the view mode you're using, you may be able to sort by other columns such as Data Set Organization (DSORG), Record Format (RECFM), or other displayed attributes. Experiment with different sort options to find the organization method that works best for your workflow.
Remember that sorting affects only the current display. When you exit and return to DSLIST, it will revert to the default alphabetical sort unless you've saved your preferences in your ISPF profile. Some ISPF configurations allow you to set a default sort order that persists across sessions.
The Options menu provides toggles for specific information that can be displayed or hidden regardless of your current view mode. These options give you fine-grained control over what information appears in your dataset list, allowing you to customize the display to match your immediate needs.
The Display Expiration Date option adds a column showing when each dataset is scheduled to expire. Dataset expiration dates are set when datasets are allocated and are used by automated storage management systems to identify datasets that can be automatically deleted or archived. This option is crucial for storage administrators who need to monitor dataset lifecycles and ensure important datasets don't expire unexpectedly.
When enabled, you'll see expiration dates in a format like YYYY/DDD (year and day of year). Datasets without expiration dates will show as blank or "NONE". Use this option when reviewing datasets before their expiration dates approach, when planning dataset retention, or when investigating why datasets were automatically deleted by storage management systems.
Understanding expiration dates helps you make informed decisions about dataset retention. If you see a dataset with an expiration date approaching and you still need it, you'll need to extend the expiration date using TSO ALLOCATE or dataset utility commands before the expiration occurs.
The Display Total Tracks option forces ISPF to calculate and display space allocation information even when you're not in Total view mode. This gives you space information while maintaining the simpler display format of Short or Long views. This is useful when you need space information occasionally but don't want the overhead of Total view all the time.
When enabled, you'll see allocated tracks, used tracks, and percentage used for each dataset. This option requires additional processing time because ISPF must calculate space usage for each dataset, so there may be a slight delay when displaying large lists. However, the space information is invaluable for storage management tasks.
Use this option when you need to quickly identify datasets that are consuming excessive space or when you're trying to find datasets with available space. It's particularly useful when working in Short or Long view but needing occasional space information without switching views.
The Compress Data Set List option removes blank lines, separators, and extra spacing from the dataset list display. This allows you to fit more datasets on each screen, reducing the need for scrolling and making it easier to see more datasets at once. The compressed view maximizes screen real estate while maintaining readability.
When enabled, the list becomes more compact with datasets displayed closer together. This is especially useful when working with large lists of datasets or when you have limited screen space. The compressed format makes it easier to scan through many datasets quickly and perform bulk operations.
However, some users find the compressed format harder to read, especially when datasets have similar names. If you prefer more visual separation between datasets, you may want to leave this option disabled. The choice is largely a matter of personal preference and depends on your specific workflow needs.
Depending on your ISPF version and configuration, the Options menu may include additional toggles such as displaying catalog information, showing dataset attributes in different formats, or controlling how certain columns are displayed. Explore the Options menu in your environment to discover all available customization features.
Most option settings are saved in your ISPF user profile, so they persist across sessions. Once you configure the options to match your preferences, you won't need to set them again unless you want to change them. This makes it easy to establish a personalized workflow that matches your daily tasks.
One of the most underused productivity features in ISPF is the Personal List (also referred to as Reference List or Reflist).
Imagine you work on three different projects. Project A has 5 datasets starting with PROJ.A.*. Project B has datasets starting with DEPT.HR.*. Instead of typing these patterns every time, you can save them into lists named "PROJA" and "PROJB".
Creating a Personal List is straightforward and takes just a few steps. The process saves your current dataset list (whatever is currently displayed in DSLIST) into a named list that you can retrieve later. Here's the detailed process:
Step 1: Navigate to Option 3.4 (Data Set List Utility) from the ISPF Primary Option Menu. You can access this by typing 3.4 from the command line or selecting it from the menu.
Step 2: Display the datasets you want to include in your Personal List. You can do this by entering a dataset name pattern in the "Dsname Level" field (e.g., USERID.* to see all your datasets) and pressing Enter. Alternatively, if you want to save the currently displayed list, you can leave the "Dsname Level" field as it is.
Step 3: Once your desired datasets are displayed, access the Reflist function. You can do this in two ways:
REFLIST on the command line and press Enter. This opens the Reference List management dialog.Step 4: In the Reference List dialog, you'll see options to manage your lists. Select the option to create a new list or save the current list. You'll be prompted to enter:
MYWORK, PROJECTA, DAILY). List names are typically limited to 8 characters and should be descriptive enough to remind you of the list's purpose.Step 5: Confirm the save operation. ISPF will save the list to your user profile dataset, making it available for future use. You'll receive a confirmation message when the list is successfully saved.
Important Note: The Personal List saves the dataset names that are currently displayed, not the search pattern you used to find them. This means if you later add new datasets that match the original pattern, they won't automatically appear in the saved list. You'll need to update the list manually by saving it again with the new datasets displayed.
Retrieving a saved Personal List is even simpler than creating one. Once you've saved lists, you can quickly access them to display your frequently used datasets without having to remember complex dataset name patterns or search through large catalogs.
Step 1: Navigate to Option 3.4 (Data Set List Utility). You can be on any screen within ISPF; you don't need to be in a specific view.
Step 2: Access the Reflist function. You can do this by:
REFLIST on the command line and press Enter.Step 3: In the Reference List dialog, you'll see a list of all your saved Personal Lists. Each list will show its name and description (if you provided one). Navigate through the list using standard ISPF navigation (arrow keys, page up/down, or by typing the list name).
Step 4: Select the list you want to retrieve. You can do this by placing the cursor on the desired list and pressing Enter, or by typing the list name and pressing Enter. The selection method depends on your ISPF configuration and personal preferences.
Step 5: Your DSLIST screen will now populate with only the datasets that were saved in that Personal List. The datasets are displayed exactly as they were when you saved the list, including any sorting or filtering you had applied at that time.
This is powerful because the datasets in a Personal List don't have to share a common naming pattern or any other relationship. You can have completely unrelated datasets like SYS1.PARMLIB (a system library), USER.TEST.COBOL (a user test dataset), and PROD.APPLICATION.DATA (a production dataset) all in the same list. This flexibility allows you to create lists based on your workflow needs rather than technical constraints.
Pro Tip: You can create multiple Personal Lists for different purposes. For example, you might have a "DAILY" list for datasets you use every day, a "PROJECTA" list for all datasets related to a specific project, and a "TROUBLESHOOT" list for datasets you frequently need when investigating issues. Organizing your lists by purpose makes them more useful and easier to manage.
When you select a Personal List, ISPF's behavior depends on the Refmode setting associated with that list. Refmode determines what happens when you retrieve a Personal List - whether it simply displays the datasets or immediately performs an action on them. Understanding Refmode helps you use Personal Lists more effectively for different scenarios.
List Mode is the default and most commonly used mode. When you retrieve a Personal List in List Mode, ISPF opens the list of datasets in the standard DSLIST view, displaying them exactly as if you had searched for them manually. This allows you to:
B (Browse) in the command area next to dataset namesE (Edit) in the command areaD (Delete) commandList Mode gives you full control over what you do with the datasets in your Personal List. You can work with them individually, perform bulk operations using line commands, or simply review them. This mode is ideal for most use cases where you want flexibility in how you interact with the datasets.
Use List Mode when you need to work with datasets interactively, when you want to perform different operations on different datasets in the list, or when you're not sure exactly what you'll need to do with the datasets. It's the safest and most flexible option.
Execute Mode is more specialized and immediately executes a predefined command against all datasets in the Personal List when you retrieve it. Instead of displaying the datasets for you to work with, Execute Mode runs the command automatically, which can save time for repetitive tasks.
When you retrieve a Personal List in Execute Mode, ISPF doesn't show you the DSLIST screen. Instead, it processes each dataset in the list according to the command associated with the list. The specific behavior depends on what command is configured, but common uses include:
Execute Mode is useful when you have a well-defined, repetitive task that you perform regularly on the same set of datasets. For example, if you need to check the contents of the same set of datasets every morning, you could create a Personal List in Execute Mode that automatically opens them for browsing.
Caution: Execute Mode can be powerful but also potentially dangerous if misconfigured. Make sure you understand what command will execute before setting a list to Execute Mode, especially if the list contains production datasets. Always test Execute Mode lists with test datasets first.
You can set or change the Refmode for a Personal List in the Reflist management dialog. When creating or editing a list, you'll see an option to set the Refmode. Most users leave lists in List Mode (the default) unless they have a specific need for Execute Mode functionality.
To change Refmode for an existing list, open the Reflist dialog, select the list you want to modify, and choose the edit or modify option. You can then change the Refmode setting and save your changes. The new Refmode will take effect the next time you retrieve that list.
Remember that Refmode is a property of each individual Personal List, so different lists can have different Refmode settings. You might have some lists in List Mode for flexible use and others in Execute Mode for automated tasks.
While ISPF doesn't have a "cloud sync" feature to instantly share lists with other users, "Shared Lists" in the mainframe context usually refers to making dataset lists accessible to multiple applications or users via system libraries.
You can export a Personal List to a physical dataset. This allows you to send that dataset to a colleague, who can then import it into their profile.
REFLIST dialog, select a list, and choose the "Save to Data Set" option.Advanced users can write REXX scripts that use ISPF Library Management services (like LMINIT, LMOPEN) to read shared datasets containing list information and dynamically build DSLIST views for a team. This is common in large shops where a team needs access to a standard set of 50+ control libraries.
Imagine you have a giant toy box (The Mainframe) with thousands of toys (Datasets).
Usually, to find your toys, you have to shout "Show me all the Red Trucks!" (Typing RED.TRUCKS.*).
Personal Lists are like having a special backpack. You can put your favorite Red Truck, your Blue Ball, and your Green Soldier in the backpack.
Next time you want to play, you don't have to search the whole box. You just open your backpack (Open the Personal List), and all your favorite toys are right there, ready to go!
Following best practices helps you get the most value from DSLIST customizations and Personal Lists. These recommendations are based on real-world usage patterns and can help you avoid common pitfalls while maximizing productivity.
Master DSLIST customization with these hands-on exercises. Complete them in order, as each builds on concepts from the previous one:
Objective: Understand the differences between view modes and when to use each.
Steps:
USERID.*)Reflection: Which view would you use for daily navigation? Which view helps you understand dataset characteristics? Which view helps with storage management?
Objective: Learn to use sorting to organize and analyze datasets effectively.
Steps:
SORT SIZE D to sort by size in descending order. Identify your three largest datasets and note their sizes.SORT CRE D to sort by creation date (newest first). Find your most recently created dataset.SORT CRE (without D) to sort by creation date (oldest first). Find your oldest dataset.SORT REF D to sort by last referenced date. Identify datasets you haven't accessed recently (these appear at the bottom if sorted descending, or top if sorted ascending).SORT VOL to sort by volume. Count how many different volumes your datasets are spread across.Reflection: Which sort order is most useful for your daily work? Which helps you identify datasets that might be candidates for cleanup?
Objective: Create Personal Lists and understand how they improve productivity.
Steps:
DAILY with a description like "Datasets I use every day".DAILY list.DAILY list by saving it again with the new dataset included.Reflection: How much time does using a Personal List save compared to typing dataset name patterns? How could you organize multiple Personal Lists for different purposes?
Objective: Understand how Options menu settings affect the display and when to use them.
Steps:
Reflection: Which options provide information you actually use? Which options improve your productivity? Which options can you leave disabled to improve performance?
Objective: Combine all customization features into an efficient workflow.
Steps:
PROJECT1).PROJECT1 list.Reflection: How does having a customized, saved list improve your efficiency? What other workflows could benefit from Personal Lists?
1. Which command is used to open the Reference List manager dialog?
2. In DSLIST, what does the "Total View" typically display?
3. How can you sort a dataset list by Volume Serial?
4. Where are your Personal Lists stored?
5. What option in the DSLIST "Options" menu allows you to see the expiration date of datasets?