Differences between SPFLite and IBM ISPF
Contents of Article
SPFLite differs from mainframe ISPF in several areas, most noticeably in the keyboard handler. You have more flexibility with SPFLite in customizing the keyboard than in ISPF. You can find a full description in "Keyboard Customization". Even before you customize it, the default keyboard setup for SPFLite is probably different from what you are used to. The defaults are outlined in "Default Key Definitions".
Note: Some ISPF commands have not been implemented. See IBM ISPF Command Support for more information on which commands have and have not been implemented, and work-arounds some of these.
You can define keyboard macros and launch them from any keys of your choosing. This is described under "Keyboard Macros".
As mentioned in the Welcome to SPFLite, the KEYMAP facility and mappable keyboard functions play an important role in providing many of the powerful features of SPFLite. IBM ISPF did not give as much emphasis to this, because 3270 keyboards only allowed for mapping of PF keys, whereas SPFLite can map almost anything. The time you spend learning about this facility will be well worth the effort.
SPFLite does not support the IBM ISPF feature of "3270 split screen mode" and the associated legacy SPLIT command. With tabbed editing and the ability to open multiple instances of SPFLite, as well as the Multi-Edit feature to edit several files simultaneously in the same edit window, IBM's 3270 split screen mode is not really needed.
Note: The SPFLite command SWAP PRIOR will alternate the 'focus' of the editor between the last two edit tabs you have referenced. The F9 key has a standard mapping of SWAP, so if you wanted it to be SWAP PRIOR you would have to adjust its definition. Some users may prefer mapping the SWAP PRIOR command to Ctrl-Tab, since that key is often used for a similar function in other Windows programs. If you use SWAP PRIOR in this way, it will achieve much of what a mainframe ISPF user would do when editing two files in a 3270 split screen session and swapping between them with F9.
The ISPF standard of retaining a command on the command line after completion is supported, by prefixing the command with an & character.
SPFLite utilizes the mouse where possible, to enhance your productivity. See "Use of the Mouse" for details.
Besides including nearly all standard ISPF commands and functions (See IBM ISPF Command Support for information on what commands are supported). SPFLite has added editing features not found in mainframe ISPF or in PC-based SPF editors of the past. These features include the following.
ISPF supports a multi-level message handling ability. When a message is issued, you can press HELP for a more detailed message and a 2rd time to go directly to a specific Help topic related to the error.
SPFLite does not provide this extensive level of support. When messages are issued internally by various command processors, SPFLite tracks the severity of the various messages and will ultimately issue the message flagged as being 'most severe'
Generally, this works quite well and there is no problem determining the error condition. However sometimes, especially when several commands are issued together in one interaction, it may not be entirely clear what has gone wrong, and being able to review all issued messages would enable a quick resolution.
Whenever multiple internal messages have been issued, and SPFLite has chosen the 'most severe' one to display, the message will be prefixed with a + character, to indicate that multiple messages have occurred.
If a HELP command is immediately issued at this point (while the + prefixed message is still displayed, SPFLite will open a pop-up list of all issued messages as they were issued for your review.
- Powerful line range specification criteria. You can select lines by:
- Simple line range (From - To)
- Conditional based on a label (such as, all lines < a specified line)
- Conditional based on two labels (such as, all lines >= lineA and <= lineB)
- Split ranges (such as, all lines < lineA OR > lineB)
- Scattered (non-contiguous) lines marked by a common Tag name
- MX option requesting the lines processed be excluded following the command
- DX option to suppress the normal 'popping out' of excluded lines by commands like FIND and CHANGE
- Ability to mark a range of lines via C/CC and M/MM line commands for use on a wide variety of primary commands
- Ability to segregate lines into two groups: User Lines (also called U lines) and non-User Lines (also called V lines, or NU lines)
- ADD to insert a string as a new line
- APPEND to add a string to each line
- AUTOCAPS to control capitalization of language keywords
- CASE to control default case handling of literals
- CLIP to directly edit the contents of the clipboard
- CLONE to create an unnamed working copy of a file
- COMPRESS to eliminate duplicate character strings
- DIR to open a file display of the folder containing the current file
- DROP to assist in manipulating tag groups
- ENUMWITH specify increment to use with Enum functions
- EOL to accommodate different End of Line delimiters
- EXIT to close all active tabs
- FAVORITE to add current file to a Favorite FILELIST group
- FF (Find in File) searches a list of files for a given string
- FIND in the File Manager locates file names containing a given string
- GLUEWITH specify insert character to be used with Glue functions
- JOIN selectively joins lines using find/change strings
- KEEP to assist in manipulating tag groups
- LINE command to apply a normal Line Command to a range of selected lines.
- LC/UC/SC/TC to perform text case conversions
- MARK controls the visibility of previously set MARK lines
- MAKELIST creates user-defined FILELIST groups from File Manager
- MEDIT allows simultaneous editing of multiple files in a single edit session
- MINLEN sets the minimum logical record length of a given file type
- NFIND locates lines which do not contain a specified string
- NFLIP inverts the exclude status of lines which do not contain a specified string
- NEXCLUDE excludes lines which do not contain a specified string
- PAGE to set Page display settings for SYSOUT type files
- PREPEND insert a string at the beginning of each line
- PTYPE begins Power Typing ("column") mode for simultaneous editing of multiple lines in parallel
- RECALL displays a FILELIST group
- REDO reverses a prior UNDO action
- RELOAD to restart an edit session from the current contents on disk
- RENAME allows renaming of the current edit file
- RETF perform a RETRIEVE in forward order
- SAVEALL will SAVE all open edit sessions
- SET assigns or queries the value of a SET variable
- SPLIT selectively splits lines using find/change strings
- START controls where a file is initially positioned when opened
- STATE controls whether persistent edit STATE information is maintained
- SUBARG specify a Profile unique string for SUBMIT use
- SUBMIT enables jobs to be submitted to external processes such as Hercules
- TAG to define and modify line tags
- ULINE, NULINE, REVERT, NREVERT manage the User-Line status of lines
- AA adds an After-group to allow copying/moving lines multiple times, after every n'th line
- BB adds a Before-group to allow copying/moving lines multiple times, before every n'th line
- G and J are used to Glue and Join lines together
- H/HH define a Here-destination, which is similar to A/B except the marked lines are replaced by the copied/moved lines
- MARK defines the placement of vertical 'marker' lines that help in editing column-aligned data
- MD (Make Data) will convert special lines into data lines.
- MN (Make Note) will convert special and data lines into NOTE lines
- N inserts new, permanent blank lines, unlike the I command which inserts temporary blank lines
- NOTE inserts NOTE lines
- OR (Overlay-Replace) forcibly overlays data without the conflicts that can occur with regular Overlay
- PL (Pad to Length) pads data lines with blanks, to a specified line length
- S/SS (Show line/block) will unexclude lines, and is the exact opposite of the X/XX command
- SC and TC change text to Sentence Case or Title Case, similar to UC and LC commands
- T/TT will select text, similar to using the mouse or shift-arrows, but across multiple lines
- TFF performs TF formatting across multiple paragraphs in a single interaction
- TG/TJ Glue and Join lines in "text" mode, and are similar to G/J
- TL and TR adds a Trim and Truncate line ability to remove trailing blanks or reduce line size
- TM/TMM sets Text Margins in a manner similar to but simpler than TF does
- TB/TBB performs a Text Break (like Text Split) inserting permanent instead of temporary blank lines in between
- TU/TUU toggles the User-Line state of lines
- TX/TXX toggles the excluded state of lines
- U/UU sets lines to be User Lines
- V/VV sets lines to be ordinary V lines; that is, non-User Lines
- W/WW defines one end of a line Swap operation (with an M/MM block at the other end)
- WORD supports user customization of what are considered valid word characters
- [ and ] perform Indent Shifts based on a number of columns set in the Global Options screen
- Forward modifier / and Backward modifier \ for line commands. These allow quick specification of 'all lines from here to bottom' and 'all lines from here to top' to line commands which accept a line count parameter. The forward modifier is equivalent to entering a count of 99999 to mean the rest of the file. (There is no ISPF equivalent of 'all lines from here to top'.)
- The - Post-Exclude and + Post-Unexclude modifiers. These extensions allow you to request that the lines processed by the line command groups be excluded or unexcluded following the command.
- Retain line commands. If an extension of & is added to a line command, it is a request to retain the line command on the line following completion of the line command. This allows you to reuse a line command over and over, until it is manually erased or you issue a RESET primary command. This is similar but not identical to ISPF "K" command usage, such as AK.
See Extended Line Command Modifiers for more information.
Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator