Tour [back]   [aboutme]      --     [home page and Start of Tour]   [index]   [manipul]   [syntax]

The REXX Macros Toolbox -- Brief Descriptions of The Edit Macros
Location ---
David McRitchie
Over 160 Edit Macros for use with ISPF and SPF/PC,
at least 70 can be used with SPF/PC.  Most have been documented on separate pages. 

Copyright (C) 1997, 2001 F. David McRitchie


EDIT MACROS -- use them like ISPF commands which work under EDIT

The following are EDIT macros.   There are three forms shown in the following list:

Alphabetical Listing of Macros [top]

Organization of the following Table
  • Filenames with "@" or "$" in their names are not permitted on the // server and were not available previously on the // server.  A kludge has been performed so that hypertext filenames beginning with "@" will appear as beginning with "6". 
  • The second column has the source code for TSO.  A ".txt" extension has been added so that you can see them with your browser. 
  • The third column has the source code for use on PC's, and has the extension set to ".SPF".  You can set your web browser to SPFPC40 or treat as text.  The SPF/PC version in this column should also work with SPF/PRO, but is untested.  Refer to Web Browser Suggestions for viewing .SPF.
Edit Macro
Description -- Edit Macros
!EDCHEK     JCL CHECK used within PDF EDIT [a TSO command from Computer Associates for a package]
#MAKEMAC TSO   Create REXX edit macro commands from list of edit commands [#makemac in HTML is MAKEMAC.TXT -- renaming was required for HTML]
@AMSRCAT TSO   AMS delete / re-define GDG - ISREDIT MACRO in clist format. 
@C TSO ++ Capitalize each word of included word-list. 
@CAPS TSO   Edit CLIST changes text to upper case, equivalent to c all p'<' p'>'
@COMPARE TSO (++) Compares member in EDIT with corresponding member in specified DSN.  Written for TSO users.  Available for OS/2.  DOS users must use builtin COMPARE, which also available for OS/2 users.++
@COMPUTE TSO ++ (++) Macro form of COMPUTE execute modified from Normal Pearl's code in TSO Times, contest winner for short REXX execute. 
@DATE TSO ++ Date conversion/display macro.  Reimplemented providing for year 2000 dates.  using coding found on internet.  Also found (23).  Input can be in the form yyyymmdd, yyyynnn, yy/mm/dd, or yyyy/nnn.  ++
@DIR TSO   Edit CLIST to list directory members.  Work with directory listings.  Edit or run macros against membernames found at a certain column in a listing, etc.  Lots of options, you have to look at the documentation (1st column).  It is a CLIST with too much material to have simply translated into REXX.  If you would rather write your own in REXX you might check out ISRMBRS (ALLMBRS) .  @DIR goes way beyond applying a macro to all members of a PDS library.  Selection of members can use pattern characters in one or more MASK() parameters and/or use a membername range in the form from:to.  The default selection is on userid.
A copy of the @DIR clist downloaded as a binary file transfer from a PDS file (VB 255 27998) 9254 bytes unzips to 44,039 bytes 85/12/30 96/04/15 16:33.
@DIR has not been created on the PC side.  Some of the functions are available on the PC side by invoking the following macros individually:
@EDIT 1 12
@DIRPARM TSO   @DIRPARM ABORT used to terminate @DIR EDIT/MACRO() See @DIR Documentation.
@DIRSTAT TSO ++ Obtain PDS member statistics, and dataset information See @DIR Documentation.++
@DSN TSO   @DSN WHOGOT, who else has dataset in edit.   Issues command plus unquoted dsname.  
@DSNQ TSO   @DSNQ COMPRESS, will compress dataset in edit.   Issues command plus quoted dsn.  
@EDIT   ++ Edit the file named at the cursor (SPF/PC version).  Upon exit the cursor will drop down to the same position on the next line.   Also see EDITMEM used in TSO. 
@EDITMSK TSO   Surrounds text within an EDIT envelope. 
On the PC side see spf/pc version of @PRINT edit, also can use PRINT to a file. 
@END TSO ++ Use within macros, will do ISREDIT END, if and only if, no changes were made ++
@ICOPY TSO ++ Interleaved COPY facility ++
@INFO TSO ++ Make an INFOLINE before .ZFIRST of passed text.  (NOTELINE used in SPF/PC). 
@LAB TSO   Label line cursor is on with label named on clist (no further documentation). 
@MACRO   ++ Edit the macroname specified.  (treat as an example as it must be completely modified by user).  $MACRO example is included in the comments for use outside of edit. 
@MSG   ++ Make a long MSG.  Hide some of the /*Address*/ lines from coding of SPF/PC macros. 
@NOTE TSO ++ Make a NOTELINE before .ZFIRST of passed text.  See also NOTENX, @NOTEB.  ++
@NOTEB (TSO) ++ Make a NOTELINE before .ZCSR of passed text.  See also NOTENX, @NOTE. ++
@PRINT TSO + 1 Print member currently displayed in EDIT.  Your choice must be customized for printing on your own system.  The spf/pc version (+) includes E option to edit without printing, EDIT option to surround with an edit panel (defaults E, count).  ++
@PRINTNX TSO   Print the NX (displayed) lines in EDIT.  Must be customized for printing on your own system. 
@RENAME TSO   Rename member in edit to new member name. 
@SAVE TSO ++ SAVE member in edit only if it was changed ++
@SCRIPT TSO   SCRIPT the document currently in EDIT.  (DCF to print, etc.)
@SCRPTDU TSO   Create ".du add " and ".du del " for a SCRIPT member (DCF)
@SEARCH4 TSO   Search entire PDS for up to 7 search arguments
@SEQ TSO ++ Place SEQUENCE NUMBERS into DATA for use of SORT etc. ++
@SLCT TSO   Brings in JCL for Selective SEARCH/PRINT of a PDS
@SLCTDSX TSO   Brings in JCL for Selective DSN JCL XREF of a PDS
@SMALLS TSO ++ Edit CLIST changing text to lower case, and some back to caps. ++
@SOP TSO   Invoke @SCRIPT with TECH.LIBR2.TEXT as secondary TEXTLIB
@SPELLS TSO   Checks spelling in non-SCRIPT documents (also see SPELL)
@STRAP TSO ++ Trap command output lines at end of the file in edit.  This macro is particularly useful for trapping directory listings, and HELP information from PC's into an edit file where they can be scrolled back and forth and read easier.  On the MVS mainframe does not trap TPUT assembler macro output.  Will trap assembler PUTLINE, clist WRITE, and rexx SAY.  On DOS probably traps everything, though you will not see waiting for a response that you may have to hit ENTER for. 
SPF/PC version of @STRAP
Sometimes works better with "cmd  /c" prefixed
@strap  cmd  /c  dir *.*
@STRAPD TSO   Creates a set of DSNAMES obtained from "LISTALC STA"
@STRAPE TSO   Trap clist WRITE statements and imbed at end of file in edit
@STRAPQ TSO   Trap clist WRITE statements and imbed at end of file in edit.  Older clist version of @STRAP.
@STRAPQQ TSO   Trap clist WRITE statements and imbed at end of file in edit.  Variation of @STRAP, possibly older REXX version.
@TIME TSO ++ Create NOTELINE before .ZF with date/time stamp, use within macros. ++
@TPP TSO   Create .TP entries based on use of ^ character
@TSO TSO   Edit CLIST to function like a &TSO command would function
@TSOX TSO   Edit CLIST invokes TSO clist from SYS1.TSOCLIST
@TSOXD TSO   Edit CLIST executes current display as a TSO CLIST
@VP TSO   Edit CLIST invokes the VPSPRINT command
@XMIT TSO   TRANSMIT for member currently displayed in EDIT
ALIGNJCL TSO   Alignment of "EXEC" and "DD" JCL cards. 
ALIGNTAB TSO ++ Align tab(&not) to specified columns and cc-range ++
TSO   Run an edit macro against some or all members in the PDS of the member being edited -- does not run the invoked edit macro on itself.  This is for TSO only [ISPF only].  This macro can aid in making repetitive changes to all members of a data set, or in searching all members for a specific string of data.
You will find lots of useful information in this manual, I'm sure glad I had a printed copy when I worked with this.
Because this is in the IBM BookManager files, the location will change from time to time, if the link does not work please attempt to find at IBM - ISPF for z/OS - Library, and/or IBM Library Server Library (for Documentation search) and select the latest ISPF documentation library then do your search on ISRMBRS.  then send me the new URL for this file with URL of this page as the subject in your email. 
IBM - ISPF for z/OS - Library
Interactive System Productivity Facility (ISPF),  Edit and Edit Macros,  z/OS Version 1 Release 10.0,  Document Number SC34-4820-08,  Program Number 5694-A01,  File Number S370/4300-39,  (ispzem70 "z/OS V1R10.0 ISPF Edit and Edit Macros", Build date (mm/dd/yy) 06/10/08 20:33:32) 
APPEND TSO   Append addition information to CUT dataset, See CUT
APPENDR.   ++ CUTR, PASTER, and APPENDR are versions for SPF/PC that already has a builtin CUT and PASTE. See CUT
BIGS TSO ++ Create LARGE block letters (12 x 12), slanting is optional.  Also see BLOCK5. ++
BLOCK5 TSO ++ Create smaller block letters (5 x 5), slanting is optional ++ Also see BIGS. ++
CHECKDUP TSO ++ Check for repeated, duplicated, words ++
Edit Macro
Description -- Edit Macros
CHECKSUM TSO .. Check ISPZAP (AMASPZAP, also known as superzap) decks to verify CHECKSUM cards:  NAME, BASE, VER, VERIFY, REP, CCHHR, CHECKSUM, IDRDATA -- [sample data for testing],
CHKMISS N/A ++ Check for missing documentation based on a checking a directory list of members to previous use such as in  <a href="xxxx.xx">XXXX</a>  Directions for use included at end of macro. 
CLISTBOX TSO ++ Clist Boxed comments (* -- new) ++
CSIGNAL   ++ Check REXX Signal statements.  SPF/PC will fail ungracefully (Error #16) if a Signal statement is unmatched to a label.  CSIGNAL will help identify such problems. 
COLS TSO ++ Provide scrollable column headings via INFOLINE. (not sure about SPF/PC) ++
COLSUM TSO ++ Calculate the sum of specified columns within NX cc-range. ++
CSON TSO   Control Sections in DCF material marked .CS 1 on/off etc.  (related FGROUP)
CUT TSO   CUT portion of CUT and PASTE - also see APPEND.  The use of CUT, PASTE, APPEND using these macros will set off the addition of copied text (CC...CC, A or B) with NOTELINES, and supply a NOTELINE where text has been removed using MM...MM.  This advantage will become obvious once you are using it.  You can have multiple CUT operations going at one time by adding a number after CUT, PASTE, APPEND.  Documentation for CUT, PASTE, APPEND, CUTR, PASTER, APPENDR.
CUTR   ++ CUTR, PASTER, and APPENDR are versions for SPF/PC that already has a builtin CUT and PASTE. See CUT
DATE2000   ++ DATE2000 converts dates in source / documentation dates to YYYY/MM/DD from YY/MM/DD and MM/DD/YY good through end of year 2000 after which no clear distinction to determine if year is at beginning or end xx/xx/xx strings.  Mainly uses p'##$##$##' to find dates, but does check that the separation character is "/" and not such things as ":" as found in time (hh:mm:ss).  i.e. 97/05/10 --> 1997/05/10
DCFBOX TSO ++ Comment and box off within DCF or SCRIPT text - see JCLBOX ++
DCFMSGS TSO   Merge in error messages into original, related to @SCRIPT Q usage
DUADD TSO ++ SCRIPT ".du add " before .duadx from .duadf sorted and reflowed. (DCF)
DUADDC TSO   PFK set up to help use DUADD clist doing SOP manual IS03.   See DUADD documentation.
DUADDX TSO   Support in DUADD.  (DCF)
DV2MM TSO   Convert DCF space units of DV and DH to millimeters MM
EDITCHEK TSO   Error check of SCRIPT tag pairs etc., used prior to SCRIPTing (DCF)
EDITMEM TSO   Edit member at cursor location (TSO version).  See also @EDIT for SPF/PC version. 
EDITOL TSO ++ Error check of SCRIPT lists - OL, SL, UL (DCF)
EDITPAGE TSO   Check made for Page Printing suitability (DCF)
EDITPAIR TSO (++) Check pair of operands for correct pairing. 
EDITPR TSO ++ Check GML tag set for correct begin and end pairing (DCF) ++
EDITPS TSO   Check for control words that ensure that a page is started (DCF)
EOL TSO [End] Move cursor to end of current screen line (requires PFK assignment, perhaps temp 23).  Simulates the "End" key used on the PC side.  (CBT 78)
FED1040 ---> ++ with simulated data and spreadsheet information in FEDT1993 and FEDT1994.  REXX example using INTERPRET, to simulate a spreadsheet that shows calculations as well as calculated results. ++
FEVERY TSO   FIND lines containing EVERY specified character string
FGROUP TSO   NX the lines between find pairs (related CSON)
FIXJCL TSO ++ JCL realignment ++
FIXLI TSO   Make corrections to :LI. Tags, no spaces after list item tag. (DCF)
FIXP TSO   Fix paragraph (:p.) tags, no spaces after paragraph tag. (DCF)
FIXPI TSO   Homogenize .PI entries to a more consistent capitalization, not for pre-existing good entries (DCF). 
FIXQUOTE TSO   SCRIPT usage - makes open and closed quotes (:q. … :eq.) out of (" … ")
FIXREXX (tso) ++ Use as a tool to identify inconsistencies between SPF/PC edit macros and TSO edit macros.  Mainly identification of possible problems.  Will effect some changes automatically.  While macro attempts to run on both TSO and SPF/PC and SPF2 the macro has not been used on TSO after modifications.  After using and making modifications on TSO you should run @COMPARE * to check out changes before saving.  On the PC side you should run COMPARE membername before saving.  This macro is intended to help identify potential problems encountered (TSO, OS/2, DOS, Windows), or due to bugs in SPF Refer to SPF/PC Bugs Encountered in SPF/PC for differences. 
FLIP [pdf] ++ Flip X/NX status of lines. (ISPF edit command). ++
FLIPFLOP TSO ++ Flip lines (reverse) vertically between labels. ++
FLOC TSO ++ FIND then LOCATE .zcsr -- <lbr>BEGIN(x) PFX(prefix) SFX(suffix)
FLOW TSO ++ Shift lines left or right and FLOW lines ++
GML TSO   Wrap word or single/double quoted text within GML tags (DCF)
GMLTP TSO   Insert GML tags between SCRIPT tabs. (DCF)
HEXES TSO ++ Hex conversion of text within *HEX%% and %% ++
HEXSHOW TSO   Hex notation in data displayed in character form
HTMLDOC   ++ Changes entire HTML document so that each hypertext [--#hypertext --] entry shows the url after the hypertext anchor.  Should be done in a separate copy (version) for this purpose.  Do not run on your working bookmarks files as you could damage it.  Example of a Documented bookmark file. The documentation link (leftmost column) includes information on Netscape (R3) bookmarks. 
HTMLHYP   ++ Change word at cursor to hypertext entry.  User can supply suffix, or prefix and suffix.  Default is a suffix of .htm (similar to HTMLLINK)
HTMLLINK   ++ Change http:url.address at cursor to hypertext entry.  (similar to HTMLHYP)
HTMLOL   ++ Syntax check for <ol>, similar to EDITOL, this is to check levels etc. for HTML.  Also see HTMLSYN which looks for other things in HTML coding. 
HTMLSYN   ++ Syntax check for HTML code, similar to the other syntax checkers on this page.   Will check that begin and end tags exist, and will check that tag in not nested within itself.  Will not check whether a tag is illegal or invalid within another tag.  Escape sequences (symbols) are case sensitive and will be checked for validity [&amp;, &gt;, &lt;, &egrave;, &Egrave;, &ntilde;, &quot;].  Because <TD></TD> errors are so prevelent this particular empty container error will actually be fixed. Also see related macros HTMLOL, and QCHK
INSERT TSO ++ Insert tag(s)/token(s)/string(s) before and after word at cursor location. ++
INVERT TSO   Invert the lines between two labels. 
JCLBOX TSO ++ Comment and box off within JCL (includes related DCFBOX and REXXBOX) ++
JCLCHECK     %JCLCHECK and !EDCHEK - look for bad things in production JCL.  Vendor Software from Computer Associates. 
JOBCARD TSO   Create a jobcard at beginning of JCL. Must be copied and modified to your own CLIST library from IS03.LIBR.CLIST(JOBCARD). 
KILL TSO   Deletes indicated member from the PDS of the member under EDIT.   Membername is required to prevent accidental deletion of a member.   Cannot be done in SPF/PC per Peter Frank
LABNX TSO ++ Label NX lines ++
LCFIX TSO ++ Lowercase Fix - e.g. "I", "II", "III". ++
LEFT@ TSO ++ LEFT JUSTIFY all lines (C or CC range optional) ++
LISTMEM n/a ++ List member in library similar to the LISTMEM option of @DIR. See @DIR Documentation. DOS directory format.  Available only for SPF2 (OS/2) not available for SPFPC uses SysFileTree. 
MACMAC TSO   Invoke EDIT with preset ISREDIT commands
MAKEADD TSO   Make ./ ADD cards from printed panels listing (see also PANSOX,PAN...) Dependent on printed format subject to release changes will not support updates. 
manipulate   (note) Synopsis of macros that manipulate data.  Also refer to the home page where some of the macros have been summarized into categories. 
MATCH   (++) Find matching delimiter.  Repositions cursor to logical twin.  Delimiters: ()[]{}<>    Command Technology[REXX]
Netscape   (note) See SECSINCE for decoding time stamps found in Netscape (Communicator) bookmarks.  See HTML... for macros dealing with HTML. 
NESTCHK TSO   Checking NESTING of DO and END, in vertical alignment
NOTENX TSO ++ Place INFOLINEs with dataline content above each NX dataline ++
NXNX TSO ++ Display lines BEFORE and/or AFTER and/or labels ++
PANSOX     Make ./ ADD cards from printed panels listing (directions inside, also MAKEADD)
PASTE TSO   PASTE portion of CUT and PASTE -- also see APPEND. Marks Pasted and cut areas with NOTELINE. Uses dataset named userid.CUTDSN.LIST. See CUT
PASTER   ++ CUTR, PASTER, and APPENDR are versions for SPF/PC that already has a builtin CUT and PASTE. See CUT
PERIOD TSO ++ Identify periods in SCRIPT with only single space after ++
PINX TSO   Create .PI entries from NX lines (DCF)
PINXDOIT TSO   Make up .PI entries from scratch (DCF)
PIR TSO   Put Index Rotation for Script Documents (DCF)
PLICHK TSO ++ Check for unmatched quotes, /*comments*/, parenthesis etc. ++
PLIDCLS TSO   List PLI declares in use in the order declared
PROPER TSO ++ Converts selected lowercase words to have some or all capitals.  List of proper nouns, names, places is within the code.  Consists of most of the non lowercase words I added to to the DCF dictionary.  Scope not limited to DCF. ++
QCHK (TSO) ++ Quote quick check.  Checks single, double quotes, and open and close comments on a per line basis for all lines.  Will also work on TSO.  Simplified version of predominate checking done in PLICHK.  Can be used in conjunction with HTMLSYN when quote errors are detected. 
QHELP@ TSO   TRAP REXX execute invoked by QHELP
QUERYALL TSO   Macro creates NOTELINES at end of whatever macro that invokes QUERYALL is operating all.  Posts the values most of the SYSVAR variables available.  The description is a part of Appendix V.
R TSO   Retain command line while in EDIT without execution
REFORMAT TSO ++ REFORMAT edit clist reformats data. Some additional examples are in a separate document.  ++
REMBLANK TSO ++ Remove columns which are entirely blank ++
REMDUPS TSO ++ Remove duplicate (repeated) lines ++
REMOVAL (tso) ++ Removes delimiters and text between delimiters.  See documentation for special provisions to attempt to reverse HTMLDOC, remove tags from HTML code, etc. (new not well tested).
e.g. REMOVAL "<" ">" would remove all HTML tags, but not the escape sequences.  This does not make it equivalent to to a HTML to text because paragraphing formatting is lost.  The main purpose would be to remove specific tags.
REPEATNX TSO ++ Repeat the NX lines for modification purposes, Inserts an INFOLINE BEFORE/AFTER with default being to insert the new data line AFTER the original dateline.  The original line gets an X status.  Similar to @NOTENX ++
REXXBOX TSO ++ Comment and box off within REXX execute -- see JCLBOX ++
SCLIST72 TSO   Split CLIST so col 72 and beyond is not used
SCOPY TSO   SCOPY conversion aid from use of PROC=COPY to PROC=SCOPY
SCRIPTPS TSO   SCRIPT/VS interface for PostScript output (DCF). 
SECSINCE   ++ Translates NETSCAPE time stamps to readable format (Hope these don't run out in year 2001).  NOTELINE will be generated below the line it is found on.  Uses "Find word p'#########'" to find strings.    Modify SECSINCE for your time zone.
    815702894 = 1995/11/06 17:08:14 EDT
    899999999 = 1998/07/09 08:59:59 EDT
    999999999 = 2001/09/08 18:46:40 EDT
SHIFT TSO ++ SHIFT right or left ++
SHIFTNX TSO ++ SHIFT NX right or left ++
SHOWLOAD <--   Search JOBLIB libraries in JCL (Marilyn Miller in TSO Times.  [untested].  See LOADMOD for same concept unrelated to macros.  --SHOWLOAD is off-site.
SORTCR TSO ++ SORT word list into vertical columns -- labels required ++
SORTEM TSO ++ SORT word list horizontally -- labels required ++
SORTG TSO ++ SORT Groupings of lines ++
SORTG1 (TSO) ++ Invoke SORTG 1 40 after excluding all lines and unexcluding all lines with data in column 1 to create groups.  Specific fast track invoking SORTG. 
SPELL TSO   Checks spelling in text, DCF, SCRIPT/VS documents (also see @SPELLS)
SPFEDIT.BAT with /E so can exit quickly
  @echo off
  spfpc %1 /e
SRCH401 TSO   Used in support of clist SRCH400, reformat SearchFor list
SUBMITIT TSO   Submit job displayed in PDF edit followed by PDF edit CANCEL with submitit (Submit It).  Reduces chance of messing up job with inadvertent keying after submitting job or after making temporary changes and submitting job. 
syntax   (note) Synopsis of macros that check syntax of data.  Also refer to the home.htm page where some of the macros have been summarized into categories. 
SYSDSN TSO   Verify existence of DSN at .ZCSR, also can use operands BROWSE, EDIT, DSLIST
SYSIN TSO   Create SYSIN card after CURSOR list (for !EDCHEK and %JCLCHECK)
TAG   ++ Place begin HTML tag before and end tag after word at cursor location.  Begin tag can be multiple words, end tag is first word of begin tag.  Provision has also been made for multiple tags.
TAGX TSO   Place tags before and after identified X or NX line groupings
TECHPS TSO   Print file or NX lines to PostScript devices (requires DCF on system). 
TR   ++ Makes a table row, word at cursor in a cell, and rest of line in another cell.
TXT2HTML (TSO) ++ Create HTML cards from text or code.  CC-range is optional.  Will always generate <PRE>...</PRE> cards.  Will generate additional HTML cards only if no CC-range or entire file is included in CC-range. 
UNGML TSO ++ Creates GML text from non-gml text, or reverses the PROCESS. ++
WORDS TSO ++ Count the number of words found in text. ++
XEVERY TSO   EXCLUDE lines containing EVERY specified character string
NCAPXV TSO   Appendix V -- Reference for SYSVAR variables and an example of output from QUERYALL macro.  One of my documents that I used to refer to quite a bit.  Shows format for CLISTS and for REXX. 
This macro is available on TSO.  There may also be an SPF/PC version which may or may not be compatible with TSO. 
Macro for SPF/PC using hypertext ++ should also work in TSO.  In some cases the original version may have been TSO but updating of the PC version has left TSO version behind. 
This macro is available for SPF/PC usage - D:\SPFMACRO or dsn=IS03.spf2.MACROS
New features are more likely to be added to the SPF/PC version.


Some of the macros above have been summarized as to usage in a table on my home page, and pages that emphasize macros that manipulate data, or merely check syntax or spelling. 

To EDIT a dataset, including a dataset with membername, and invoke a macro you can insert the following into a REXX execute, or macro.

    address "ISPEXEC" "EDIT DATASET('your.dataset(member)') MACRO(macroname)"

EDIT COMMANDS -- selected commands


The following are EDIT commands and each is described later in more detail. 


Edit Command
Description -- Edit Macros
SORT [pdf] [spfpc] SORT command available in PDF EDIT and in SPF/PC as part of language. 

CSON Control Sections in DCF material marked .CS 1 on/off etc. 

TSO CLISTS -- which BROWSE datasets or members


The browse functions provide you with an "extra window" into browse.  This means that when you end the browse function, you will return to the panel from which the browse function was invoked.   Essentially what this means is that use of these functions does not disrupt any other TSO/ISPF work you are doing. 


TSO Command
Description -- TSO clists or executes to BROWSE datasets or members
$B TSO Browse any file from any ISPF panel -- does not use quotes around dsname
$BROWSE TSO Browse any file from any ISPF panel -- does not use quotes around dsname
$DASDERR N/A Browses INTERNAL.LIBRARY.IV2B6802 datasets in contention - DMS (Not Available)
$DASD03 N/A Browses INTERNAL.LIBRARY.IV2B6803 a list of datasets in error - DMS (Not Available)
$DIRPARM TSO $DIRPARM ABORT used to terminate @DIR EDIT/MACRO() See @DIR Documentation.
$DMS TSO Browses INTERNAL.LIBRARY.IV2B6801 a list of dataset scratched by DMS (Not Available)
$MIDI TSO Browses SYS6.MIDILIST.LISTING cataloged and DASD datasets (Not Available)
$MIDITL N/A Browses SYS6.MIDILIST.TLMSCOMB combined MIDILIST and TLMS information (Not Available)
$USERS TSO Browses list of TSO users, or Network Phone users (Not Available)
AFP TSO Browse Advanced Function Printing Libraries.   See Panels Documentation. [clist - must be customized].  You might want to check out LNKAPF by Mark Zelden.
BOOKREAD TSO Interface to IBM BookMaster on-line documentation. 
CBT TSO Browse a group of PDS datasets unloaded from the CBT tape, use the DOC option to see the index.  (similar to NaSPA)  Clist code for CBT is installation specific to naming of PDS files.
CLIST TSO Browse selected member in each of several CLIST type libraries.   See PROC documentation.   Has additional features such as HELP.  
CPUID TSO CPUID -- Display CPU information from REXX article in TSO Times, Fall 1993, by John Andrisan of IBM ISSC subdivision in Long Beach California.  A TSO REXX Exec to get information about CPUs from the MVS control blocks: DVT, SMCA, CSD, PCCAVT, and PCCA; then show CPU number, id serial number, type, SMF id letter, and anything else that looks interesting. 
COPY TSO Invoke IEBGENER to copy dataset. [clist, source unknown]
DSMPROF4 TSO Browse selected members in SCRIPT.R40.MACLIB See PROC documentation. See Panels Documentation.
gettrid TSO Returns the VTAM terminal id.  From CBT 078 by John Kalinich. 
GOTDSN TSO Check if you are allocated to a dataset, RC=0 if so
hexus TSO Display conversions char/hex, hex/char.  COMPUTE or the macro version @COMPUTE is easier to use for single responses.  Also see macros HEXES, HEXSHOW for more macros. 
LOADMOD TSO Browse selected member in each LINKLST library.   See LOADMOD in PROC documentation
MANUALS TSO Create/EDIT a temporary dataset with content of TECH.LIBR.MANUALS
MODELC N/A Browse selected member in TSOPUBLIC.MODEL.CNTL, or * for directory
MODELL N/A Browse selected dsname as in TSOPUBLIC.MODEL.node3 specify node 3
MODELT N/A Browse selected member in TSOPUBLIC.MODEL.TEXT, or * for directory
NASPA TSO Browse a group of PDS datasets unloaded from the CBT tape, use the DOC option to see the index.  (similar to CBT)  Clist code for NASPA is installation specific to naming of PDS files.
NETWORK TSO Browse Network PHONE directory
PANELS TSO Browse selected panel in ISPF utilized PDS libraries. Panels Documentation. Also see PROC documentation
PDSDD TSO Partitioned dataset display used to browse selected member in an allocated ddname.  Used in the same fashion as CLIST, PANELS, PROC, and some that are more Systems Programming specific such as APF, DSMPROF4, LOADMOD, and PANELS.  Two others are CBT and NaSPA which have installation specific PDS datasetnames.  PDSDD can be used for any ddname.  See Panels Documentation and PROC documentationPDSDD can be used for any allocated DDNAME but has builtin provisions for SYSPROC, ISPMLIB, ISPPLIB, ISPTLIB, ISPSLIB, and SYSHELP as CLIST, MESSAGE, PANELS, PROFILE, SKELETON, and HELP.
PROC TSO Browse selected member in each of several JCL procedure libraries

TSO CLISTS -- which invoke logic or invoke software


The following are TSO clists and TSO commands, some provide for options, and tions, and are described later.   Most provide one function or have a single option.   An advantage to invoking a CLIST instead of a panel when you have a choice is that you have an extra "window" and will return where you started. 

TSO Command
Description -- TSO clists which invoke logic or invoke software
$EDIT TSO EDIT any file from any ISPF panel -- does not use quotes around dsname
$D TSO For Systems Programmers (CBT 166), find LINKLST, APF libraries, etc. using REXX execute. 
$DIRPARM TSO $DIRPARM ABORT used to terminate @DIR BROWSE, see @DIR documentation.  This form is only used if @DIRPARM ABORT cannot be entered as with $BROWSE. 
$FREE TSO, Free dataset and issue WHOGOT for dataset. 
  $FREE fully.qualified.datasetname
COMPUTE TSO [spf] Uses INTERPRET a function of REXX to do display calculation as a MSGLINE (From an article in issue #5, Chicago Soft Ltd -- TSO Times, by Normal Pearl, contest winner for short REXX execute.
COMPRESS TSO Compress facility alternative to PDF 3.1 [clist]
CPUID TSO Display CPU information (serial#,DVT,SMCA,CSD,PCCAVT,PCCA) using wonders of REXX.  Refer to article in TSO Times, Fall 1993, by John Andrisan. 
DDNAME TSO Information about an allocated DDNAME in your session (LISTDD is newer)
HEXUS tso HEX to/from Character conversion (interactive).  (not a macro but code is with SPF/PC macros).  ++
GDGNEW TSO Copy sequential file or PDS(member) to newly created GDG disk dataset. 
GETTRID TSO Function returns the VTAM terminal ID -- used in WHO (CBT 78)
IFPS TSO User CLIST to operate IFPS software program
IOF TSO Invokes IOF as a CLIST rather than from a panel providing you with an "extra window". allowing you to use IOF in the same manner had you used option 6.9.   Use "EX " on the command line to exit returning you to your previous screen before you entered IOF. 
IOFIOF TSO Invokes IOF as a CLIST with default of SORT(NULL)
LISTDD TSO Information about an allocated DDNAME in your session From an article in Chicago Soft Ltd -- TSO Times Vol.   2 No.   1, by Terry Beadle.  
LISTRP TSO List RACF protection -- %LISTRP, also se @LISTRP
MURPHY TSO Murphy's Laws (spoof).  Not restricted to running on TSO.  can be run on any REXX.  Regina REXX is available without charge from Mark Hessling's ftp site [
O TSO LOGOFF clist -- sames as typing LOGOFF
OUTPUT   TSO OUTPUT command -- retrieve SYSOUT output
P TSO Hexadecimal Calculator
Q TSO Quick entry into several ISPF panels and applications e.g. 
  • ===> TSO Q HELP
  • ===> TSO Q NAMES
  • ===> TSO Q TSO (for additional information see &pgQ.)
QHELP TSO Trap HELP information into a dataset.
QW TSO Quick-Ref, programmer's reference tool
RECEIVE TSO TSO RECEIVE -- mostly information from TSO HELP RECEIVE but has additional information. insame information
REALLOC TSO Reallocate datasets in an ISPF ddname concatenation
SASFREE8 TSO ALLOC/FREE SAS FILES used optionally in SAS85 and SAS858 must be copied from IS03.SHARE.TEXT and modified for own use. 
SAS85 TSO SAS 85.08 invoked via CLIST without comments
SAS606 TSO SAS 6.0.6 invoked via CLIST with comments
SEARCH4 TSO see @SEARCH4 under macros for more information
SELPANEL TSO Select (and nest) panel from any other panel -- default is ISR@PRIM
SHOWDATE TSO Show current date (TSO version of @DATE macro)  Warning This is yy/mm/dd and yy/ddd format, not yyyy/mm/dd and yyyy/ddd format. 
SUPERC TSO Comparison of data, or members of PDS files
TLMSUSER TSO Invokes TLMS for inquiry only. TLMSUSER provides you with an "extra window"; but rather than putting you in browse, it actually invokes TLMS so that you can enter TLMS display commands.   To end this function, enter: END.   This will also return you to the panel from which it was invoked, and will not disrupt any other TSO/ISPF work. 
TLOG TSO Save your LOG as userid.TLOG.LOG(Myymmdd@), where @ is a sequential letter.   Ability to check out previous TSO usage.   Logged in/out, SAVE, and some others things. (Not documented, language is clist). 
TOD TSO Interpret Time Of Day stamp as found in IDCAMS VSAM dataset list. 
TSOTRAP TSO Trap TSO commands into temp dataset get into edit.  Modified from original Lionel B. Dyck coding including NOPREFIX users.  Lionel's site OS/390 (and z/OS)
TSOOS2 TSO Prepare TSO for file transfer from within ISPF. Invoked by TSO Q OS2
WHEREIS TSO Locate a member in any of the current ISPF libraries.  Modified for exact match and to include DDNAME in display from original code by John McCarthy in */ TSO Times Summer 1993. 
WHICH TSO Which CPU]IPL]UCB for UCB DS()]VOLUME()]UNIT() -- [clist]
WHO TSO Tells who is logged on currently at terminal where issued.  Includes GETRID. 

TSO COMMANDS -- which came with TSO use TSO HELP for more information


The following are TSO commands.   They work similar to TSO clists.  
Additional information can be obtained from the TSO HELP file information.
e.g. ===> TSO help
e.g. ===> TSO help printoff


TSO Command   Description
COPY TSO Duplicate sequential file, PDS, or PDS members e.g. ===> TSO COPY dsn1 dsn2

See documentation TSO HELP COPY

LISTBC TSO Display messages from operator/user.  e.g. ===> TSO listbc
LISTCAT TSO Display information from catalog(s).  e.g. ===> TSO listcat entry('is03.share.text')
LISTDS TSO Display data set attributes RECFM LRECL BLKSIZE DSORG VOLUMES e.g. ===> TSO listds 'is03.share.text'
PRINTOFF TSO Used to print the contents of a dataset.  e.g. ===> TSO printoff 'is03.share.text(nclist)'
SEND TSO Send messages to other users or to operator.  send '...text...' user('user id list') now/logon/save nowait wait e.g. ===> TSO send 'hello hello hello' u(Innn)
TIME TSO Current time and current session usage time e.g. ===> TSO time
IKJ56650I TIME-03:46:14 PM. CPU-00:01:52 SERVICE-745562 SESSION-07:15:28 NOVEMBER 26, 1985

TSO COMMANDS -- that were in use at Our Company, find on CBT tapes


The following are invoked as TSO commands.   They work
similar to TSO clists. 

TSO Command   Description
VPSPRINT TSO Used to print the contents of a dataset.
WHOGOT TSO Used to determine conflicts in the use of a dataset
e.g. ===> TSO WHOGOT DMS70.PARMLIB /* note no quotes */
variation available as WHOHAS, neither allow trapping of lines by REXX or clist
WHOGOT has been included in $EDIT execute when someone has file; hopefully,
you won't use $EDIT to edit a file/member that 500 people are using.  (There is a WHOGOT at have no idea whether that was what we actually used or not, but I am sure it was not mine, though it was used in several macros and executes).

Another method strictly using REXX to find what jobs are using a dataset can be seen in ISPF and OS/390 Tools and Toys, Doug Nagel's queryenq

Articles from Internal Publications


Article Description
ART001 Published CIS Newsletter -- June 1992
Focus --- edit macros that, compare, check JCL.  Edit Macros.  Checking JCL with  !EDCHEK
ART002 Published CIS Newsletter -- June 1992
ART003 Published CIS Newsletter -- Sept 1992
Focus --- finding material in your PDS libraries.  Searching a PDS library.  EDIT macro -- @DSNQ.  Command column use in DSLIST (PDF 3.4)
ART004 Published CIS Newsletter -- Dec 1992
@PRINTNX - print a listing based on the screen that you see nxnx find(f) exclude(x) LABNX will show on @PRINTNX @COMPARE INX -- based on Compare will do locates to each line in NEW dataset inserted/changed.  @DIR -- too many options must print out article themselves
ART005 Published CIS Newsletter -- April 1993
Continuation of Documentation aids from previous article LABNX.  Continuation of EDIT commands from previous article reiteration, retrieve, reset RESETNX2 char.  Focus --- reformatting REFORMAT FIXJCL (was already done in ART001) REXXBOX (was already done in ART001) Also --- SPELL checking (some restrictions apply) SPELL
ART006 Published CIS Newsletter -- June 1993
Focus --- SCRIPT release 4.0 supports Shading
ART007 Published CIS Newsletter -- Sept 1993

Focus --- syntax checking (for ART006):  PLICHKEDITCHEK

ART008 Unpublished electronic CIS Newsletter -- Dec 1993
Focus --- ISPF 3.5 changes, TSO Tutorial, and Sorting.  Member selection (%), FLIP, COLS, UNDO and PA2 and recovery SORT, SORTCR, SORTEM, SORTG

[Return to Dave's home]


PostScript Printing. The following files can be printed on PostScript printers.  The PostScript version is not being maintained and the text versions (.txt) are being converted to HTML (.htm) eliminating the need for a PostScript version.
PostScript files can be viewed with GhostView.  PostScript files can be converted to Acrobat files using the Acrobat Distiller.  Conversion with the Acrobat Distiller can be done over the internet as a free service at the Internet Distiller.  PostScript may be supplied as .PS or in .ZIP form.  Turnaround is reported at three minutes.  The converted file can be read with Acrobat Reader
of Macro
PostScript Version
of Documentation
(not being updated)
@DIR eps/6DIR.ZIP Edit CLIST to list directory members. TSO users only on mainframe
CUT eps/ CUT portion of CUT and PASTE -- also see APPEND
REFORMAT eps/ REFORMAT edit clist reformats data ++
SPELL eps/ Checks spelling in non-SCRIPT documents (also see @SPELLS)
TAGX eps/ Place tags before and after identified X or NX line groupings
Several of the macro names begin with "@".  The .ZIP extension really isn't needed. "@".    In order to print a file directly from PKUNZIP you will have to use a mask such as ? when you want PKUNZIP requires first file to be a zip
@DIR.EPS can be printed from it zip file to printer LPT1 using either method to the right: Directly from the @DIR.ZIP file

Notes on my emphasis in writing macros

My macros tend to be very robust, because I use them a lot and continue to add additional function to each macro.  Notelines are frequently used to help determine what has or needs to be changed.  Examples of Notelines:  CUT and PASTE indicate which lines have been copied, or the number of lines that were removed.  REPEATNX does not just repeat NX lines, it also creates notelines so you can see how the original lines looked while proceeding with modifications on the repeated lines.  A lot of my work involved PLI, making global changes to PDS files for system installations, and documentation written in DCF and later in HTML.  I find it annoying to hear the repetitive clicking of keys doing some task that could have been done quickly with an existing macro, or even with simple commands where someone never bothered to learn pictures in editor commands.  I tend to write code to help save me time in the future. 

Oh, perhaps I should mention that I don't like invoking everything from panels, many panels just make things more complicated, and interfere with making things work together.  So except for a minor modification in a SuperC panel I hardly use them and don't write them.  Many of the panels that I use are invoked from the Q execute.

Notes on ASCII translation

There is no NOT symbol in ASCII.  To alleviate a lot a problems in translation and in typography, I have changed many of them.  Using \=, /=, or <> all valid in REXX.  The \= is the preferred use.  I created FIXREXX to identify problems between use of REXX on mainframe (EBCDIC) and on REXX in SPF/PC and in OS/2 on the PC (ASCII).  It should run on each of those systems.

The character used for OR and concatenation does not translate well to or from ASCII.  To make things a little more complicated there are many different translation tables used.  Your systems and method of transfer will determine the translations that you get.

Since this site is ASCII, I will include the changes that you are most likely to need once code has been transfered to MVS.  Don't forget to use CRLF and ASCII on your transfers.

A list HTML symbols and ASCII code may be somewhat useful.  Since there is no one to one correspondence between ASCII and EBCDIC it would not serve much purpose to simulate an EBCDIC table using HTML.  If IBM has one in HTML I would put a hypertext entry here.

change all x'5f7e' x'b07e'        /* ^= --> \= (NOT EQUAL)*/
change all x'b07e' x'b07e'        /* = --> \= (NOT EQUAL)*/
find all x'5F'        /* 5F incorrect conversion to AA ASCII*/
change all x'5f' x'b0'        /* p ' --> p ' */
CHANGE all X'4F' X'6A'        /* logical OR */
CHANGE all X'5F' X'52'        /* correct other use of logical NOT*/
FIND all p'.'           /* identify additional problem areas*/

Related Sites

Search Tips for SPF / Rexx that one might use in a Google web search.  Naturally would not include the items to avoid in a search on the current page or it would not be found in Google.

Material featured in published articles may not be robust due to space limitations in publications, where the main emphasis tends to be reduced to presenting a single concept, or single application for use.  Content on CBT tapes is much more robust having no space limitations.  CBT tapes tend to contain several divergent versions, and approaches. 

Disclaimer and site usage

Material provided at The REXX Macros Toolbox is provided for your use distributed directly from this site.  Redistribution of source, coding and documentation by any other means is prohibited. 

F. David McRitchie and The REXX Macros Toolbox disclaim all warranties as to this software, whether express or implied, including without limitation any implied warranties of merchantability, fitness for a particular purpose, functionality, data integrity or protection. 

All material including documentation and code is Copyrighted as an unpublished work by
    F. David McRitchie and the "The REXX Macros Toolbox". 

Website is currently located at
      This page is
A previous location of this page was


counter  Visitors to this alphabetical listing of The REXX Macros Toolbox  includes a count of 9,819 from my previous ISP on 2000-04-15.


Preliminary syntax checking of this page used HTMLSYN and QCHK described on this page.     Final and more rigorous HTML checking was provided by W3C Wilbur Checked! and was checked to Level 3.2 (Wilber).  — W3C Validator

[Return to Dave's home page]  A good place to see if you missed anything on the tour or major side trips.
or Return to T-Rex! T-Rex!T-Rex! continue your Dinos Ring tour T-Rex!T-Rex!T-Rex!

Tour [back]   [aboutme] [home]     --      [top]   [index]   [manipul]   [syntax]