| CBT TAPE - Index of file 183 |
----------------- TSO and ISPF commands -------------------
ADDTRK The ADDTRK EDIT macro (written in REXX) that
invokes PDS86 to add a new extent to the PDS
BR TSO command - Browse most data sets under
ISPF/PDF, using BRIF. Supports VSAM, BDAM,
multi-volume, RECFM=VBS, BLKSIZE=0, etc.
To use it, just enter BR instead of B on the
Data Set List utility screen. BR has its own
point-and-shoot capability and can grab a dsname
on the screen, wherever the cursor is located.
CLS A 5-line "clear screen" command for TSO
COMPRCMD TSO Command Processor written in Assembler
Compress a PDS with DISP=SHR using standard ISPF
and LINK-EDIT protection. Uses the TSO/E service
routine to invoke IEBCOPY and, therefore, does not
require any authorization of its own. Accepts
generic dsnames (such as GSFSOFT.*) and offers a
few other options.
COMPRESS The COMPRESS EDIT macro (written in REXX) that
allows you to compress the PDS you're editing
just by typing "COMPRESS" on the command line.
CONCAT A REXX exec to add a data set to a concatenation.
CUT REXX EDIT Macro - CUT & PASTE package
PASTE REXX EDIT Macro - CUT & PASTE package
CUTPGM Assembler program used in CUT & PASTE.
CUTHLP1 Help screen for CUT
CUTHLP2 Help screen for PASTE
My own version of a classic.
Requires MVS/ESA 4.2.2 or above.
Uses data spaces, name/token pairs and compression.
Supports multiple clip-boards and the APPEND option.
DSLIST REXX exec - Point-and-shoot Dataset List Utility
This REXX program allows you to invoke the data
set list function of ISPF/PDF (option 3.4) with
the DSNAME LEVEL field preset to the data set name
under which the cursor is currently positionned.
DSLIST may be invoked from any ISPF screen simply
on the command line, then by moving the cursor
under a data set name on your screen and pressing
"enter". You may also define it as a command in
the ISPF command table, or set it up as a PFK.
DSNLIST TSO command - returns in &var the dsnames
allocated to &ddn
ALLOC DD(SYSPROC) SHR -
DSNLIST DDNAME(SYSPROC) SETVAR(VAR2)
is equivalent to:
SET VAR2 = 'IPO1.CMDPROC' 'GSFSOFT.CLIST'
EXECPGM TSO command - invoke a utility program or compiler
with an alternate ddname list, as follows:
EXECPGM IEV90 +
EXECUTE REXX EXEC - Run an in-stream EXEC or CLIST in a TSO
batch job, or execute EDIT data as a CLIST or EXEC.
FASTPATH This assembler program allows the use of fast-path
commands without requiring customization of the
Fastpath provides two types of functions:
a. add 20 fast-path commands to the user's
in-storage copy of ISPCMDS
b. pre-load specific modules to enhance
performance and allow access from a private
c. issue STIMER to prevent S522 time-out abends
a. invoke EDIT, BROWSE, VIEW, WorkPlace and SDSF
with the appropriate NEWAPPL parameter
b. store and retrieve parameters associated
with user-specified tags
c. retrieve a dsname under which the cursor
is positionned and invoke EDIT, BROWSE,
VIEW or the Workplace
d. Edit your ISPCTLn or SPFTEMPn.CNTL data set
e. View a member in SYS1.MACLIB or SYS1.MODGEN
f. TSO Full-screen
g. misc others
FASTPDOC Documentation for the FASTPATH utility
FILE183 CLIST to provide an easy access to REXX execs and
programs distributed in this library
FREEDIR The FREEDIR EDIT macro (written in REXX) invokes
PDS86 to add or delete directory blocks to change
the size of the directory of the PDS being edited.
FSHELP REXX EXEC - Full-screen TSO HELP which uses STEMVIEW
to display the output produced by the TSO HELP cmd.
FULLDSN REXX Function - return the real dsname of an alias
or the fully-qualified dsname from a relative
FTP REXX EDIT Macro - Transmit the data being edited
using text-mode FTP
IKJEFLN2 TSO/E Logon Exit - enable the Reconnect option
in the TN3270 environment.
INITKSDS Initialize a KSDS after it's been DEFINE'd
This program prevents OPEN from failing when
opening with MACRF=(IN,OUT) or STRNO=2 a KSDS
that has just been defined. Can be invoked as
a batch program, a TSO command, or a sub-routine.
IPADDR REXX exec - retrieve the IP address associated with
a VTAM terminal using NETSTAT TELNET.
IRXEHCIR Interface to IKJEHCIR for REXX and COBOL
This small assembler program allows a REXX EXEC
or a COBOL program to invoke IKJEHCIR, the TSO/E
Catalog Information Routine.
ISPTASK Program - prevent S522 abends while in ISPF
Just link it into your ISPLLIB or STEPLIB, then
re-enter ISPF, and you won't time out any more.
Also preloads some ISRxxxx modules for
performance, even if they're in PLPA (YES,
in ESA 4.3, you can pre-load PLPA modules!!)
ISREDIT2 Program - speed up EDIT macros
Executed once at the beginning of an EDIT macro.
LC REXX EXEC - Full-screen IDCAMS LISTCAT
This TSO/ISPF REXX EXEC invokes IDCAMS then
invokes STEMVIEW to display the output.
To use it, just enter LC as a line command on the
Data Set List (3.4) or the WorkPlace (11) Utility
LCAT TSO command - Full-screen IDCAMS LISTCAT
This TSO/ISPF command invokes IDCAMS then
uses BRIF to display the output.
To use it, just enter LCAT as a line command
on the Data Set List Utility screen.
LCAT92 TSO command - Full-screen IDCAMS LISTCAT
1992 version of LCAT for OS/390 R2 and older
LLIBDEF1 Prevent some S806-4 abends when using LIBDEF with
This program allows you to pre-load a REUS or
RENT module from a LOAD library defined via
LIBDEF. This can prevent S806-4 abends that
occur when a program that is not LIBDEF-aware
tries to access another program via LOAD or LINK.
LISTDSI REXX EXEC - Display output of LISTDSI function
This EXEC helps the REXX programmer implement
the LISTDSI function by displaying the value of
all of the variables returned by LISTDSI for the
specified data set, as well as providing the
syntax, return codes and reason codes in the
form of comments at the end of the source.
LOCKTERM TSO command written in assembler.
Lock TSO terminal, enter LOGON password to unlock.
LPA24 REXX EXEC - Display PLPA usage below the 16MB line
LPR REXX EDIT Macro - Print the data being edited
using TCP/IP's LPR command
LVL REXX EDIT macro - Compress Level Numbers for
FB-80 PDS members with STATS ON and NUMBER STD.
LVL reuses "gas levels", i.e. levels which
are not used in any record in the member,
and adjusts pos 79-80 of the records accordingly.
If the macro invocation includes a number,
then levels up to the specified number are
reset to zero.
NEWAPPL REXX EXEC - Start a new ISPF application using
LIBDEF and ALTLIB.
OBEYFILE EDIT Macro written in REXX - Allows the TCP/IP
administrator to use the data being edited as
input to the TCP/IP OBEYFILE command without
having to SAVE it.
RESET5 Initial EDIT macro that issues a "RESET" command
Type "IMACRO !RESET" once, and you won't be
bothered by these annoying messages anymore.
REXXTRY TSO command processor written in assembler.
REXXTRY can be used in a CLIST or in ISPF to
execute a one-line REXX exec as a sub-routine.
The REXX exec can be a single REXX instruction or
multiple instructions separated by semi-colons.
REXXTRY can also be invoked in batch mode, in which
case the REXX code is not specified as an argument
to the command, but consists on all the input lines
present after the REXXTRY command in SYSTSIN.
ROUTE REXX EDIT Macro - Print the data being edited.
ROUTEPGM Assembler program used in ROUTE to speed things up
ROUTEHLP Help screen
This edit macro writes the data you're editing to
a SYSOUT data set, with the CLASS and DEST you
specify, a title line and 60 lines per page.
Works with EDIF because what gets printed is the
data being edited, NOT the data stored on disk.
RXSMS Assembler program; can be invoked in a REXX exec
to retrieve information from the SMS sub-system
or from a volume's VTOC.
SFE REXX program to invoke the Search-For Extended
utility. Can be invoked from the Data Set List
panel or as an EDIT macro.
SHOWDASD ISPF Dialog to display on-line DASD devices.
SHOWDPNL Requires the RXSMS program.
SHOWVTOC Panel for option V
SHOWJPAQ TSO command - Display contents of Job Pack Area Queue (JPAQ)
SHOWTIOT REXX exec - Display contents of Task Input-Output Table (TIOT)
STEMEDIT REXX sub-routine written in assembler.
Browse, View or Edit stem variables using BRIF,
VIIF or EDIF. A nice addition to OUTTRAP.
View data from the stack also. ISPF V5 only.
STEMVIEW REXX sub-routine written in assembler.
Browse or View stem variables using BRIF or EDIF.
View data from the stack also. ISPF V2, V3, V4.
SWAREQ REXX exec - Convert an SVA to a 31-bit address
TALLY REXX exec for ISPF 3.4 - Display the total number of
tracks used up by the data sets on the DSLIST panel.
TLMS Display a VMF record under PDF 3.4
This program reads the VMF record for the
first volume of a tape data set, formats it
pretty much like the CATLTSO command, then
invokes BRIF to display the result. May only
be used as a line command on the Data Set
List panel (Option 3.4 of ISPF/PDF).
TMS Display a TMC record under PDF 3.4
Same as TLMS, but for CA1/TMS 5.0
VALLOC Generate ALLOCATE commands for data set list
EDIT macro written in REXX. Reads a list of data
set names starting in pos 1 of each line and
generates a set of corresponding ALLOCATE commands.
VARS TSO/ISPF command written in REXX.
Display in-storage ISPF vars.
VDL TSO/ISPF command written in REXX. VIEW Data set
List: makes the list of data set created by DSLIST
available as data in a VIEW session.
VML TSO/ISPF command - Read the directory of the
specified PDS and VIEW the Member List
VSAMVIEW TSO/ISPF command - View a VSAM data set using VIIF
VSAMVW95 1995 version of VSAMVIEW for ISPF V2, V3 and V4.
VSAVE ISPF EDIT macro - Save a member in VIEW mode
WHEREIS REXX EXEC - Look for all occurences of a member in
the libraries currently allocated to your TSO
session. If multiple versions of the member are
present in a concatenation, they are all shown,
along with their ISPF stats, when present.
WHOAMI REXX EXEC - Displays the user-ID and system-ID
in large letters, plus a few other things
WP REXX exec - Invoke the Work-place from DSLIST.
XDELETE REXX exec - Delete data sets "en masse" using a
generic filter such as "ABC*.D%.**.E%F*GH.*.TEMP".
XRENAME REXX exec - Rename data sets "en masse"
XDEL REXX EDIT macro - Delete current member
XREN REXX EDIT macro - Rename current member
------------------ Batch Programs --------------------------
BLKSIZE2 Scan a PDS and print the size of each block and
the track balance
This is a batch program, for people interested
in what a PDS looks like, from the inside.
BYPASSNQ Assembler program. Scratch or Rename a Data Set
without SYSDSN ENQ
BYPASSNQ is a driver that allows you to run any
utility program (such as IEHPROGM or IDCAMS) and
bypass dsname ENQ that is normally performed by
the DYNALLOC, SCRATCH and RENAME SVCs.
This technique allows data sets to be deleted or
renamed using standard MVS services and is fully
compatible with indexed VTOCs and SMS.
CANMSGCL Purge current job's held output after a few hours.
Useful for those jobs that work OK 99% of the time
(must be authorized)
//MYJOB JOB ACCT#,CLASS=A,MSGCLASS=X
//COPY1 EXEC PGM=IEBCOPY
//... DD ...
//CONDPURG EXEC PGM=CANMSGCL,PARM=2,
The number in the parm is a number of hours.
If the 'COPY1' step ends at 10:28 with a
return code equal to zero, the 'CONDPURG' step
executes and issues the following command:
COB2JOB Retrieve Job-related information in COBOL
COB2SYS Retrieve System-related information in COBOL
COB2TSO Issue TSO commands in COBOL
CLEANUP Assembler program. Automatically searches the MVS
catalog for non-GDG data sets that will be created
in subsequent steps of your job and deletes them.
HSM-migrated data sets are deleted with HDELETE.
//MYJOB JOB acct#
//CLEANUP EXEC PGM=CLEANUP
//STEP1 EXEC PGM=MYPROG1
//OUTDD DD DSN=MY.FILE1,DISP=(,CATLG)
//STEP2 EXEC PGM=MYPROG2
//OUTDD DD DSN=MY.FILE2,DISP=(,CATLG)
Can also be executed as the LAST step of a job to
delete non-GDG data sets that were created during
CMDJ Send a JES2 command with the current job's number
(must be authorized)
//PURGEJOB EXEC PGM=CMDJES2,PARM=P
If the current job's number is JOB01234,
then the following command is issued:
DCODADDR Assembler module to convert an address passed by
its invoker into a character string that indicates
what module, CSECT within the module, and offset
within the CSECT the address points to.
DCODADDR uses the Binder API and can be invoked
by recovery routines or any other modules.
DONTFAIL Prevent job failure caused by uncataloged data
sets (ESA only, must be authorized)
GSFLKED Front-end to the linkage editor to recover
from SD37 on SYSLMOD (must be authorized)
This program may be invoked instead of the DFP
linkage editor. It calls the linkage editor and,
if an SD37 abend occurs, calls IEBCOPY to compress
the SYSLMOD PDS, then calls the linkage editor
Another feature of this program is to
conditionally append a PDS member to SYSLIN, if
that member exists.
ISGECMON Assemble and Link Job for SYS1.SAMPLIB(ISGECMON)
The ISGECMON program runs as a never ending task
that checks dataset contention at periodic
intervals and sends messages to TSO users asking
them to free datasets that are causing contention.
JOBRLSE Release a job by number (must be authorized)
This program issues a $A command to release a job
previously submitted to JES2 with "TYPRUN=HOLD".
To prevent "multiple jobs found" conditions,
this program uses the sub-system interface
to inquire about the status of homonym jobs.
Then, it issues a $A command with the job
number of the first job found in the input
queue in held status (for example: $A J1234).
Sample execution JCL:
//RLSENEXT EXEC PGM=JOBRLSE,PARM=PAYROL22
LINKLLA Link-edit and refresh LLA in a single step
(MVS/ESA only, must be authorized)
Invokes the linkage-editor, then issues LLACOPY
for the member specified on the //SYSLMOD DD.
If there is no //SYSLIN DD in the step's JCL,
issues LLACOPY for the member on //SYSLMOD,
or for all of the members in the //SYSLMOD
library if no member name has been specified.
LOADMLPA Load a reentrant module into the MLPA
(must be authorized)
This program allows you to load a RENT module
from an authorized library into the MLPA.
Also supports the DELETE function to undo
LOAD. Invoker must have update authority to
This program has been designed to prevent jobs
that accept multiple inputs from failing in the
middle of the night because of a "typo" in a data
set name. When DONTFAIL detects that an input
data set is not cataloged, it converts it to a
null data set and allows the job to run with
PACKOFF Unpack a file packed by ISPF/PDF or XEDIT
This is a sample program that reads
fixed-length records and unpacks them.
PLI2JOB Retrieve Job-related information in PL/I
PLI2TSO Issue TSO commands in PL/I
RECALL Batch program - Issues HRECALL commands for every
migrated data sets used in subsequent steps of the
JOB in which it is executed. Pre-staging data
sets in this manner reduces HSM tape mount
SCANMODL This assembler module loads a control-block map
from SYS1.MIGLIB and returns the offset & length
of a field. It is used to write programs that
access JES2 control blocks without using HASPSRC
and consequently, are release-independent.
SVCUPDTE Install a type-3 SVC routine (must be authorized)
This program installs an SVC routine from PLPA,
MLPA, or from an authorized library.
The installation can be permanent or temporary.
If the installation is temporary, SVCUPDTE waits
until a STOP or CANCEL command is issued, then
restores the old SVC entry and terminates.
nnn is the SVC number you want to install;
you must specify a 3-digit number
mmmmmmmm is the name of a load module (or alias)
that you want to install as SVC nnn; it MUST
come from an authorized library (STEPLIB or
hhmm is the optional automatic shut-down time,
in 24-hour clock format. When the specified
time is reached, SVCUPDTE automatically stops.
userid is the optional userid that will be given
access to the new SVC. Jobs submitted by other
users will keep on using the old SVC.
SYSMOVE Unload a PDS to a sequential data set in
IEHMOVE format. Compatible with SMS.
UNITAFF Dynamically sets UNIT=AFF for input tape files
(must be authorized)
This program was originally designed to reduce
the number of tape drives used by user-submitted
SAS steps. It scans the SWA for the next step
and changes some of the SIOT's fields to force
all input tape data sets to the same drive.
It must be executed immediately before the
step to process (SAS, SORT, or any other
program that reads a variable number of tape
files, one at a time).
//UNITAFF EXEC PGM=UNITAFF
//STEPLIB DD DSN=SYS2.AUTHLIB,DISP=SHR
//STEP53 EXEC PGM=SAS
//OSIN DD DSN=USER1.X,DISP=SHR
// DD DSN=UPQE.DQE40530(-1),DISP=SHR
//OSIN2 DD DSN=UPQR.DQR02150(0),DISP=SHR
//OSIN3 DD DSN=USER1.X,DISP=SHR
// DD DSN=UPBG.DBGA0240(-1),DISP=SHR
//OSIN4 DD DSN=USER1.X,DISP=SHR
// DD DSN=USER1.YY,DISP=SHR
// DD DSN=UPQR.DQR02140(-1),DISP=SHR
The program only supports cataloged data sets;
relative generation numbers are handled
correctly via the GDGNT.
Restriction: No distinction is made between 3420,
3480 or 3490 device types; this will cause
problems if the input to a step is mixed.
------------------ Assembler Macros ------------------------
BUILDCDE Make storage allocated with GETMAIN appear as a
load-module in a dump.
BUILDCDE uses the "loader" form of IDENTIFY to
create a major CDE and corresponding XL, then
issues a LOAD SVC to create an LLE and associate
the CDE with the current TCB. Don't worry, you
don't have to understand how it works to use it.
The 20K storage area will appear in a dump
as a load-module called "DYNAM20".
EASYSORT Invoke an internal SORT with OPEN/PUT/GET logic
Allows you to do internal sorts without any
knowledge of parameter lists or exit routine
READ GET FILEIN
EASYSORT PUT,(1) pass record to SORT
REWRITE EASYSORT GET, get sorted record
ENDSORT EASYSORT CLOSE
GETDIR Read a directory sequentially with a BPAM DCB
This macro offers a simple way to read directory
entries and members with a single BPAM DCB.
GETPUT31 Issue GET, PUT or PUTX while in AMODE31
This member contains GET31, PUT31 and PUTX31,
which are modified versions of GET, PUT and
PUTX. They allow a program running with
RMODE24 and AMODE31 to issue QSAM GET, PUT and
PUTX without having to switch to AMODE24.
GET31 allows specification of an end-of-file
STRING Provides functions similar to PL/I's
PUT EDIT or COBOL's STRING.
This is the only non-IBM macro you need to
assemble the programs in this file.
This member contains the macro, a test job,
and the documentation.
---------------------- Miscellaneous -----------------------
DEFGDGSR Sub-routine - invokes SVC 26 to define a GDG base
May be invoked from a COBOL program, like this:
05 DSNAME PIC X(44) VALUE 'MY.DSNAME'.
05 GDGLIMIT PIC 999 VALUE 027.
CALL 'DEFGDGSR' USING DSNAME,
FILLDASD Asm pgm to fill free DASD space with binary zeroes
HANDBOOK Job - Creates an on-line copy of the DATA AREAS
(aka Debugging Handbook) manuals
This job assembles macros from SYS1.MACLIB and
SYS1.MODGEN and stores the assembly listings
into PDS members. It is set up for over 60
commonly used MVS control blocks (such as CVT,
TCB, JFCB, etc) and may be easily modified to
support other ones.
The assembly listing for each macro is stored
into the output PDS under the control block
name. For example, the assembly listing for
"IKJTCB" is stored into the "TCB" member.
To conserve dasd space, the LMCOPY service of
ISPF/PDF is used to pack the output of the
IEC149I MPF Exit. Display the dsname from the HDR1 label
after a 813-04 or 237-08 abend.
SYSDEBUG General Purpose ESTAE Routine. Simplifies abend
resolution by formatting and writing out important
MVS control blocks in an easy-to-read fashion.
TCTDCTR Sub-routine - Prints the EXCP count for each DD
in the job step
May be invoked at the end of a program for
debugging or tuning purposes.
TRIMMAC Job - Creates a reduced-size MACLIB that may be
used instead of the SYS1.MACLIB/SYS1.MODGEN
concatenation to improve the performance of the
The "TRIMMAC" library is built as follows:
1. selected macros are read from ddname "SYSLIB",
trimmed from PL/AS code and other comment
lines, then written to a temporary data set.
2. the SORT utility is invoked to sort the macros
in ascending sequence of their size.
3. the sorted macros are written to SYSPUNCH
as an IEBUPDTE sysin stream.
4. IEBUPDTE is executed in the last step to
load the macros into the "TRIMMAC" library,
the smallest macros being loaded first.
You may customize the member list and the input
concatenation to add other macros and/or macro
libraries, as needed.
Use the "TRIMMAC" library instead of the
MACLIB/AMODGEN concatenation to assemble a
program and compare the before/after values for
the elapsed time, excp count and I/O connect
time. Expect savings of 30 to 60 percent when
"TRIMMAC" is used.
My "TRIMMAC" PDS is currently allocated as
USERCMDS Job - Update USERCMDS in batch
This is a TMP job that uses a CLIST and ISPF
table services to append a set of in-line
commands to the original USERCMDS table.
The resulting USERCMDS table may be given any
name and go to any library you choose.
ZAPONTR0 Patch job - Bypass STEPLIB for ILBOxxx routines
This patch to ILBONTR0 eliminates
JOBLIB/STEPLIB directory searches for OS/VS
COBOL ILBOxxx modules when SYS1.VSCLLIB is in
the linklist. If you compile your COBOL
modules with 'resident' and have large JOBLIBs
or STEPLIBs, you want to try this.
The job contains 2 different versions of the
patch in AMASPZAP format. Each version
corresponds to a different PTF level, use the
one that works for you. The patch is packaged
with its own validation program.
ZAPXMIT Patch job - Remove BLKSIZE(3120) from XMIT OUTDA() cmd
This patch to the TRANSMIT command sets the BLKSIZE
of the output data set to zero when TRANSMIT/XMIT
is invoked with the OUTDA or OUTDS parameter.
This version of the ZAP works on TSO/E 2.6.