CBT Tape - File 183 Directory List

Freeware Page
                   .--------------------------------.
                   |  CBT TAPE - Index of file 183  |
                   '--------------------------------'

            http://gsf-soft.com/Freeware/FILE183-index.shtml

     ----------------- TSO and ISPF commands -------------------

     ADDTRK    The ADDTRK EDIT macro (written in REXX) that
               invokes PDS86 to add a new extent to the PDS
               being edited.

     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
               by typing:

                  TSO %DSLIST

               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
               Example:

                 ALLOC DD(SYSPROC) SHR -
                       DS('IPO1.CMDPROC' 'GSFSOFT.CLIST')
                 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           +
                    PARM(NOOBJECT,NODECK,NOXREF,NORLD) +
                    SYSIN(TEMPWK2)        +
                    SYSUT1(TEMPWK1)       +
                    SYSLIB(ASMLIB)        +
                    SYSPRINT(ASMH$PRT)    +
                    STEPLIB(LINKLIST)

     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
               ISPF environment.
               Fastpath provides two types of functions:

               1. Initialization
                 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
                    LOAD library
                 c. issue STIMER to prevent S522 time-out abends
               2. Processing
                 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
               http://gsf-soft.com/Freeware/FASTPATH.shtml

     FILE183   CLIST to provide an easy access to REXX execs and
               programs distributed in this library
               http://gsf-soft.com/Freeware/FILE183.shtml

     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
               generation.

     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
               screens

     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
               ISPLLIB

               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)

               Example:

                 //MYJOB    JOB ACCT#,CLASS=A,MSGCLASS=X
                 //COPY1   EXEC PGM=IEBCOPY
                 //...      DD   ...
                 //CONDPURG EXEC PGM=CANMSGCL,PARM=2,
                 //              COND=(0,NE,COPY1)

                 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:

                   $TA,T=12.28,'$OJ01234,Q=X,CANCEL'

     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
               job execution.

     CMDJ      Send a JES2 command with the current job's number
               (must be authorized)

               Example:

                  //PURGEJOB EXEC PGM=CMDJES2,PARM=P

               If the current job's number is JOB01234,
               then the following command is issued:

                     $PJ  01234

     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
               again.

               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
               SYS1.PARMLIB.

               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
               partial input.

     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
               activity.

     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.

               PARM=(nnn,mmmmmmm,hhmm,userid)

                 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
                 link-list)

                 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).

               Sample jcl:

                 //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.

               EXAMPLE:

                     GETMAIN RU,LV=20000
                     BUILDCDE LENGTH=(0),ADDR=(1),EP=DYNAM20

               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
               linkage conventions.

               Example:

                         EASYSORT OPEN,
                               FIELDS=(1,22,CH,A),
                               TYPE=F,LENGTH=64,
                               OPTION='EQUALS,RESINV=500K'
                         .     .
                 READ    GET   FILEIN
                         EASYSORT PUT,(1)   pass record to SORT
                         B     READ
                         .     .
                 REWRITE EASYSORT GET,      get sorted record
                               SET=(R3),
                               EODAD=ENDSORT
                         PUT   FILEOUT,(R3)
                         B     REWRITE
                         .     .
                 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
               routine (EODAD).

     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,
                                               GDGLIMIT.

     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
               assembler.

     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
               assembler.

               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
               follows:

                   UNIT=3390,SPACE=(CYL,(9,,18)),
                   DCB=(RECFM=FB,LRECL=80,BLKSIZE=29720)

     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.