Mark's MVS Utilities
Mark's MVS Utilities

Last updated on: 02/20/2024. Check back often for additions to this page. Look for the "NEW" picture next to the file name. This indicates a new or updated file.

About me: Mark Zelden


Before you try to use any of these utilities, you MUST read the disclaimer. Also, please read the notes on ASCII translation (this is especially important if you do not use a U.S. code page).

If you have any questions or comments about these utilities please email me at mark@mzelden.com. You may also leave general comments in my Guestbook.


About the color theme for this site:      Over the years I've had a few people comment that they didn't like the colors on the site or it was hard to read. Since this is a mainframe related site, I chose the colors based on an IBM 3279 terminal operating with extended color attributes. I appologize if it is difficult to read for some of you, but maybe changing the font size larger or zooming in so the font looks more like a 3278 model 2 or model 5 terminal would help. All modern browsers have a zoom feature.

UPDATE 2021: I'm now just going to call this color theme "Dark Mode".   :-)    What's old is new again!

Recent Changes
Skip changes


02/20/2024 - Updated doc references in RXINTRO (Introduction To REXX word document) and wording in the $RXINTRO instructions that explain how to extract it.
05/01/2023 - IPLINFO updates:
1) Add JES2 node offset and JES3 FMIDs for z/OS 2.5.
2) Add IPA updates for z/OS 2.5: CRYPCTRS.
03/24/2023 - Updated RXSTOR64 to expand the following fields from 7 to 9 bytes (from 6 to 7 digit numbers): "ALLOC MEM", "GUARDED MEM", "HWM MEM" & "SHARE HWM".
12/27/2021 - Updated ONEPAK22 with a note that it could be used with z/OS 2.4 and removed IOEDFSXP from AUTHPGM in IKJTSO00 parmlib member (SYS1.SIOALMOD wasn't in the sample to start with). Also removed references to NETVTM.SCNMLPA1 (NETVIEW) since that library is not required. Also made some JES2PARM changes but they aren't related to z/OS 2.2 though z/OS 2.4.
12/27/2021 - Updated comments in TWOPAK22 to indicate that the zFS root will not fit on a single 3390-3 volume and using 3390-9 is recommended. Also updated comments about required customization for TCPIP access. Added HMCS and SYSCONS to the sample CONSOL00 member that is built.
12/27/2021 - Updated comments in TWOPAK23 to indicate that the zFS root will not fit on a single 3390-3 volume and using 3390-9 is recommended. Also updated comments about required customization for TCPIP access. Added HMCS and SYSCONS to the sample CONSOL00 member that is built. Also made some JES2PARM changes but they aren't related to z/OS 2.3.
12/27/2021 - Added the TWOPAK24 job. This is an update to the TWOPAK23 job and can be used to create a "rescue" system from a z/OS 2.4 driving system.
09/24/2020 - IPLINFO updates:
1) Add JES2 node offset and JES3 FMIDs for z/OS 2.4.
2) Add IPA updates for z/OS 2.4: RUCSA and BOOST.
3) Changed the max symbol length in the Symbol display from 10 (8 max + ampersand and period) to 18 for z/OS 2.2 and above (16 max + ampersand and period).
05/06/2020 - Added the SDSFPRT program. This program uses the SDSF REXX environment to take all or selected output from the spool and copy it to a PDS via SDSF "PRINT" commands.
08/28/2019 - Updated the SDSF@DR REXX to change the "ST" panel invocation from:
Address SDSF "ISFEXEC ST (DELAYED ALTERNATE)"
    to
Address SDSF "ISFEXEC ST (DELAYED)"
in case no alternate panel is defined. By default both primary and alternate fields are merged if an alternate exists anyway.
07/01/2019 - Added the DSLISTSV and MEMLSTSV CLIST and REXX EXEC.
06/17/2019 - For z/OS 2.3 and above, added IPA updates for SMFTBUFF, OSPROTECT, ICSF and ICSFPROC. SMFTBUFF was added via APAR OA52828. OSPROTECT was added via APAR OA54807. ICSF / ICSFPROC was added via APAR OA55378.
06/17/2019 - Updated the "GET_CPCSI" code in IPLINFO for a larger offset into IRALCCT to get the CPC SI info for all z/OS 2.3 systems. The previous change only did it for a z14, but the fix is also needed for z13. The problem is that I don't know what APAR / PTF makes the larger offset required nor if it is processor specific.
04/24/2019 - Added the TWOPAK23 job. This is an update to the TWOPAK22 job and can be used to create a "rescue" system from a z/OS 2.3 driving system.
04/24/2019 - Updated the comments in the TWOPAK22 job. Changes from TWOPAK21 were accidentally left out of the comments section. I also removed the comments that stated the job could be also be used for for z/OS 2.3 since there is now a separate sample job for z/OS 2.3.
03/06/2019 - Updated the "GET_CPCSI" code in IPLINFO for a larger offset into IRALCCT to get the CPC SI info for z/OS 2.3 at RSU1812 and above running on a z14 (the offset is an additional 8 bytes). I don't know what PTF(s) broke it or if there is a similar change for OS versions lower than z/OS 2.3.
01/03/2019 - Added a "REVerse" mode to CMD34 to process the data set list in reverse order. "REVerse" mode is useful when you are trying to delete GDGs plus the GDG base(s) in the data set list, otherwise the command will fail against the GDG base since there are still GDGs that exist in the base.
10/12/2018 - Added the ONEPAK22/TWOPAK22 jobs. These are updates to the ONEPAK21/TWOPAK21 jobs and can be used to create a "rescue" system from a z/OS 2.2 driving system. They should work for z/OS 2.3 also with no changes.
10/12/2018 - Updated the SDSF@DR REXX to check for "*BOTTOM OF DATA REACHED*" so it is not displayed as an error message from XDC. I'm not sure when IBM added this as the code was written in 2009. It may have been in z/OS 2.1.

A summary of all changes made since November 1999 can be found by clicking here.


Index of this page

  1. ISPF Edit Macros
  2. TSO REXX EXECs and CLISTs
  3. Batch Programs and Routines
  4. XEF - eXtended Editor Facility
  5. Sample JOBs and Documentation
  6. Notes on ASCII Translation
  7. Disclaimer
  8. Thanks
  9. Guestbook
A TSO XMIT file format, that includes any updates since the current CBT version, is available on this site as CBT434.ZIP (~ 1030K).

You can also download these utilities from the CBT Tape Homepage in TSO XMIT format - CBT FILE # 434 (~ 1030K).

The updated file may also be on the CBT Updates Page in TSO XMIT format - CBT FILE # 434 (~ 1030K).

Instructions on how to use TSO XMIT files can be found at the Download CBT Tape section of the CBT Tape Homepage.

All downloadable files on this page are also contained in MVSUTILS.ZIP (~ 1075K). (please see the Notes on ASCII Translation)

General instructions for installing and using these utilities can be found by clicking here.

An index and description of all members on the TSO XMIT format file (which is essentially the same as the downloadable files on this site) can be found by clicking here.


ISPF Edit Macros

Return to top | Index | Next Section | Previous Section

Roscoe users might recognize some of these edit macros that I wrote to simulate fuctions that were built into Roscoe when I last used it (1986).

File Name Macro Description and Usage Examples
INCL.TXT Include only lines that contain a specified search string. The search string can optionally be limited to specific columns.
Examples:
INCL ' JOB'
INCL '//' 1 2
EXCL.TXT Exclude all lines that contain a specified search string string. The search string can optionally be limited to specific columns.
Examples:
EXCL UNIT=SYSDA
EXCL ' DD ' 3 12
DELX.TXT Delete all lines that contain a specified search string. The search can optionally be limited to specific columns.
Examples:
DELX VOL=SER=WORK01
DELX '//*' 1 3
DELNX.TXT Delete all lines that contain a specified search string. The search can optionally be limited to specific columns. Roscoe calls this "DELS" (rename if desired).
Examples:
DELNX UNIT=CART
DELNX 'SYSOUT=*' 3 16
FILL.TXT Fills column(s) with characters. The fill can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Examples:
FILL 1 2 '/'
FILL 2 7 'DELETE' .A .B
PREFIX.TXT Add a character string prefix to the beginning of a line before the first non-blank character, shifting data to the right. The prefix can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Examples:
PREFIX "'"
PREFIX 'DELETE ' .A .B
PREFIX2.TXT Add a character string prefix to the beginning of a line before the first non-blank character. The prefix can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Examples:
PREFIX2 "'"
PREFIX2 'DSN=' .A .B
SUFFIX.TXT Add a character string suffix to the end of a line after the last non-blank character. The suffix can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Examples:
SUFFIX "'"
SUFFIX ',DISP=SHR' .A .B
DB.TXT Delete all lines from the line the cursor is on to the bottom line. This MACRO can be implemented as a true line command with the help of ISPF developer Doug Nadel's LMAC program, and this LINEMAC edit macro. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
DT.TXT Delete all lines from the line the cursor is on to the top line. This MACRO can be implemented as a true line command with the help of ISPF developer Doug Nadel's LMAC program, and this LINEMAC edit macro. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
LINEMAC.TXT Edit macro needed to implement DB , DT , ZB , ZE , and ZV as true line commands. This MACRO must to be used in conjuction with ISPF developer Doug Nadel's LMAC program. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
LINETBL.XMI EDIT line command table needed to implement DB , DT , ZB , ZE , and ZV as true line commands under z/OS 1.13 and above without the use of LMAC.
COLADD.TXT Total numbers in a specified column range. An optional parameter of "HEX", "ZONE", "PACK", or "BIN" is needed to add hexadecimal, zoned decimal, packed decimal, or binary data. "DEC" is the default addition type. The operation can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Examples:
COLADD 10 25
COLADD 33 40 HEX
COLADD 25 30 DEC .A .B
COLADD 10 29 ZONE
COLADD 10 16 PACK
COLADD 40 44 BIN
COLADD 44 57 X .FROM .TO
COLUTIL.TXT Column manipulation utility which can either MOVE, COPY or SWAP columns to a new location (move is the default), SHIFT columns right or left, or CUT (copy) data from specific columns to the ISPF Default Clipboard to be used with paste later on. The operation can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
Move Examples:
COLUTIL 10 20 5
COLUTIL 10 14 35 MOVE .A .B

Copy Examples:
COLUTIL 35 40 12 COPY
COLUTIL 10 14 35 C .A .B

Swap Examples:
COLUTIL 25 30 15 SWAP
COLUTIL 40 50 10 S .A .B

Shift Examples:
COLUTIL LEFT 3
COLUTIL R 5 .A .B

Cut Examples:
COLUTIL CUT 10 15
COLUTIL C 30 40 .A .B
INSLINE.TXT Insert a character string or previously "CUT" data from the ISPF Default Clipboard either after or before every line. The insert can optionally be limited to specific lines if labels are used. Excluded lines are omitted from the operation.
After Examples:
INSLINE '// DISP=SHR' A
INSLINE '// DISP=SHR' A .FROM .TO
INSLINE PASTE A
INSLINE PASTE A .FROM .TO

Before Examples:
INSLINE ' DELETE +' B
INSLINE ' DELETE +' B .FROM .TO
INSLINE PASTE B
INSLINE PASTE B .FROM .TO

DELDUPS.TXT Sort and delete all duplicate lines. The duplicate search can optionally be limited to specific columns and/or lines by using labels. An optional parameter of "Showdups" may be specified and all the duplicate lines will be shown instead of being deleted. The "Showdups" option may be appreviated by using one or more of its characters.
Examples:
DELDUPS
DELDUPS show
DELDUPS 10 15
DELDUPS 10 15 Showdups
DELDUPS .from .to
DELDUPS .from .to s
DELDUPS 43 57 .here .there
DELDUPS 43 57 .here .there Show
DELDUPS .to .from 43 57
DELDUPS .to .from 43 57 show
SW.TXT
Switch from VIEW to EDIT and visa versa. For use with sequential files it requires XVIEW/XEDIT or a similar EXEC/CLIST.
LMPREXX.TXT
This edit macro helps manage CA LMP keys.
ZBROWSE.TXT BROWSE the dataset on the line that the cursor is at. This MACRO can be implemented as a true line command with the help of ISPF developer Doug Nadel's LMAC program, and this LINEMAC edit macro. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
ZEDIT.TXT EDIT the dataset on the line that the cursor is at. This MACRO can be implemented as a true line command with the help of ISPF developer Doug Nadel's LMAC program, and this LINEMAC edit macro. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
ZVIEW.TXT VIEW the dataset on the line that the cursor is at (ISPF V4). This MACRO can be implemented as a true line command with the help of ISPF developer Doug Nadel's LMAC program, and this LINEMAC edit macro. For z/OS 1.8 and above, LMAC should be downloaded from IBM's ISPF web site.
For z/OS 1.13 and above, LMAC is not needed and you can use the LINETBL EDIT line command table to support EDIT line command macros nativly without LMAC.
EDMACALL.TXT This is a REXX exec that can be used to run an edit macro against all members of a PDS.
CUT & PASTE
ALL FILES BELOW:
CUTPASTE.ZIP
CLISTS:
CUT.TXT
PASTE.TXT
PANELS:
CUTDEF.TXT
CUTDEF@.TXT
CUTHELP@.TXT
CUTHELP1.TXT
CUTHELP2.TXT
CUTHELP3.TXT
CUTHELP4.TXT
CUTHELP5.TXT
CUTPROM.TXT
CUTPROM@.TXT
PASTEDEF.TXT
PASTEDF@.TXT
PASTEPR@.TXT
PASTEPRM.TXT
CUT data, and then PASTE it into a different member. The ISPF panels must be put into a library in the ISPPLIB concatenation.

These CLISTs and panels were originally taken from file 182 of the CBT tape which is available through NaSPA, or can be downloaded from the CBT Tape Homepage.

Examples:
CUT (will CUT whole member or lines marked with a "C"/"CC" or "M"/"MM" line commands)
CUT R (will replace the current CUT data)
CUT H (will display help panels)
CUT D (set up CUT defaults)
PASTE (will PASTE last cut data into an empty member or before a "B" or after an "A" line command)
PASTE K (will PASTE the last CUT data and keep it to use for another PASTE)
PASTE H (will display help panles)
PASTE D (set up PASTE defaults)


TSO REXX EXECs and CLISTs

Return to top | Index | Next Section | Previous Section

All of the REXX EXECs and CLISTS listed after ISPCMDSA.TXT are best used when set up as ISPF Commands. The ISPCMDSA CLIST is an example of how to add these commands on a temporary basis without actually modifying the ISPF Command Table (ISPCMDS).

File Name File Description and Usage Examples

IPLINFO.TXT
Displays IPL and other system information on your terminal. Some of the things displayed are the IPL address and volser, the IPL date and time, the IPL LOADPARM, IODF information, the master catalog name, the real and expanded storage sizes, the maximum private area size below the 16Meg line, storage sizes for CSA/ECSA, SQA/ESQA and V=R, CPU information, values from LOADxx and IEASYSxx, a virtual storage map, static system symbol values, page data set usage, SMF data set usage, subsystem information, ASID (ASVT) usage, the LPA library list, the LNKLST library list, the APF library list and SVC information. IPLINFO can also be executed as an ISPF edit macro or from the Unix System Services environment - including the WEB server.
Examples:
TSO %IPLINFO       (Display all information)
TSO %IPLINFO VMAP  (Display a Virtual Storage Map)
TSO %IPLINFO SYM   (Display Static System Symbols)
TSO %IPLINFO SUB   (Display Subsystem Information)
TSO %IPLINFO APF   (Display APF Library List)

