The 'good stuff' from my inventory has always been over at the REXX Language Association's free code repository. That's not to say there isn't plenty more where that came from. There is, and here it is! Some of it is very old yet still works acceptably. Some of it is specific to this employer or that one and is only useful as an example of how you might go about doing some particular task. In any case, if you should find any of it useful, you're welcome to it. At the ripe old age of 78, I'm unlikely to actually need any of it myself anymore.
Some of it is pretty damn good if I do say so myself. In particular, I recommend $$JFORM , @DEIMBED , FCSUPBR , FCSUPED , FETCH , KEDBASE , SCRAMX . Some of these are pretty complex and consequently hard to understand, but I guarantee they're worth the effort. Send me a note at "rexxhead@yahoo.com".
Beware! There is no FTP available for these, so 'downloading' means 'cut-and-paste'. That often (maybe always) leaves a blank line at the end of your copy. Much of this software will quietly malfunction if you do not excise that blank line. Also, you will find the U.S. dollar sign present in lots of this code and that, I hear, causes non-U.S. users fits. Sorry about that...
Code Name | Type | Description |
---|---|---|
$$JFORM | emac | Reshape JCL to a configurable standard |
$$JPREP | emac | Clean up JCL. Not as elaborate as $$JFORM and quicker. |
$$PPREP | emac | Clean up PLI code |
$LISTC | xmp | LISTC into a trap |
@BRNCHID | xmp | BRANCHID in a message |
@CKSTYLE | xmp | Cylindrical array processing |
@CMDUPD | xmp | Build new entry for command table |
@DEIMBED | xmp | Extract ISPF elements |
@DISPLAY | xmp | Selection panel processing |
@LBLCHG | emac | Change a paragraph label |
@LBLID | emac | prefix a label (and all of its referents) with an identifier |
@LOGMSG | xmp | Add a message to the message log file |
@NEWPREF | emac | change a label prefix |
@POPUP | xmp | Pop-up message panel |
@REFIND | xmp | Find next occurrence |
@RESTART | xmp | Restart an EXEC in ISPF |
@TAGRET | emac | Tag a return-line with its entry name |
@TBCLOSE | xmp | Close an ISPF table |
@TBDISPL | xmp | Multiple selection panel |
@TBOPEN | xmp | Open an ISPF table |
@TBSORT | xmp | Complex table sort (needs TBLGEN) |
@TBSPIN | xmp | Rip through a table |
@TRACE | xmp | Local trace |
@ZTDSELS | xmp | Panel handling (complex) |
ABRTST | xmp | How to match words in a list |
ACQ | exec | Working section for ACQUIRE; very old code; pre-REXXSKEL; probably obsoleted by SEIZE |
ADDMON | xmp | Monitor tool usage |
ADDRTST | xmp | Exhibit how address() works |
ADDSW | exec | Working code for ADDSKIP, ADDHELP, ADDELSE, ADDLV, ADDSW |
ADDXREF | exec | Driver for COMPSTAT — add ISPF statistics to compiler listing |
ALIASES | exec | Determine member aliases |
ALIASGEN | exec | DEL/DEF ALIAS |
ALLOC | xmp | Sure-fire allocate a dataset |
ALLPLIB | emac | Locate all INCLUDEs in a PLI compiler listing; used by CM |
AMORTIZE | exec | Amortise a mortgage |
APF | exec | Show APF libraries |
ASMMAP | exec | Unsure — related to ASM/CICS processing |
BADCOMM | emac | Find unclosed comments |
BLKCOMM | emac | Change each-line comments to block comments |
BODYBAR | xmp | BODY specification (panel) |
BREAKS | exec | Mark breaks in a number sequence |
BXTST | exec | Plays Marienbad |
CALLEDBY | emac | Builds PLI CALL<->target report |
CATCTS | exec | Develop counts-by-level for a specified catalog |
CKAL | demo | demonstrates 'finding which word contains a string' |
CKSEQ | emac | find breaks in a sequence # |
CL | emac | insert change log to panel |
CLIPTST | demo | Snip a string iteratively |
CLISTLBL | emac | Find all CLIST labels and referents. |
CMDUPD | exec | Update user's CMD table via 3.9 |
CMFLTTBL | exec | ISPF table -> flat file |
CMMEMIDX | exec | create PO index member |
CMRSTTBL | exec | Flat file -> ISPF table |
COMPARM | exec | compiler parms for each program |
COMPDT | exec | get compile date for load module |
COMPILE | exec | compile/link JCL generator |
COMPSTAT | emac | add ISPF stats to a compiler listing |
CONFIG | exec | Display and operate on the (NMR) PROL configuration table |
CR | emac | seed REXXSKEL to new module |
CVTINFO | exec | CVT information display |
CVTSECS | exec | Convert seconds to hh:mm:ss |
DB2SPACE | exec | calc space needed |
DCBTREE | exec | By Gilbert Saint-Flour |
DECLOCN | emac | for ASM listing |
DESCRIBE | exec | Display the PGMASTR (PM) table |
DFLTS | emac | shows all the ISPSLIB default characters in a text |
DFLTTLIB | exec | Set default table library |
DIRREAD | demo | Display a PDS directory; not my code |
DIRSHOW | exec | Display a PDS directory with U/L hex |
DIRSTATS | demo | Display a PDS directory; probably by Alastair Gray |
DISP | exec | Display (almost) any panel |
DriverExample | exec | Stub routine for executing a remote module |
DROPDUP | emac | Drop duplicate lines in a dataset |
DSPROF | exec | LISTDSI driver/display |
DUMPTBL | exec | Print contents of an ISPF table 132-wide |
EASTER | exec | Compute Easter for any year |
EDBR | exec | Invoke EDIT from Browse/View |
ELEMENTS | emac | Display element names from a PLI Attribute List |
EN | emac | insert exec name to header |
EX01 | exec | A beast of a test for desk-checking! |
EX02 | exec | A beast of a test for desk-checking! |
EXAMPLE | data | Pro-forma new paragraph used by MAKEPARA. See documentation for REXXSKEL. |
EXTTST | exec | RXVSAM demonstration |
FCCMDUPD | exec | Update user command table |
FCSUPBR | exec | Browse favorites |
FCSUPED | exec | Edit favorites |
FETCH | exec | Edit, Browse, or View a dataset by its nickname |
FINDORIG | exec | By Doug Nadel; find where THIS code is running from |
FIXDCB | exec | Alter the DSCB of an existing dataset |
FIXTBL | exec | Direct access to ISPF 3.9 |
FIXTOOL | exec | Report a tool-error/fix. This never got much exercise and may be 'unfinished'. |
FLIP | emac | Show all hidden lines; hide all shown lines. |
FTEDIT | xmp | Edit file-tailored text |
FXCNOTE2 | exec | Orig by IBM; fixes some errors in orig SMTPNOTE |
GENSAR | exec | Generate control statements for SARBCH; very old code |
GETNAME | exec | find username in storage |
GMTOFSET | exec | Extract GMT offset from CVT and apply it |
HURL | exec | Use NDM to ship specified datasets. |
ICEUSER | subr | Table of 'special' userids |
IOSTMT | emac | Shows all I/O statements in PL/I source. |
IPLINFO | exec | Display IPL status information; by Mark Zelden |
ISOLATE | emac | Show only the selected word |
ISRTHDR | exec | Insert header lines to a dataset |
ISRUDLP | panel | Alternate for ISPF 3.4 |
JCLXREF | exec | Analyze JCL to find TASKS, PROGRAMS, and DDNAMES |
JOBID | exec | get JN/J# from storage |
KEDBASE | exec | Edit/Browse/View by DDName |
LA | exec | LISTA to the queue |
LISTDSI | xmp | LISTDSI |
MACSKEL | xmp | Skeleton of a macro |
MAKEPARA | emac | Add a new blank paragraph |
MARK | emac | Mark 'CALL' line |
MASKTST | demo | Matching using BITAND and BITOR |
MATCHMBR | exec | Compare 2 PDS to find missing members |
MBRSTATS | exec | Show member-stats; requires PIPES |
MBTI | exec | Myers-Briggs Type Indicator |
MBTIKEY | data | for MBTI |
MBTIPROF | data | Type descriptions for MBTI |
MBTIQ | data | Questions for MBTI |
MSGLOG | exec | Show me my LOG.MISC |
NMAR | exec | NMR-specific but a great example of RXVSAM use |
NONOTS | emac | Chg all logical-NOTs to something more understandable |
NORXSKEL | emac | Exclude all REXXSKEL lines for easier reading |
ONLY | emac | Exclude all lines except those with the target string |
OUTDENTS | emac | exclude all lines except those with start or end tokens |
PACKLOGS | exec | Combine saved ISPF logs into a monthly summary |
PARSEDCL | emac | Annotates a PL/1 DCL with information about column-locations for each field. |
PDS2SEQ | exec | Convert a PDS to a sequential dataset |
PGFS | emac | show all PL/I paragraph names |
PLIFLOW | emac | Show the operational structure of a PL/I |
PLISKIP | emac | Replaces carriage control characters in PLI source with preprocessor commands |
POPINDX | exec | Populate the #INDEX (see CMMEMIDX) member from another dataset |
POSIT | emac | Required by EDBR |
PRDSTATS | exec | Update the ISPF statistics for a member |
PROFILES | exec | manipulate one's Edit profiles |
PROFVARX | exec | Display all the Profile Variables for a given application pool |
PULLSAR | exec | Get SAR reports into a TSO dataset |
QTABLE | exec | Show open ISPF tables; by Doug Nadel |
REBLOCK | emac | Change all BLKSIZE=xxxxx to BLKSIZE=0 |
RECALL | exec | HRECALL specified datasets |
SAMPLE | exec | SAMPLE a PDS by looking at the first-n lines |
SAVELOGS | exec | Call this each morning before entering ISPF to print and delete yesterday's SPFLOGx. |
SCAN | exec | SCAN a DDName for DCB's |
SCHED | exec | produce calendar page |
SCHINIT | exec | init for SCHED |
SCRAMX | exec | FTP PDS to PC |
SCRMODEL | exec | Determine the screen model type. |
SDSFXIT | exec | Hilite SDSF output; must have SDSFXIT0 operable. |
SEARCHME | exec | Search the current PDS for text |
SECURE | exec | Example of a stub to a remote routine |
SETEPROF | emac | Build a standard ZDEFAULT edit profile |
SHIP | exec | SHIP a dataset to another user |
SHORTRX | xmp | REXX without REXXSKEL |
SKEL | xmp | Ordinary panel |
SKELH | xmp | tutorial panel |
SKELT | xmp | TBDISPL panel |
SKINNY | emac | Exclude all but REXXSKEL |
SLICKIO | emac | Make PL/I FILE declarations line up neatly |
SNIP | emac | Find long lines |
SORTCMDS | exec | Sort a command table |
SORTSTEM | xmp | Sort a stem array |
SORTXMP | xmp | Using SORT utility |
SPLITDO | emac | Split DO from IF in PLI |
STAKEDIT | exec | alias as STAKBROW, STAKVIEW |
STEPS | emac | exposes all EXEC statements in JCL. |
STRLEN | emac | Insert yardstick over quoted string |
STRUCT | emac | show the innate structure of a COBOL program |
SYMDEFS | exec | Display all the system-level symbolics; by Bill LaLonde |
SYSAMON | exec | Maintain the SYSUMON VSAM file of usage stats by user and toolname. |
SYSUMON | exec | Count tool-usage by user and month. See SYSAMON. |
SYSVARS | exec | show system variables |
TBLGEN | exec | Generate ISPF table from specs |
TBLMSTR | exec | Master table (AAMSTR) maintenance |
TBSORT | exec | Sort an ISPF table |
TRAPOUT | exec | SYSOUT trap |
TRIMLOG | exec | examines LOG.MISC and discards any entries older than 60 days |
TRIMPLI | emac | skinnies PLI listing |
TSURXS | exec | Display all TSO userids in sorted order; by John Kalinich |
UPOE@#ST | subr | update ISPF stats |
VML | xmp | Chris Lewis' proof-of-concept for horizontal scolling |
VSAMINIT | exec | writes a dummy record to a newly-created VSAM dataset, then deletes that record. |
VSPACE | exec | computes %-used from LISTCSUM output and recommends primary space allocation if different. |
VSPROC | exec | Demos use of RXVSAM for dealing with VSAM files |
VWBR | exec | Invoke View from Browse. |
WB | emac | fill in 'Written By' |
WBNAME | subr | init for WBNAME |
WHATINC | emac | returns a string containing all the INCLUDEs found in the source; used by NMLIBIA |
WHEREAMI | exec | identifies your current SMFID and NODE |
WHOAMI | exec | identifies the caller and several other datapoints; not my code |