Additional SimpList features
Asterisks and percent signs can be used as wild cards in almost any
type of object. When an object with one or more wild cards is selected,
a list of all matching objects is displayed, for example, if
C:\MYDIR\*.TXT. Files can be selected from the list for functions such
as browse, edit, print, transfer (etc).
If a data set has wild cards in the name, a DSLIST automatically displays. Users can chose between a standard DSLIST (which is the same as a list generated by ISPF option 3.4), or an enhanced DSLIST (with additional commands and functions). Some of the advantages of the enhanced DSLIST include:
- Increased functionality: All regular DSLIST commands and functions are available in an enhanced DSLIST, plus additional commands and functions. For example, if a data set is selected using function I (Information), the attributes of the data set display where any attributes can optionally be changed by entering new values; e.g. the block size, record length, data set organization, primary/secondary allocation amount, SMS attributes, expiry date (etc).
- A default function can be set or changed: In a regular DSLIST, a function must be entered every time a data set is selected. In an enhanced DSLIST, a default function can be set to select data sets by pointing the cursor or clicking a mouse anywhere on a line. For example, the default function could be set to 'B' (Browse) or 'E' (Edit) or 'N' (traNsfer), etc.
- Display of commands and functions can be toggled on or off: When the display is toggled on, any command or function can be selected by pointing the cursor or clicking a mouse. Obtain help for any command by pointing the cursor at a command and pressing the HELP key.
- Displays an Advanced Member List: When a partitioned data set is selected from an enhanced DSLIST, an Advanced Member List (AML) is presented. The AML supports all regular member list commands plus additional commands and functions. When a member is selected for edit or view, extended edit and view commands are available.
The following table compares a few of the major differences between SimpList and ISPF option 3.4. For example, ISPF option 3.4 has a single object entry field where a data set name or pattern can be entered. This means each time a new data set name or pattern is entered, the previous value is lost. In contrast, SimpList has over two and half thousand object entry fields where names and patterns can be permanently stored:
Symbolics can be used anywhere in any type of object. This is useful when dealing with objects whose names may change based on different circumstances, such as a logon ID or SYSPLEX name (etc), DB2 table creator or GDG number or member name (etc).
System symbolics are resolved automatically; e.g. if 'PROD.D&ZYEAR&ZMONTH&ZDAY..REPORT' is selected, the date symbols are substituted with today's date. If command TSO PROFILE PREFIX(&ZUSER) is executed, the default TSO prefix is set to the value of the &ZUSER system symbol.
Symbolics can also be created using any name. For example, if 'USER01.COBOL(&MEM)' is selected, a pop-up panel prompts for the value of &MEM. Using this example, the value of &MEM could be member name, member pattern, or left blank for a list of all members. The pop-up panel has a field that determines whether the value for the symbol is used once, always, the remainder of the SimpList session.
A label is a short, easy-to-remember alias given to any type of object, including commands and objects with wild cards and symbolics. The syntax for a label is the same as the syntax for a member name, but is prefixed with a leading period. For example, if 'SOME.LONG.COBOL.LIBRARY.NAME' is given a label called .COB, the library could be browsed by entering BR .COB on any command line.
If a label name is forgotten, the entire list of labels can be displayed from any ISPF command line select from the list. New labels can be added to the list, and existing labels can be updated or deleted (etc). There is no limit to the number of objects that can be given a label.
- No individual user set-up or training is required.
- SimpList can be launched from an ISPF menu or any command line anywhere in ISPF.
- SimpList can be executed concurrently in any number of split screen and/or nested sessions.
- Objects whose names appear anywhere on any panel can be selected using point-and-shoot.
- An Application Programming Interface (API) allows SimpList functions to be invoked by user written procedures.
- An 'object' is anything that can be stored in a list, such as a data set name or VSAM file name (etc). SimpList has built-in support for many different types of objects, including user-defined objects.
- Supported objects include Partitioned Data Sets, Partitioned Data Sets Extended, Sequential Data Sets, BookManager Bookshelves and Books, DB2 tables, DB2 commands, Generation Data Groups, IMS databases, IMS commands, ISPF commands, PC/Workstation files, PC/Workstation Commands, TSO commands, Unix files, VSAM files, Web Sites, and more.
- Over 2,500 object names and commands can be permanently stored in object lists.
- An unlimited number of additional objects and commands can be stored using labels.
- Objects, functions, commands, object lists (etc) are all selectable using the point-and-shoot click of a mouse.
- Objects and commands can be categorized, indexed, and commented for easy reference.
- FIND and RFIND can be used to find any part of an object name or comment in any list.
- Objects can be selected for any function without regard to the type of object or the function that's being used to select it.
- Object names can be copied or moved from one object list to another.
- Object lists can be imported from flat files or other SimpList users (ideal for new user setup).
- Object lists can be concurrently shared between 2 or more users. For example, a person with several user ID's can choose to use a single set of object lists with all of their user ID's.
- Object lists can be updated using the regular ISPF editor (e.g. sorted or changed etc).
- System symbolics (e.g. &ZUSER, &ZYEAR) and user symbolics (e.g. &MYVAR, &SOMEVAL) can be used anywhere in any type of object. If the value of a symbol is unknown, a pop-up panel prompts for the value.
- Wild cards can be used anywhere in almost any type of object.
- When copying data sets or members, the target data set can be created 'on-the-fly', with complete control over the allocation attributes.
- Any type of object can be printed with optional line and/or column ranges. Mainframe files can be printed on a PC/workstation printer and PC/workstation files can be printed on a mainframe printer with no configuration required.
- SimpList can be tailored to suit personal preferences.
- User-defined functions allow object names to be passed to in-house tools or utilities.
- When a migrated data set is selected for any function, a warning panel is displayed. The user has the option to recall the data set in foreground or background or cancel the recall.
- If a data set or VSAM file is accidentally corrupted or deleted, a list of HSM back-ups can be displayed in a selection list. The list shows the date and time each backup was taken, and any back-up can be restored by simply selecting it from the list.
Advanced Member List
SimpList displays a single consistent type of member list called an AML (Advanced Member List). The AML supports all regular member list commands and has many additional commands and functions. Some of the extended AML features include:
- One or more initial commands can be set to automatically execute when a member list is initially displayed. For example, to sort a member list in a non-default sort order.
- A list of commonly used commands and functions can optionally be displayed at the top of the member list.
- Commands can be clicked to execute, or explained by pointing the cursor and pressing HELP.
- Any function can be set to the default for point-and-shoot selection of members. For example, 'C' (Copy), or 'V' (View) or 'N' (traNsfer). Simply clicking a member selects it for the default function.
- Function 'A' is used to select a member of a load library, an AMBLIST report is displayed. Function 'A' is used to select a member of a non-load library, 'A' is used to Alter any of the member statistics.
- Function 'K' is used to select a member of a load library, the date the module was linKed is shown next to the member in YYYYMMDD format. When function 'K' is used to select a member of a non-load library, a 'looK' (or preview) of the member is shown in the member list statistics area.
- Members can be selected by clicking anywhere on a member line, entering individual line commands, or entering primary commands. For example, entering K PGM* on the command line of a load library member list displays the linK date of every load module whose name begins with PGM.
- HIDE and SEEK can be used to exclude or find members containing a string. The string can be case sensitive, non-case sensitive, or hexadecimal. Optional parameters such as a column range or number can be entered, as well as key words such as NEXT, PREV, FIRST, LAST, ALL, WORD, PREFIX, SUFFIX.
- When HIDE or SEEK is used with the ALL parameter, a subset of the original member list shows only those members that match the selection criteria. For example, SEEK DOG ALL displays only the members that contain 'dog' and shows the number of lines containing the string next to each member. If (for example) HIDE CAT ALL is then entered, a sub-set of that member list would be displayed showing only those members that do not contain 'cat'. Additional HIDE and SEEK commands could be entered to filter the list even further. Any previous member list can be returned to by pressing END.
- When seeking the first, next, previous or last member containing a string, an optional setting determines whether a member is opened for edit if the string is found. If the member is opened, the cursor points at the first occurrence of the string within the member.
- The CHGALL command changes a string across some or all members in a list. Only members in which a string was changed are displayed in the resulting member list, and the number of times the string was changed is shown next to each member.
- The SEE command allows a member list pattern to be changed without having to exit the list. For example, SEE ABC* displays only those members that begin with ABC; SEE %%% displays only those members that have exactly 3 characters in their names (etc).
- Any number of member names and patterns can be entered after the SEE command. For example:
SEE Y* *03 C%%D* %%% PROG01 PROG02 displays a member list showing all members that begin with Y and all members that end with 03 and all members with C in position 1 and D in position 4 and all members with 3 character names and the members PROG01 and PROG02.
- Any member or pattern can be excluded from a member list; e.g. X *01 excludes every member that ends with '01'.
- Member lists can be filtered based on any combination of ISPF statistics. For example, only members that contain more than 100 lines and were changed by SMITHJ between June 2010 and May 2011 could be displayed.
- Multiple partitioned data sets can be displayed in a single merged member list. Merged data sets can have any number of qualifiers (not just three as with ISPF), and any of the qualifiers can be different (not just the middle one).
- In a merged member list, all edited members can be saved in library 1 (as is the only available option with regular ISPF), or saved in the library the member was originally selected from.
- When a member name appears inside another member, the referenced member can be opened using point-and-shoot. For example, if a copybook name appears inside a COBOL program, the copybook can be edited by entering ED on the command line and pointing the cursor at the copybook name. This works even if the calling and referenced members are in different libraries.
- Edit macros can be applied to some or all members in a list, and can optionally be developed by selecting from a list of predefined templates available in both CLIST and REXX.
- TSO commands can be applied to some or all members in a list. This includes regular TSO commands (e.g. 'EX' for execute) as well as user written procedures (e.g. 'MYPROC'). The TSO command can be entered in the Newname field next to a member, or a default TSO command can be set so members can be selected using function 'T' (TSO).
Extended Edit and
Additional and enhanced commands are available in edit and view sessions, including:
- COMPRESS releases unused space in the data set being edited or viewed.
- INFO displays the attributes of the data set being edited or viewed.
- SAVE does not perform a save unless actual changes were made to the data. This reduces I/O and also helps avoid space abends. If a space abend occurs, it is intercepted and options are presented.
- CReate and REplace creates a new file or replaces an existing one, and instantly opens the newly created or replaced file. Exiting the file returns to the original file.
- Point-and-shoot commands are available to find the First, Next, Last, Previous or All occurrences of a string. For example, entering FN on a command line and pointing the cursor at a string Finds the Next occurrence of the string.
- If a COBOL sensitive editor is available, each developer can specify which data sets the COBOL editor should be invoked for.
- FEX (Find Expression) finds strings that match a pattern; e.g. FEX gr[ae]y finds 'gray'' or 'grey'.
In addition to using PC/workstation concepts, SimpList interacts with many different PC/workstation objects including:
- Data sets and members can be browsed, edited, printed or viewed on a PC/workstation, and PC/workstation files can be browsed, edited, printed or viewed on a mainframe.
- When members are selected from a list, different line commands can be used to edit members on a mainframe or PC/workstation.
- Wild cards can be used in PC file names to generate a list of matching files. The list is displayed on the mainframe selected for many different functions; e.g. browse, edit, print, transfer (etc).
- Files can be transferred to or from a PC/workstation by selecting from any type of list (e.g. DSLIST, member list, workstation list, etc). All files matching a naming pattern can be included or excluded from the transfer process. Files can also be selected or excluded based on size, contents, last changed date, etc. The transfer mode can be set to binary or text, or determined automatically by the file extension.
- PC/workstation commands can be stored in object lists and clicked to execute. For example, selecting 'IPCONFIG' opens a command window on the PC/workstation and executes the IPCONFIG command.
- Any application can be launched (e.g. Notepad, Adobe, Excel, etc) and optionally pass input parameters such as the name of a file to open. For example, RUN NOTEPAD C:\MYDIR\MY FILE.TXT opens a file in Notepad.
- Web sites (HTTP and HTTPS) can be stored in object lists and clicked to open, or opened from any command line anywhere in ISPF.
As well as invoking SimpList from a standard ISPF menu, an unlimited number of SimpList sessions can be launched from any ISPF command line. For example, SL can be entered to launch a nested SimpList session on top of the current session, or SLS can be entered to launch a newly Started session (i.e. similar to a new split screen session).
The SimpList point-and-shoot interface
allows the cursor to be point at data set or member names anywhere on
any ISPF panel. For example, a data set whose name is displayed in an
ISPF message could be opened for view by simply entering VI on the
command line and pointing the cursor at the data set name. When the
view session ends, control returns to the original session.
Alternatively, the data set could be viewed in a newly started session
by entering VIS, where the trailing 'S' means Start a new session. This
allows the user to swap back and forth between the original and newly
Other available commands include BR (Browse nested), BRS (Browse Started), ED (Edit nested), and EDS (Edit Started). All of these commands can be followed by an object name, object pattern or label. For example, a DB2 table could be edited by entering ED followed by a DB2 table name or label. The same commands can also be used to select members whose names appear in other members.
In summary, every type of object, function, and vendor product supported by SimpList is completely accessible from every command line, everywhere in ISPF.