VSAMLIST

VSAMLIST scans one or more specified VSAM Catalogs and produces a summary report of the catalog contents, a detail report of the VSAM volume contents, and a VSAM track allocation map.  It can also be used to maintain a history file for all VSAM entries reported by the program.  The most useful feature that it provides is the means to review allocation and utilization information for VSAM objects, similar to a VTOC listing for Non-VSAM datasets.

It is located in File #38 of the CBT Overflow tape and originally came from Memorex.  The version I have used for installation came from Version #466 of the CBT collection.

Prerequisite:  The MVT Sort/Merge must be installed on your system for this program to execute.

 

Installation

Rather than a single load module, there are actually eight individual modules which are loaded as required by the control module.  The source code will assemble as is under MVS 3.8j, but I have updated the DASD Type table to add entries for 3375, 3380, and 3390 DASD devices (search for my initials, JLM, to identify changes).  A single jobstream will assemble and link all eight load modules.

Download the archive vsamlist.tar.gz [MD5: aa20ddc7d99d6ee8106d7ce918d592d7], which contains both the jobstream to assemble the eight load modules and a jobstream which may be used to execute the program.  The jobstreams were prepared on a Windows system, so each line is terminated by x'0d0a', which may require translation for use on a Linux system.

The target library for the load modules is SYS2.LINKLIB, so if you do not have SYS2.LINKLIB defined on your system you will need to edit the installation jobstream to point to a load library valid for your system.  Submit the installation jobstream - vsamlst$ - to assemble and link edit the eight programs.


Executing VTOCLIST

The JCL to execute VSAMLIST is:

//VSAMLIST JOB (SYS),'VSAMLIST',CLASS=A,MSGCLASS=A
//STEP1  EXEC  PGM=VSAMLIST,PARM=ALL
//STEPLIB  DD  DSN=SYS2.LINKLIB,DISP=SHR   PROGRAM LOAD MODULES
//*                                      & MVT SORT/MERGE
//*STEPCAT  DD  DSN=VSAMCAT1,DISP=SHR      OPTIONAL STEP CATALOG
//*         .                              OPTIONAL STEP CATALOG
//*         .                              OPTIONAL STEP CATALOG
//*         .                              OPTIONAL STEP CATALOG
//*        DD  DSN=VSAMCATN,DISP=SHR       OPTIONAL STEP CATALOG
//SYSABEND DD  SYSOUT=*
//MSGFILE  DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//RPTFIL1  DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//RPTFIL2  DD  SYSOUT=*,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330)
//SYSOUT   DD  SYSOUT=*
//SORTIN   DD  DSN=&&DETAIL,DISP=(NEW,DELETE),UNIT=2314,
//             SPACE=(CYL,(5,5))
//SORTLIB  DD  DSN=SYS1.SORTLIB,DISP=SHR   MVT SORT/MERGE LIBRARY
//SORTWK01 DD  UNIT=2314,SPACE=(CYL,(3))
//SORTWK02 DD  UNIT=2314,SPACE=(CYL,(3))
//SORTWK03 DD  UNIT=2314,SPACE=(CYL,(3))
//*                                                                     
//* FOLLOWING OUTPUT FILE IS OPTIONAL.  IF IT POINTS TO A DASD DATA     
//* SET AND 'PARM=ALL' IS SPECIFIED ON THE 'EXEC' CARD, A HISTORY       
//* FILE FOR VSAM ENTRIES WILL BE CREATED.  PLEASE NOTE THE SPEC'S      
//* IN THE DCB.  RECORDS ARE 158 BYTES LONG.                            
//*VSAMHIST DD  DSN=VSAM.HIST.FILE,DISP=(,PASS),                        
//*             UNIT=SYSDA,SPACE=(CYL,(2,1)),                           
//*             DCB=(RECFM=FB,LRECL=158,BLKSIZE=6162)                   
//*                                                                     
//*  FOLLOWING INPUT FILE IS FOR VSAM CATLG LIST UTIL CONTROL STMTS     
//*  '/' INDICATE AN OPTIONAL MASTER PASSWORD FOLLOWS                   
//*  ALL KEYWORDS SHOULD BE ON COL. 1 THRU 71 OF THE SAME CARD FOR      
//*  EACH VSAM CATALOG TO BE LISTED                                     
//VCLCNTL  DD  *                                                        
  LISTCAT  UCMVS801                                                     
//                                                                      

Remember that the MVT Sort/Merge can only access 2314 or earlier storage devices, so the SORTIN and SORTWK?? datasets must be allocated to UNIT=2314 devices.  The SORTIN dataset is written by the program before the MVT Sort/Merge is called to perform the sort.  

The output from this job may be viewed at VSAMLIST Reports.


I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon my explanations and examples shown here, please don't hesitate to send them to me:


Return to Site Home Page 


This page was last updated on January 17, 2015 .