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.