Find Member Name(s) dialog Product id: WFM Build 008 By Willy Jensen email willy@harders-jensen.com web http://harders-jensen.com/wjtech/index.html You really should read this document all the way through. For the change history, see member WFMHIST. Download the 'WFMDOCPD' member as something.PDF and open it with a PDF viewer to see a somewhat more user-friendly documentation. The build changes the database key values, so current users must reorganize the databases. See the 'Migration' section for details. Introduction The WFM application is an ISPF application which allows you to find PDS/PDSE member(s) which existed at the latest WFM update run. The basis for member info load is disk, so uncataloged datasets are processed too. This means that the real name of a dataset is stored, not any symbolic datasetname. Member(s) can be located by full name, name prefix or using Wildcards. The generated member list allows browse, edit and view of the member and the dataset where the member is found WFM is build using REXX + a couple of freeware programs, so is not as resource lean as a purpose built application probably would be. On the other hand, a lot of thoughts have gone into making it perform reasonably well. New in this build Changed in this build - Better member handling, thanks to a new build of the RXVSAMBA program. Principles of operation The WFM infrastructure consists of 2 VSAM databases, one containing dataset info and one containing member info. The dataset db key is stored as kart of the member db key. The databases are initially loaded using VTOC listings. The databases are updated by a daily run which scans SMF data for dataset catalog, update, scratch and rename. Both old-fashioned SMF history datasets and SMF logstreams are supported. Use either job JDAILYL or JDAILYH as reference. Members with invalid names like 'B+......' are dropped durning load. You can use the application while the update is running. The application is built using freeware programs PDSMAIN (PDS86), RXVSAMBA and VTOC from www.cbttape.org file 192, 112 and 669 respectively. The newest version of RXVAMBA is found at my website listed at the top. A copy of those programs is provided as part of the WFM package. The copies may not be the latest available versions by the time you install this package, but they have been tested with the package. An alternate to PDSMAIN can be used by modifying the PDSMAIN= operand in the WFMSET member. SERENAs STARTOOL program has the same functionality and syntax as PDSMAIN as fas as I am aware. Several of the jobs use IBM DFSORT and ICETOOL. If you do not have those installed, I hope that you have useful equvivalents. Otherwise drop me a note and I shall see what I can do. Database layout Dataset db K---+----+-K--+----+----+----+----+----+----+----+ kkkkkkkkkkkk volser dsname dataset-specs kkkkkkkkkkkk is 12-byte date+time, see WFMDBUPD for details. Member db 1 10 20 K---+----+----+----K---- mmmmmmmmkkkkkkkkkkkrrrrr mmmmmmmm mbrname kkkkkkkkkkkk key from dataset db, 12-byte date/time value. rrrrrr rest of member data Getting started Unload the LIB dataset (you probably have done that already if you are reading this). If you do not have either of the freeware programs PDSMAIN (PDS86), RXVSAMBA or VTOC installed, then run job JMKLOADL to load the programs from this distlib. Or download the programs from the CBTTAPE.ORG website. Note that FINDMBR build 008 requires RXVSAMBA V028 or above. Update the JOBLIB parameter and statement in the WFMSET member accordingly. Edit the WFMSET and WFMRXSET members. Edit the WFMSTEPL member. Edit and run the JMKPARML and JMKDBS jobs. Edit and run the JMKDIALB job if you want to have the dialog seperate from the install lib. Review and edit the new PARM dataset member VOLSEL. If the VTOC and PDSMAIN programs are not available through LINKLIST/LPALIST then you must un-comment the STEPLIB statement. Edit and run the JDBUPD member with a number of ADDVOL statements. This will add data to the database using VTOC list as input. You might want to run the job several times with disk subsets. This will also allow you to monitor the size of the databases as you go along. Or run the JSYNCVOL job to add all in one go. Note that a lot of SMF type 14 will be generated, one per dataset scanned. You can create a separate dialog lib using job JMKDIALG. Start the dialog with this TSO command: ex 'findmbr.lib(WFMDIAGO)' If you ran job JMKDIALG then you of course must substitute 'findmbr.lib' with the dialog libname. Continue with the section 'Daily update' Upgrade from ealier release Run job JDBUPG06 to upgrade the databases. Preserve the current WFMSET and WFMSTEPL members. Replace the library. Restore / review the WFMSET and WFMSTEPL members. The ISPF dialog Start the dialog with this TSO command: ex 'findmbr.lib(WFMDIAGO)' Enter HELP to see available primary- and line commands Daily update Determine which job to use, depending on whether a SMF logstream is avaiable or not. Sample job JDAILYL reads from a logstream, JDAILYH reads from a history dataset. Edit the latest run info in the PARM dataset member LASTDATE. Enter the date when you started to add data to the databases. Edit and run the JDAILYL or JDAILYH member. The DATE= parameter is only used if you want to extract from a specific date range. The default is to read the parm member LASTDATE. Run the dialog to verify the updates. Resynchronize Setup job based on JDBUPD with UPDVOL statements to rescan disks at regular intervals. Run the JSYNCVOL job to update according to changes in the volume config. Ad-hoc update Edit and run the JDBUPD member to update specific datasets and/or disks. Datasets xxxx.LIB JCL, REXX programs and control data. xxxx.PARM various selections generated by the WFMCTL proc. xxxx.UPD updates for the WFMDBA and WFMDBD procs. xxxx.DSN dataset database xxxx.MBR member database Sample jobs in the LIB dataset JDAILYH Daily update from SMF history data. JDAILYL Daily update from SMF logger data. JDBCRE Create databases. JDBDDORP Delete orphaned dataset records incl member records JDBDDUP Delete duplicate datasets. JDBLIST List data from databases. JDBMDORP Delete orphaned members. JDBRELD Reload database. JDBUNLD Unload database. JDBUPD Update database. JDBUPG06 Upgrade databases to ver 006 (optional but recommended). JMKDIALB Create dialog lib JMKLOADL Create loadlib JMKPARML Create parameter dataset. JSYNCVOL Syncronize volume(s) JXREFDV Cross-ref database and VTOC, optionally update database. Security considerations The databases are read directly by the dialog, so must have universal access READ. The userid for the update job must be able to read all PDS(E) datasets and update the databases, so it is recommended that the userid for the update job has the OPERATIONS attribute. Notes to wildcard selections The dialogs and some of the batch utilities support wildcards in names. The wildcards are '%' for a single character and '*' for zero or more characters. The wildcarding differs from i.e. ISPF 3.4 dataset display in that dataset qualifiers have no special meaning, a datasetname is just a string. Or on other words, a double asterix does not mean zero or more qualifiers. Migration from earlier release The build 006 changes the database key length, so you must run the database reorg job (JOBDBREO) before running the daily update job.