Here is sample IPLINFO output.

IPLINFO can also be called as a REXX function to return up to 20 variables used in the exec.
Examples:
sysname = IPLINFO(VAR,GRSNAME)
pvtsize = IPLINFO(VAR,GDAPVTSZ)
ipl_sum = IPLINFO(VAR,IPLDATE,IPLTIME,IPLADDR,IPLVOL,IPLPARM)
IPLHIST.TXT This exec executes IPLINFO as a REXX function and writes a one line summary of the IPL information to a history data set. It is meant to be executed as an STC at IPL time from COMMNDxx. See the source code for sample execution JCL. Also see the "LASTIPL" exec.
LASTIPL.TXT This exec displays the last (latest) IPL information for all LPARs using the IPL history data set that is updated from the IPLHIST exec. Also see "IPLHIST".
LPROG.TXT Displays LPA list, LNKLST, and APF list libraries.
Examples:
TSO %LPROG       (display LPA, LNK, & APF Lists)
TSO %LPROG LPA   (display LPA list)
TSO %LPROG LNK   (display LNKLST)
TSO %LPROG LINK  (display LNKLST)
TSO %LPROG APF   (display APF list)
CATSRCH.TXT REXX exec that uses the Catalog Search Interface (CSI) to quickly search for catalog entries. A generic HLQ can also be used (some shops don't allow this with ISPF 3.4). I've also included an optional ISPF panel, CATSRCHP.TXT, and an invocation exec CAT.TXT, which displays the optional panel.
KEYSWAP.TXT Swaps PFKEYS 1 thru 12 with PFKEYS 13 thru 24. Usefull when you keep having to switch terminal types (happens often to consultants!)
APFVER.TXT APF LIST verification utility. Checks for existence of libraries in the in-storage APF List. This will help you clean up all those obsolete APF entires!
Example:
TSO %APFVER
LNKVER.TXT LINK LIST verification utility. Checks for invalid syntax (missing / extra commas), for data sets not cataloged in the master catalog, invalid link list data sets (not a PDS or RECFM=U) and the concatenation algorithm:
    (32) + (16n) + (k-1)
    n = the number of DASD extents (PDSE counts as 1)
    k = the number of data set in the link list
The result of the algorithm cannot exceed 2040. If running DFSMS/MVS 1.3 or later, then the only restriction is that the total number of extents must not exceed 255.
Examples:
TSO %LNKVER
TSO %LNKVER LNKLST00
TSO %LNKVER IEASYS01 DETAIL
INDIRECR.TXT This exec will take a list of data sets and create IDCAMS control cards to indirectly catalog them.
Examples:
TSO %INDIRECR
TSO %INIDRECR MASTER.CAT
TSO %INIDRECR MASTER.CAT &SYSR2
REXXMEM.TXT This exec can be used to display memory in "dump" format similar to IPCS.
Examples:
TSO %REXXMEM                (display syntax, notes & examples)
TSO %REXXMEM 0              (start at x'00000000' for x'100')
TSO %REXXMEM 10 100         (start at x'00000010' for x'100')
TSO %REXXMEM x'10' x'100'   (start at x'00000010' for x'100')
TSO %REXXMEM FD0740         (start at x'00FD0740' for x'100')
TSO %REXXMEM FD0746 64      (start at x'00FD0746' for x'64')
TSO %REXXMEM 4C%            (24-bit ptr to stor at x'4C')
TSO %REXXMEM 10.%%          (24-bit ptr x'10' + 2nd 24-bit ptr)
TSO %REXXMEM 10?            (31-bit ptr to stor at x'10' - CVT)
TSO %REXXMEM 10?+8C? 200    (point to ECVT stor for x'200')
TSO %REXXMEM 10?+22C? 1E00  (point to ASVT stor for x'1E00')
TSO %REXXMEM 10?+8C?+188? 1000   (point to IPA for x'1000')
TSO %REXXMEM 1FFFFF00000         (64-bit address display)
TSO %REXXMEM 1FF_FFF00000 200    (64-bit display for x'200')
REXXSTOR.TXT This exec will show the virtual storage usage of the task that invokes the REXX exec. This could be an interactive TSO user, a batch TSO step, or even a Unix System Services user / Web server. For z/OS 1.2 and above running in z/Architecture mode it also displays the MEMLIMIT. I've used this exec to test the affects of the IEFUSI SMF exit on region size and MEMLIMIT. I've included sample JCL to execute REXSTOR in batch - REXXSTOJ.TXT.

There is a modified version of this exec written by Janek Jakubek called MXIVSTOR that uses a freeware tool called MXI to display the virtual storage usage of another address space. MXIVSTOR can be found on CBT file 394 available at the CBT Tape Homepage. MXI is available from Rocket Software.

RXSTOR64.TXT
This exec will show the 64-bit MEMLIMIT and 64-bit storage usage for all ASIDs running in the system. In addition is will show system wide summaries for 64-bit shared virtual (HVSHARE), 64-bit large memory objects (large / 1M page support) and 64-bit common storage (HVCOMMON) at the appropriate software levels.

Here is an example of RXSTOR64 output.

CMD34.TXT
This exec can be used to execute commands against an ISPF 3.4 type DSLIST. If slashes are found as part of the command the data set name will be substituted in place of the slashes similar to what ISPF 3.4 does.
Examples:
TSO %CMD34 SYS2.OLD.PRODUCT.HLQ HMIG
TSO %CMD34 SOME.HLQ* LISTC ENT(/) VOL
TSO %CMD34 HLQ.OLD.JUNK DEL /
HLISTB.TXT Browse the output of a HLIST DA BCDS (backup) command. This works well when typed next to a data set on an ISPF 3.4 DSLIST.
Examples:
TSO %HLISTB USERID.JCL.CNTL
HLISTBL.TXT Browse the output of a HLIST DA LEVEL BCDS (backup) command.
Examples:
TSO %HLISTBL USERID
HLISTM.TXT Browse the output of a HLIST DA MCDS (migrate) command. This works well when typed next to a data set on an ISPF 3.4 DSLIST.
Examples:
TSO %HLISTM USERID.JCL.CNTL.OLD
HLISTML.TXT Browse the output of a HLIST DA LEVEL MCDS (migrate) command.
Examples:
TSO %HLISTML USERID
EDMACALL.TXT This is a REXX exec that can be used to run an edit macro against all members of a PDS.
CALC.TXT REXX Calculator. Because CALC is an ISPF TSO command supplied by IBM, this REXX exec must be renamed or invoked using a percent sign as follows:
"TSO   %CALC" .

DSLISTSV.TXT
Quick ISPF save of data set names similar to ISPF 3.4, however The output has only one line per data set name that includes the volser. This is much quicker than using ISPF option 3.4, because it does not do an obtain for each data set in the list because of STATS(NO). The dsn created will be USERID.SAVE.DATASETS br> Examples:
TSO %DSLISTSV (will list your userid's data sets)
TSO %DSLISTSV L(SYS1.L*)

MEMLSTSV.TXT
Quick ISPF save of member stats. It is the same as using the "SAVE" command from a data set member list and writes the output to userid.STATS.MEMBERS by default. Examples:
TSO %MEMLSTSV userid.LIB.CNTL
TSO %MEMLSTSV SYS2.PROCLIB
ISPCMDSA.TXT Temporarily adds commands to the ISPF Command Table (ISPCMDS).
XEDIT.TXT Recursively EDIT a data set from the TSO command line.
Examples:
XE 'MY.PDS(ABC*)'
XE PDS.NOTCAT USER01
XBROWSE.TXT Recursively BROWSE a data set from the TSO command line.
Examples:
XB 'MY.PDS(ABC*)'
XB PDS.NOTCAT USER01
XVIEW.TXT Recursively VIEW a data set from the TSO command line (ISPF V4).
Examples:
XV 'MY.PDS(IE*)'
XV PDS.NOTCAT USER01
XMEMLIST.TXT Recursively MEMLIST a data set from the TSO command line.
Examples:
XM 'MY.PDS(DB*)'
XM 'PDS.NOTCAT' USER01
XDSLIST.TXT Recursively DSLIST (ISPF 3.4) a data set level from the TSO command line.
Examples:
XD     (USERID.* used by default)
XD SYS2.*.PROCLIB
XD SYS2.NOTCAT USER01
XLISTC.TXT Recursively IDCAMS LISTCAT ALL a data set from the TSO command line. The output goes into a browse data set that can be scrolled. Works great when typed next to a DSN on ISPF option 3.4.
Examples:
XL 'MY.VSAM.FILE'
XL 'SMPE.GLOBAL.CSI'
TSOB.TXT BROWSE the output from a TSO command.
Examples:
TSOB LISTA STA
TSOB PROFILE
TSOE.TXT EDIT the output from a TSO command.
Examples:
TSOE LISTA STA
TSOE PROFILE
TSOV.TXT VIEW the output from a TSO command.
Examples:
TSOV LISTA STA
TSOV PROFILE
TSOR.TXT REVIEW the output from a TSO command. TSOR requires the REVIEW command from CBT file 134 or 135 and can be used under native TSO without ISPF.
Examples:
TSOR LISTA STA
TSOR PROFILE
AMBCLIST.TXT
AMBPANEL.TXT
Interactive AMBLIST using panel input. The AMBPANEL ISPF panel must be put into a library in the ISPPLIB concatenation.
BLKCLIST.TXT
BLKPANEL.TXT
Interactive BLKDISK (BLK3380) using panel input. The BLKPANEL ISPF panel must be put into a library in the ISPPLIB concatenation. The BLKDISK command can be found on file 296 of the CBT tape which is available through NaSPA, or can be downloaded from the CBT Tape Homepage.

FINDMOD.TXT Quickly find the location of a module (or modules). The specified module name may be fully qualified or any valid ISPF member pattern. By default, the LPA and LNKLST concatenation are searched. Alternatively, a "search list member" may be specified. In order to use the search list, the libraries to search must be manually added to a PDS member (or members). This gives FINDMOD the advantage of being able to search any library. I include PROC libs and CLIST libs in one of my alternate search lists. I've included a sample search list - FINDASYS.TXT.
Examples:
FINDMOD (will prompt for modname)
FINDMOD IEFBR14 (search LPA/LNKLST)
FINDMOD A%R* (use pattern to search)
FINDMOD DFHCSA FINDCICS (use alt list)
FINDMOD MXG* FINDPROC BOTH (altlist+LPA/LNK)
FVE.TXT Fast View/Edit of data sets.
This REXX exec is intended to work with ISPF command table entries to create "shortcuts" for VIEWing or EDITing data sets or data set concatenations. The source code includes the instructions for updating the ISPF command table entries and there are also examples of adding the entries dynamically in the ISPCMDSA CLIST. It can also serve a dual purpose as a "member search" facility in library concatenations.

The exec must be customized for your use, but I've included the basic framework in the supplied example. The possibilities for creating shortcuts are endless. See the source code for full details and usage.


Batch Programs and Routines

Return to top | Index | Next Section | Previous Section

File Name File Description
RACFUDEL.TXT REXX program to Remove obsolete users from the RACF Database, remove their RACF dataset profiles, and delete their datasets and aliases from catalogs.
TAPESTAK.TXT REXX Tape stacking program (works with CA-1).
DELDUPS2.TXT REXX Duplicate Record Deletion Program.
This program will sort a file and delete records that have duplicate characters between user specified columns. The main difference between this program and the DELDUPS Edit Macro is that this program writes the duplicate records to a seperate file, and can run as a batch job for processing large files.
RDATE.TXT REXX date conversion routine.
Convert MM DD YYYY, YYYY DDD, or NNNNN to standard date output that inclues the day of week and the number of days (NNNNN) from January 1, 1900. This is not the same as the Century date! Valid input dates range from 01/01/1900 through 12/31/2172. A parm of "TODAY" can also be passed to the date conversion routine. The output format is always as follows:
MM/DD/YYYY.JJJ NNNNN WEEKDAY

This program is called as an internal subroutine in several other programs and EXECs on this page.
RDATEF.TXT REXX function version of RDATE.
ACBCHECK.TXT This program will check if a VTAM ACB is available and if it is not the program will wait 15 seconds and try again. It will keep trying for up to 15 minutes. It can be put into STCs as the first step so the STC can be started at IPL time via COMMNDxx before VTAM is active. The program must be passed a parm of the ACB to check.
ASIDLIST.TXT ASIDLRX.TXT Address Space ID List Program.
These programs will list the names of all ASIDs in the system, their ASCB address, their ASID number in hex and decimal, and provide the following totals:

TOTAL ADDRESS SPACES IN THE SYSTEM
TOTAL ACTIVE ADDRESS SPACES IN THE SYSTEM
TOTAL AVAILABLE ADDRESS SPACES IN THE SYSTEM
TOTAL NON-REUSABLE ADDRESS SPACES IN THE SYSTEM

The programs also display MAXUSER and usage of RSVSTRT and RSVNONR from IEASYSxx.
JOBCHECK.TXT
JOBCHKRX.TXT
These programs check if a job or task is running on the system and set a return code based on the results. The job/task to check is passed to the program VIA parm.
LOGRREXX.TXT This program takes the output from LIST LOGSTREAM (PGM=IXCMIAPU) and creates logstream DELETE/DEFINE cards that can be used as input to IXCMIAPU. This was developed for use at a disaster recovery site.
REXXSCAN.TXT This program scans an input file for parm string(s). See the program source for more detail and JCL.
RXSMF30.TXT This program reads SMF 30 records to produce a job accounting report. Sample execution JCL is contained within the source code.

SDSF@DR.TXT
This program takes the output in the spool and copies it to individual data sets using the SDSF REXX environment. Its original intent was to be used at a DR site and then "reverse mirror" the output DASD volume(s) back to the primary site. See the program source for details and sample execution JCL.

SDSFPRT.TXT
This program uses the SDSF REXX environment to take all or selected output from the spool and copy it to a PDS via SDSF "PRINT" commands. See the program source for details and execution syntax. It can also be run in batch if desired if there is a large amount of output being captured and you don't want to tie up your TSO session for a long time.
VTOCTOT.TXT This program processes the output of the CBT VTOC command and produces totals by high level qualifier. The VTOC command can be found on file 112 of the CBT tape which is available through NaSPA, or can be downloaded from the CBT Tape Homepage.


XEF - eXtended Editor Facility (V6.4.3)

Return to top | Index | Next Section | Previous Section

XEF is an ISPF dialog application that is used for BROWSING, VIEWING, EDITING, or COMPRESSING a dataset. It allows you to choose a dataset from a menu instead of typing in the entire dataset name. XEF can also be used to obtain DATASET INFORMATION or display a DATASET MEMBER LIST of a partitioned dataset. From the member list you can select members to be BROWSEd, VIEWed, EDITed, DELETEd, RENAMEd, or PRINTed. Using the DSLIST option, a dataset pattern can be entered to display a Data Set List that is like ISPF option 3.4. If the CBT PDS command is installed, XEF can also interface with it.

Here is a sample XEF menu screen shot from a 3270-2 terminal. If using a terminal type with more rows (model 3, model 4, model 5) you obviously can see more data sets without having to scroll through the list. I use a custom size terminal (62 x 142) and I can see all 99 data sets on my menu at once.

A summary of XEF changes can be found by clicking on the XEFCLIST file.

** Note: If you want to run XEF 6.4.3 on systems below OS/390 2.10 use the XEFMENUB panel instead of XEFMENU. You should rename the panel to XEFMENU during installation. XEF 6.4.3 will function as it would on systems running OS/390 2.10 or higher, however, no verification is done for valid data set names or patterns when adding the names to the XEF main menu. This should work on any OS/390 system below OS/390 2.10 or MVS/ESA V5 systems (ISPF 4.2 or above is required).

All XEF files listed below are also contained in XEF.ZIP.   XEF V6.4.3 requires OS/390 2.10 (ISPF V5) or above. For older systems you can still download XEF V6.2 - XEFV62.ZIP   (both are TSO XMIT format).

CLISTs (add to library in SYSPROC concatenation)

File Name File Description
XEFCLIST.TXT eXtended Editor Facility CLIST (note that only XEFCLIST changed between V6.4 and V6.41
XEF.TXT REXX exec to invoke XEF (optional if using ISPF command tables or an option menu to invoke XEF)
XEFLIBD.TXT REXX exec to invoke XEF (same function as XEF exec but uses LIBDEFs)

Messages (add to library in ISPMLIB concatenation)

File Name File Description
XEF00.TXT eXtended Editor Facility Messages

Panels (add to library in ISPPLIB concatenation)

File Name File Description
XEFMENU.TXT eXtended Editor Facility Main Menu
** XEFMENUB.TXT eXtended Editor Facility Main Menu (optional)
XEFINF.TXT eXtended Editor Facility Dataset Information Panel (SEQ)
XEFINFD.TXT eXtended Editor Facility Dataset Information Panel (PDS)
XEFINFE.TXT eXtended Editor Facility Dataset Information Panel (PDSE)
XEFINFP.TXT eXtended Editor Facility Dataset Information Panel (PDS SMS)
XEFINFS.TXT eXtended Editor Facility Dataset Information Panel (SEQ SMS)
XEFHELP.TXT eXtended Editor Facility Help Panel #1
XEFHELP2.TXT eXtended Editor Facility Help Panel #2
XEFHELP3.TXT eXtended Editor Facility Help Panel #3
XEFHELP4.TXT eXtended Editor Facility Help Panel #4

XEF is invoked by selecting the main menu panel - XEFMENU. It can be added to an existing ISPF option panel or is best used when set up as a command in the ISPF Command Table (ISPCMDS). The ISPCMDSA CLIST on this page has an example of how to add the XEF command on a temporary basis without actually modifying the ISPF Command Table.



Sample JOBs and Documentation

Return to top | Index | Next Section | Previous Section

This section contains various sample JOBs and documentation that people have asked me to make available, or that I feel would be helpful.

File Name File Description

$RXINTRO.ZIP
"Introduction to TSO/E REXX" document from a class I gave at one of my clients. The file was created using Microsoft Word (zipped).
$ROOTSHR.TXT Doc for setting up a shared UNIX root file
$SNGLTSO.TXT Doc for using the same TSO USERID in a shared environment. I have provided the following samples to implement this:
ISPF defaults source update - ISPDFLTS.TXT
ISPXDT and ISPF exit 16 source - ISPEX16.TXT
JES2 source update (OS/390 R10 & z/OS R1) - UMJES01.TXT
JES2 source update (z/OS R2 and above) - UMJES012.TXT
JES2 source update (prior to OS/390 R10) - UMJES01O.TXT
JES3 source update - UMJES06.TXT
$WLMMONO.TXT Doc for setting up WLM in a MONOPLEX
CLONERES.TXT Sample jobstream to clone a two volume sysres set and SMP/E target zones.
CLONERSO.TXT Old version of CLONERES.
$ONEPAK.TXT Doc for using DFSMSdss instead of FDRCOPY to create ONEPAK and TWOPAK systems.
ONEPAKZ3.TXT Sample jobstream to build a one pack "rescue" system from a z/OS 1.3 driving system.
ONEPAKZ6.TXT Sample jobstream to build a one pack "rescue" system from a z/OS 1.6 driving system.
ONEPAKZ8.TXT Sample jobstream to build a one pack "rescue" system from a z/OS 1.7 - z/OS 1.11 driving system.
ONEPAKZD.TXT Sample jobstream to build a one pack "rescue" system from a z/OS 1.12 - z/OS 1.13 driving system.
ONEPAK21.TXT Sample jobstream to build a one pack "rescue" system from a z/OS 2.1 driving system.

ONEPAK22.TXT
Sample jobstream to build a one pack "rescue" system from a z/OS 2.2 driving system. This should work for a z/OS 2.3 and z/OS 2.4 system also with no changes.
ONEPAK43.TXT Sample jobstream to build a one pack "rescue" system (created for ESA 4.3, but is still a good sample of the required steps).
TWOPAKZ3.TXT Sample jobstream to build a two pack "rescue" system from a z/OS 1.3 driving system. Same as ONEPAKZ3 but also includes Unix System Services, TCP/IP, and ISHELL.
TWOPAKZ6.TXT Sample jobstream to build a two pack "rescue" system from a z/OS 1.6 driving system. Same as ONEPAKZ6 but also includes Unix System Services, TCP/IP, and ISHELL.
TWOPAKZ8.TXT Sample jobstream to build a two pack "rescue" system from a z/OS 1.7 - z/OS 1.11 driving system. Same as ONEPAKZ8 but also includes Unix System Services, Unicode, TCP/IP and ISHELL.
TWOPAKZD.TXT Sample jobstream to build a two pack "rescue" system from a z/OS 1.12 - z/OS 1.13 driving system. Same as ONEPAKZD but also includes Unix System Services, Unicode, TCP/IP and ISHELL.
TWOPAK21.TXT Sample jobstream to build a two pack "rescue" system from a z/OS 2.1 driving system. Same as ONEPAK21 but also includes Unix System Services, Unicode, TCP/IP and ISHELL.

TWOPAK22.TXT
Sample jobstream to build a two pack "rescue" system from a z/OS 2.2 driving system. Same as ONEPAK22 but also includes Unix System Services, Unicode, TCP/IP and ISHELL.

TWOPAK23.TXT
Sample jobstream to build a two pack "rescue" system from a z/OS 2.3 driving system.

TWOPAK24.TXT
Sample jobstream to build a two pack "rescue" system from a z/OS 2.4 driving system.
SMPBLD1.TXT Job to build an SMP/E environment from scratch. All VSAM SMP/E zones are created within the same physical VSAM data set.
SMPBLD2.TXT Job to build an SMP/E environment from scratch. The VSAM SMP/E zones are created as separate physical VSAM data sets.
SMPBLD3.TXT Job to build a new SMP/E target zone, dlib zone, and other required SMP/E data sets into an existing global zone.
SMPDELF.TXT Sample job to delete an FMID from a set of SMP/E zones and libraries.


Notes on ASCII translation

Return to top | Index | Next Section | Previous Section

ASCII translation is not an issue if the TSO XMIT format download is used. A TSO XMIT file format that includes all files is available. I STRONGLY suggest you use the TSO XMIT file instead of individual downloads or the ASCII zip file. If you do not use a U.S. code page, this is even more important!

There are two characters in most of the REXX and CLIST code that don't translate to ASCII. The logical OR (solid bar like |) and the logical NOT (¬ usually upper case 6 on a real 327X terminal). You might have to manually fix these in the code after uploading the files to the mainframe. If they end up as non displayable characters, the easiest way to find them is by using the following ISPF command:
The logical NOTs are usually next to an equal sign (¬=). The logical ORs are usually in an IF statement, or two of them are used together to indicate concatenation (||). Use the ISPF CHANGE ALL command to fix them as in the following examples:
Note that the X'52' and X'6A' in the above examples will vary depending on the translate table that is used for uploading the files to the mainframe. Also, these files were downloaded at different times using different transfer software, so don't assume that the changes for one file will be the same for another one. Don't forget to use the ASCII and CRLF options of your file transfer product. Please do not use CUT and PASTE to copy the files from your PC to the mainframe!


Disclaimer

Return to top | Index | Next Section | Previous Section

The downloadable files on this site are FREEWARE . Use at your own risk. Neither Mark Zelden, nor other contributing organizations or individuals accept any liability of any kind howsoever arising out of the use of these files. You are free to use and modify these files as you desire, however, the author does ask that you leave his name in the files and give credit to him as the original programmer.

Notes on ASCII translation

Thanks

Return to top | Index | Next Section | Previous Section

Thanks to the following people for adding links to this page:

Bruce R. Gillispie - Mainframe, Midrange, & Micro Computers
Bal Oberoi - Mainframe Programming - Useful Links
David Alcock - Planet MVS
Sam Knutson - Knutson's Home Page and CBT Tape Home Page
Doug Nadel - A Few OS/390 Tools and Toys. Although this site no longer exists you can still find references and code at the Internet Archive Internet Archive
The Rexx Language Association - The Rexx Language Association Links
Frank Clarke - Frank Clarke's Home Page
Lionel B. Dyck - OS/390 and z/OS Freeware
Nico Rizzuto - Rizzuto IT
IBM Mainframes - IBM Mainframe Forum, Manuals, Programs and download
Michel Castelei - Michel Castelein's Home Page (education consultant/instructor)
Eric Loriaux - Eric Loriaux' System z home page
Robert Prins - Prino's z/OS Tools and utilities



Thanks for visiting!
The Zelden's Homepage Mini-Banner



Before you leave, please sign my new Guestbook (even if you signed an old one)!!

View/Sign Mark's New Guestbook

Old Guestbooks
View Lycos Guestbook Guests (Retired in April 2012)
View Original Guestbook Guests (1997-2000)



Return to top | Index | The Zelden's Homepage



This page has been accessed 781553 times since January 1, 1997.