Overview
CPDM – ISPF Personal Dataset Manager on MVS 3.8J TSO / ISPF / Hercules
(current version 0.9.00 2022-11-24)
Many systems and application development groups create a common set of tools to accomplish repetitive tasks such as standardized compilation procedures or utilities. Such tools may be exposed to development groups in a workbench presentation using ISPF dialogues (CLISTs, Panels, Messages).
I was one of those developers that designed, developed and implemented a programmers workbench to service application systems compilation, data set copy and printing, and other functions through a common set of ISPF panels
Jim Lane from Toronto Hydro contributed a CBT set of software in December 1993 as CBT File#47. Jim’s software was written/updated for MVS/ESA 3.1.3, ISPF 3.5 with DFHSM. One application that peaked my interest was EDX, a Personal Dataset Manager, as labeled by Jim, that facilitates data set actions (e.g. Browse, Edit, Print) similar to 3.4 DSLIST but the data set list is constructed (maintained) by the user. Perhaps, based on current projects and/or frequent use of data sets.
EDX can be used as an alternative to ISPF option 1 or 2 (Browse or Edit, respectively).
The public domain version of MVS 3.8J does not support some of the CLIST command syntax (i.e. modernized TSO ALLOC) or functions such as DFHSM migrate or recall.
Therefore, I jumped at the opportunity to retrofit and enhance EDX. Also, I elected to continue with assigned system name (by Jim Lane), PDM, Personal Dataset Manager.
Feel free to peruse the revised code to gain insights of applied modifications to allow Jim’s software to execute under MVS 3.8J TSO with ISPF v2.2 (ISPF-like product from Wally Mclaughlin).
To be clear, I only modified the software with minor enhancements. The authoring credit belongs to Jim Lane!!
Hope you enjoy this community contribution and utilize as an extension to your TSO/ISPF environment.
Although, a simple ISPF application, it can serve as a reference model for other ISPF application development which uses ISPF tables and services!
Thanks,
Larry Belmontes
Personal Dataset Manager
CPDM, is the modified EDX application under MVS 3.8J.
The main panel, PEDXPANL, simply displays a list of pre-defined data sets with associated Volume Serial number, Last update date and Last Action.
Valid commands include SORT (sort dataset list by DSN, Volume or Last Date), ADD (add a DSN to the PDM list) and TUTOR (ISPTUTOR-like function to facilitate CPDM tutorial HELP).
Valid line commands include A (allocate dataset from an existing DSN as a model), B (browse DSN using ISPF), D (delete DSN and remove from PDM list), E (edit DSN using ISPF, PR (print DSN using PRINTOFF), V (update VOLUME for DSN), X (remove DSN from PDM list) and I (display DSN attribute information).
yy/mm/dd jjj hh:mm:ss Personal Dataset Manager ---------------------------
Command ===> Scroll ===> PAGE
Sort field ===> DSNAME Direction: A LARRY01
PEDXPANL
Commands: SORT ADD TUTOR
Options: Allocate Browse Delete Edit PRint Volser Xdrop Info
Opt Dataset Name Volume LastDate LastAction
ISP.SYSCOM.ISPCLIB XMIT01 yy/07/20 ** EDIT
ISP.SYSCOM.ISPMLIB PUB005 yy/11/17 ** BROWSE
ISP.SYSCOM.ISPPLIB XMIT00 yy/04/20 ** EDIT
ISP.V2R2M0.PLIB PUB005 yy/04/17 ** ADD
LARRY01.JLKJ ?????? yy/11/17 ** ADD
LARRY01.TEST.CNTL PUB000 yy/11/17 ** BROWSE
LARRY01.TEST.CNTLB PUB000 yy/03/16 ** PDS
LARRY01.TEST.PROCLIB PUB007 yy/01/17 ** BROWSE
******************************* BOTTOM OF DATA *******************************
The following HELP screens are displayed by the TUTOR command.
--Tutorial-------------- Personal Dataset Manager -----------------Tutorial--
Selection ===>
Personal Dataset Manager is an ISPF dialog that provides an improved
interface to EDIT and BROWSE as well as other dataset-oriented
functions. It does this by maintaining an ISPF table of the datasets
you are currently working with and providing command functions both
to maintain the list and to operate on the datasets.
The following topics are presented in sequence, or may be selected by
number:
1 LIST Commands
2 LINE Commands
--Tutorial-------------- Personal Dataset Manager -----------------Tutorial--
Selection ===>
The following commands may be entered in the command entry field at
the top of the screen to act on the entire list of datasets:
SORT to reorder the list by dsname,volume or last use date.
ADD to add another dataset to the list.
TUTOR to invoke PDM TUTOR HELP.
--Tutorial-------------- Personal Dataset Manager -----------------Tutorial--
Selection ===>
The following LINE commands may be entered in the selection field beside
any of the dataset names:
A to ALLOCATE a new dataset using this one as a model.
B to ISPF BROWSE the dataset.
D to delete the dataset.
E to ISPF EDIT the dataset.
HM to migrate the dataset with DFHSM. (not on MVS 3.8J)
HR to recall the dataset from DFHSM migration. (not on MVS 3.8J)
I to display information about the dataset's attributes.
P to invoke the PDS81 dialog on the dataset. (not on MVS 3.8J)
PR to print the dataset via PRINTOFF.
V to set or update the VOLSER field.
X to drop the dataset from the list.
NOTE: this dialog picks up on the fact that a dataset has been migrated and
displays a message to that effect if you try to do something that needs
the dataset unmigrated. You have to explicitly HRECALL it first.
Prerequisites
ISPF v2.2+ (ISPF-like product from Wally Mclaughlin) is necessary to use this software.
Two user-mods, ZP60014 and ZP60038, are REQUIRED to process CLIST symbolic variables via the IKJCT441 API on MVS 3.8J before using this software. More information on user-mods ZP60014 and ZP60038 can be obtained from the following website:
http://www.prycroft6.com.au/vs2mods/
Check your system to determine if one or both user-mods are required. ZP60038 requires ZP60014.
Several other components are pre-requisites. See README file for a complete list of required and/or optional software including download sites.
Software Disclaimer
No guarantee; No warranty; Install / Use at your own risk.
This software is provided “AS IS” and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
The author requests keeping authors name intact to any modified versions.
In addition, the author requests readers to submit any code modifications / enhancements and associated comments for consideration into a subsequent release (giving credit to contributors) thus, improving overall functionality benefiting the MVS 3.8J hobbyist public domain community.
Access CPDM now for a demo!
Take CPDM for a ‘test drive’ before downloading and installing onto your MVS38J system.
Point your TN3270 terminal emulator using TLS to
URL: mywhs.belmontes.net
PORT: 5000
TLS : Version 1.2
Once connected, log on using any of the TK4- default user ids and passcodes.
After successful logon, select option I (I for ISPF) from the TSO Applications Menu. Note, option I is not listed on the menu – this is intentional.
From the ISPF PRIMARY OPTION MENU, type the following command and press ENTER:
OPTION ===> E
The PDM is displayed (PEDXPANL).
Select an option for a listed data set or add an existing data set to the list.
Press PF3 to return to originating panel.
Use PF3 until returning to the TSO READY prompt.
Log off TSO.
Terminate 3270 session.
Installing CPDM Software
After downloading the ZIP file, the approach for this installation procedure is to transfer the distribution content (HET and/or XMI) from the your personal computing device to MVS with minimal JCL (less than 24 lines for easy copy-paste) and to continue the installation procedure using supplied JCL from the MVS CNTL data set under TSO.
- Click here to download the zip file to your PC local drive.
The below README file includes a ZIP file content list, pre-installation requirements and installation steps.
CPDM for MVS 3.8J / Hercules . ============================ . Date: 11/24/2022 Release V0R9M00 **INITIAL software distribution * Author: Larry Belmontes Jr. * https://ShareABitofIT.net/CPDM-in-MVS38J * Copyright (C) 2022 Larry Belmontes, Jr. ---------------------------------------------------------------------- | CPDM I n s t a l l a t i o n R e f e r e n c e | ---------------------------------------------------------------------- The approach for this installation procedure is to transfer the distribution content from your personal computing device to MVS with minimal JCL and to continue the installation procedure using supplied JCL from the MVS CNTL data set under TSO. Below are descriptions of ZIP file content, pre-installation requirements (notes, credits) and installation steps. Thanks! -Larry Belmontes ---------------------------------------------------------------------- | CPDM C h a n g e H i s t o r y | ---------------------------------------------------------------------- * MM/DD/CCYY Version Name / Description * ---------- ------- ----------------------------------------------- * 11/24/2022 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * - EDX application from CBT047 by Jim Lane * contributed on December 1993 for use on * MVS/ESA 3.1.3, ISPF 3.5 and DFHSM. * https://cbttape.org/cbtdowns.htm * - Retrofitted for MVS 3.8J TSO and ISPF v2.2 * (product from Wally Mclaughlin) * - Initial prototyping and development * w ISPF 2.2 * * ====================================================================== * I. C o n t e n t o f Z I P F i l e | ====================================================================== o $INST00.JCL Define Alias for HLQ CPDM in Master Catalog o $INST01.JCL Load CNTL data set from distribution tape o $RECVXMI.JCL Receive XMI SEQ to MVS PDSs o CPDM.V0R9M00.HET Hercules Emulated Tape (HET) multi-file volume with VOLSER of VS0900 containing software distribution. o CPDM.V0R9M00.XMI XMIT file containing software distribution. o DSCLAIMR.TXT Disclaimer o PREREQS.TXT Required user-mods o README.TXT This File Note: ISPF v2.2+ (ISPF-like product from Wally Mclaughlin) must be ----- installed under MVS 3.8J TSO including associated user-mods per ISPF Installation Pre-reqs. Note: Two user-mods, ZP60014 and ZP60038, are REQUIRED to process ----- CLIST symbolic variables via the IKJCT441 API on MVS 3.8J before using this software. More information and download links at: http://www.prycroft6.com.au/vs2mods/ Note: CUTIL00 is a TSO utility that performs various functions using ----- CLIST variables and must be installed as a pre-requisite. More information including current version download link at:CUTIL00 for MVS 3.8JNote: LISTDSJ, alias LISTDSI, is a LISTDSI-like utility that creates CLIST ----- variables containing data set attributes and must be installed as a pre-requisite. More information including current version download link at:LISTDSJ for MVS 3.8JNote: CPRTOFF is a MVS 3.J/ISPF v2.x application and ----- must be installed as a pre-requisite. More information including current version download link at:CPRTOFF in MVS38JNote: PRINTOFF (TSO CP) is a pre-requisite for this install ----- and may be available on MVS3.8J TK3 and TK4- systems. More information at: https://www.cbttape.org/cbtdowns.htm FILE #325 - or - may be downloaded in a MVS 3.8J install-ready format from Jay Moseley's site: http://www.jaymoseley.com/hercules/cbt_ware/printoff.htm Credit: CBT File#047 contributed by Jim Lane in December 1993 ------- contains one ISPF application named EDX which maintains a list of user-defined data sets and allows specific actions on those data sets. This application was written in a shop utilizing MVS/ESA. EDX components were used as models to construct a working version for MVS 3.8J / ISPF v2.2 users. Thanks to Jim Lane for his CBT contribution. More information at: https://www.cbttape.org/cbtdowns.htm FILE #047 ====================================================================== * II. P r e - i n s t a l l a t i o n R e q u i r e m e n t s | ====================================================================== o The Master Catalog password may be required for some installation steps. o Tape files use device 480. o Below is a DATASET List after tape distribution load for reference purposes: DATA-SET-NAME------------------------------- VOLUME ALTRK USTRK ORG FRMT % XT CPDM.V0R9M00.ASM PUB006 5 1 PO FB 20 1 CPDM.V0R9M00.CLIST PUB006 4 1 PO FB 25 1 CPDM.V0R9M00.CNTL PUB006 20 4 PO FB 20 1 CPDM.V0R9M00.HELP PUB006 4 1 PO FB 25 1 CPDM.V0R9M00.ISPF PUB006 20 4 PO FB 20 1 CPDM.V0R9M00.MACLIB PUB006 2 1 PO FB 50 1 **END** TOTALS: 55 TRKS ALLOC 12 TRKS USED 6 EXTENTS Confirm the TOTAL track allocation is available on your device. Note: A different DASD device type may be used to yield different usage results. o TSO user-id with sufficient access rights to update SYS2.CMDPROC, SYS2.CMDLIB, SYS2.HELP, SYS2.LINKLIB and/or ISPF libraries. o For installations with a security system (e.g. RAKF), you MAY need to insert additional JOB statement information. // USER=???????,PASSWORD=???????? o Names of ISPCLIB (Clist), ISPMLIB (Message), ISPLLIB (Load) and/or ISPPLIB (Panel) libraries. o Download ZIP file to your PC local drive. o Unzip the downloaded file into a temp directory on your PC device. o Install pre-requisite (if any) software and/or user modifications. ====================================================================== * III. I n s t a l l a t i o n S t e p s | ====================================================================== +--------------------------------------------------------------------+ | Step 1. Define Alias for HLQ CPDM in MVS User Catalog | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST00) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0000 JOB (SYS),'Def CPDM Alias', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * JOB: $INST00 Define Alias for HLQ CPDM * //* * Note: The master catalog password will be required * //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(CPDM) IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(CPDM) RELATE(SYS1.UCAT.MVS)) /* // ______________________________________________________________________ Figure 1: $INST00 JCL a) Copy and paste the above JCL to a PDS member, update JOB statement to conform to your installation standard. b) Submit the job. c) Review job output for successful DEFINE ALIAS. Note: When $INST00 runs for the first time, Job step DEFALIAS returns RC=0004 due to LISTCAT ALIAS function completing with condition code of 4 and DEFINE ALIAS function completing with condition code of 0. Note: When $INST00 runs after the ALIAS is defined, Job step DEFALIAS returns RC=0000 due to LISTCAT ALIAS function completing with condition code of 0 and DEFINE ALIAS function being bypassed. +--------------------------------------------------------------------+ | Step 2. Determine software installation source | +--------------------------------------------------------------------+ | HET or XMI ? | +--------------------------------------------------------------------+ a) Software can be installed from two sources, HET or XMI. - For tape installation (HET), proceed to STEP 4. **** or - For XMIT installation (XMI), proceed to next STEP. +--------------------------------------------------------------------+ | Step 3. Load XMIPDS data set from XMI SEQ file | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($RECVXMI) | +--------------------------------------------------------------------+ ______________________________________________________________________ //RECV000A JOB (SYS),'Receive CPDM XMI', <-- Review and Modify // CLASS=A,MSGCLASS=X,REGION=0M, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * JOB: $RECVXMI Receive Application XMI Files * //* -------------------------------------------------------* //RECV PROC HLQ=CPDM,VRM=V0R9M00,TYP=XXXXXXXX, // DSPACE='(TRK,(10,05,40))',DDISP='(,CATLG,DELETE)', // DUNIT=DISK,DVOLSER=PUB006 <-- Review and Modify //* //RECV370 EXEC PGM=RECV370 //STEPLIB DD DSN=SYS2.LINKLIB,DISP=SHR <-- Review and Modify //RECVLOG DD SYSOUT=* //XMITIN DD DISP=SHR,DSN=&&XMIPDS(&TYP) //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=&&SYSUT1, // UNIT=SYSALLDA,SPACE=(CYL,(10,05)),DISP=(,DELETE,DELETE) //SYSUT2 DD DSN=&HLQ..&VRM..&TYP,DISP=&DDISP, // UNIT=&DUNIT,SPACE=&DSPACE,VOL=SER=&DVOLSER //SYSIN DD DUMMY //SYSUDUMP DD SYSOUT=* // PEND //* RECEIVE XMIPDS TEMP //XMIPDS EXEC RECV,TYP=XMIPDS,DSPACE='(CYL,(10,05,10),RLSE)' //RECV370.XMITIN DD DISP=SHR,DSN=your.transfer.xmi <-- XMI File //RECV370.SYSUT2 DD DSN=&&XMIPDS,DISP=(,PASS), // UNIT=SYSDA,SPACE=&DSPACE //* RECEIVE CNTL, HELP, CLIST, ISPF, ASM, MACLIB //CNTL EXEC RECV,TYP=CNTL //RECV370.SYSUT2 DD DDNAME=&TYP //CNTL DD DSN=&HLQ..&VRM..CNTL,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,10,10)), // DISP=&DDISP //HELP EXEC RECV,TYP=HELP //RECV370.SYSUT2 DD DDNAME=&TYP //HELP DD DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(04,02,02)), // DISP=&DDISP //CLIST EXEC RECV,TYP=CLIST //RECV370.SYSUT2 DD DDNAME=&TYP //CLIST DD DSN=&HLQ..&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(04,02,02)), // DISP=&DDISP //ISPF EXEC RECV,TYP=ISPF //RECV370.SYSUT2 DD DDNAME=&TYP //ISPF DD DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,05,10)), // DISP=&DDISP //ASM EXEC RECV,TYP=ASM //RECV370.SYSUT2 DD DDNAME=&TYP //ASM DD DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(05,10,10)), // DISP=&DDISP //MACLIB EXEC RECV,TYP=MACLIB //RECV370.SYSUT2 DD DDNAME=&TYP //MACLIB DD DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP // ______________________________________________________________________ Figure 2: $RECVXMI.JCL a) Transfer CPDM.V0R9M00.XMI to MVS using your 3270 emulator. Make note of the DSN assigned on MVS transfer. Use transfer IND$FILE options: NEW BLKSIZE=3200 LRECL=80 RECFM=FB Ensure the DSN on MVS exists with the correct DCB information: ORG=PS BLKSIZE=3200 LRECL=80 RECFM=FB b) Copy and paste the above JCL to a PDS member, update JOB statement to conform to your installation standard. Review JCL and apply any modifications per your installation including the DSN assigned during the transfer above for the XMI file. d) Submit the job. e) Review job output for successful load of the following PDSs: CPDM.V0R9M00.ASM CPDM.V0R9M00.CLIST CPDM.V0R9M00.CNTL CPDM.V0R9M00.HELP CPDM.V0R9M00.ISPF CPDM.V0R9M00.MACLIB f) Subsequent installation steps will be submitted from members contained in the CNTL data set. g) Proceed to STEP 6. **** +--------------------------------------------------------------------+ | Step 4. Load CNTL data set from distribution tape | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST01) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0001 JOB (SYS),'Install CNTL PDS', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * JOB: $INST01 Load CNTL PDS from distribution tape * //* * Note: Uses tape drive 480 * //* -------------------------------------------------------* //LOADCNTL PROC HLQ=CPDM,VRM=V0R9M00,TVOLSER=VS0900, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD001 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCNTL DD DSN=&HLQ..&VRM..CNTL.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(1,SL) //CNTL DD DSN=&HLQ..&VRM..CNTL,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,10,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) // PEND //STEP001 EXEC LOADCNTL Load CNTL PDS //SYSIN DD * COPY INDD=INCNTL,OUTDD=CNTL // ______________________________________________________________________ Figure 3: $INST01 JCL a) Before submitting the above job, the distribution tape must be made available to MVS by issuing the following command from the Hercules console: DEVINIT 480 X:\dirname\CPDM.V0R9M00.HET READONLY=1 where X:\dirname is the complete path to the location of the Hercules Emulated Tape file. b) Issue the following command from the MVS console to vary device 480 online: V 480,ONLINE c) Copy and paste the above JCL to a PDS member, update JOB statement to conform to your installation standard. Review JCL and apply any modifications per your installation. d) Submit the job. e) Review job output for successful load of the CNTL data set. f) Subsequent installation steps will be submitted from members contained in the CNTL data set. +--------------------------------------------------------------------+ | Step 5. Load Other data sets from distribution tape | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST02) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0002 JOB (SYS),'Install Other PDSs', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * JOB: $INST02 Load other PDS from distribution tape * //* * Tape Volume: File 1 - CNTL * //* * File 2 - CLIST * //* * File 3 - HELP * //* * File 4 - ISPF * //* * File 5 - ASM * //* * File 6 - MACLIB * //* * Note: Default TAPE=480, DASD=DISK on PUB006 * //* -------------------------------------------------------* //LOADOTHR PROC HLQ=CPDM,VRM=V0R9M00,TVOLSER=VS0900, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD02 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCLIST DD DSN=&HLQ..&VRM..CLIST.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(2,SL) //INHELP DD DSN=&HLQ..&VRM..HELP.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(3,SL) //INISPF DD DSN=&HLQ..&VRM..ISPF.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(4,SL) //INASM DD DSN=&HLQ..&VRM..ASM.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(5,SL) //INMACLIB DD DSN=&HLQ..&VRM..MACLIB.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(6,SL) //CLIST DD DSN=&HLQ..&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(04,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //HELP DD DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(04,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ISPF DD DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(20,05,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ASM DD DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(05,10,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //MACLIB DD DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) // PEND //* //STEP001 EXEC LOADOTHR Load ALL other PDSs //SYSIN DD * COPY INDD=INCLIST,OUTDD=CLIST COPY INDD=INHELP,OUTDD=HELP COPY INDD=INISPF,OUTDD=ISPF COPY INDD=INASM,OUTDD=ASM COPY INDD=INMACLIB,OUTDD=MACLIB // ______________________________________________________________________ Figure 4: $INST02 JCL a) Member $INST02 installs remaining data sets from distribution tape. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Before submitting the above job, the distribution tape must be made available to MVS by issuing the following command from the Hercules console: DEVINIT 480 X:\dirname\CPDM.V0R9M00.HET READONLY=1 where X:\dirname is the complete path to the location of the Hercules Emulated Tape file. d) Issue the following command from the MVS console to vary device 480 online: V 480,ONLINE e) Submit the job. f) Review job output for successful loads. +--------------------------------------------------------------------+ | Step 6. FULL or UPGRADE Installation | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($UP0900) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM000U JOB (SYS),'Upgrade CPDM', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * * //* * JOB: $UP0900 Upgrade CPDM Software * //* * Upgrade to release V0R9M00 from VxRxMxx * //* * * //* * Review JCL before submitting!! * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * No upgrades for V0R9M00 * //* -------------------------------------------------------* //CPDM EXEC PGM=IEFBR14 //* // ______________________________________________________________________ Figure 5: $UP0900.JCL Upgrade from previous version to V0R9M00 a) If this is the INITIAL software distribution, proceed to STEP 7. b) This software may be installed in FULL or UPGRADE from a prior version. Note: If the installed software version is customized, a manual ----- review and evaluation is suggested to properly incorporate customizations into this software distribution before proceeding with the installation. Refer to the $UPvrmm.JCL members for upgraded software components being installed. c) If a FULL install of this software distribution is elected regardless of previous version installed on your system, proceed to STEP 7. d) If this is an UPGRADE from the PREVIOUS version, execute the below JCL based on current installed version: - V0R9M00 is initial release, thus, no updates available! e) After upgrade is applied, proceed to validation, STEP 11. +--------------------------------------------------------------------+ | Step 7. Install TSO parts | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST03) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0003 JOB (SYS),'Install TSO Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST03 Install TSO parts * //* * * //* * Note: Duplicate members are over-written. * //* -------------------------------------------------------* //STEP001 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCLIST DD DSN=CPDM.V0R9M00.CLIST,DISP=SHR //INHELP DD DSN=CPDM.V0R9M00.HELP,DISP=SHR //OUTCLIST DD DSN=SYS2.CMDPROC,DISP=SHR //OUTHELP DD DSN=SYS2.HELP,DISP=SHR //SYSIN DD * COPY INDD=((INCLIST,R)),OUTDD=OUTCLIST SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ COPY INDD=((INHELP,R)),OUTDD=OUTHELP SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ /* // ______________________________________________________________________ Figure 6: $INST03 JCL a) Member $INST03 installs TSO component(s). Note: If no TSO components are included for this distribution, ----- RC = 4 is returned by the corresponding IEBCOPY step. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful load(s). +--------------------------------------------------------------------+ | Step 8. Install CPDM Software | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST04) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0004 JOB (SYS),'Install CPDM', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST04 Install CPDM Software * //* * * //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* * * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * IEFBR14 * //* -------------------------------------------------------* //DUMMY EXEC PGM=IEFBR14 //SYSPRINT DD SYSOUT=* //* // ______________________________________________________________________ Figure 7: $INST04 JCL a) Member $INST04 installs program(s). Note: If no components are included for this distribution, ----- an IEFBR14 step is executed. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful completion. +--------------------------------------------------------------------+ | Step 9. Install ISPF parts | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST05) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0005 JOB (SYS),'Install ISPF Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST05 Install ISPF parts * //* * * //* * Note: Duplicate members are over-written. * //* * * //* * * //* * - Uses ISPF 2.1 product from Wally Mclaughlin * //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * * //* * PROC: PARTSISPF * //* * Copy ISPF Parts * //* * * //* -------------------------------------------------------* //PARTSI PROC HLQ=MYHLQ,VRM=VXRXMXX, // CLIB='XXXXXXXX.ISPCLIB', // MLIB='XXXXXXXX.ISPMLIB', // PLIB='XXXXXXXX.ISPPLIB', // SLIB='XXXXXXXX.ISPSLIB', // TLIB='XXXXXXXX.ISPTLIB' //* //* -------------------------------------------------------* //* * * //* * CLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPCLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPCLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDCLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //CLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //CLIBOUT DD DSN=&CLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * MLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPMLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPMLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDMLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //MLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //MLIBOUT DD DSN=&MLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * PLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPPLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPPLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDPLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //PLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //PLIBOUT DD DSN=&PLIB,DISP=SHR //SYSIN DD DUMMY //* //* -------------------------------------------------------* //* * * //* * SLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPSLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPSLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDSLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //SLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //SLIBOUT DD DSN=&SLIB,DISP=SHR //SYSIN DD DUMMY //* //* //* -------------------------------------------------------* //* * * //* * TLIB Member Installation * //* * * //* * Suggested Location: * //* * DSN defined or concatenated to ISPTLIB DD * //* * * //* * Note: If you use a new PDS, it must be defined * //* * before executing this install job AND the * //* * ISPF start-up procedure should include the * //* * new PDS in the ISPTLIB allocation step. * //* * * //* -------------------------------------------------------* //ADDTLIB EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //TLIBIN DD DSN=&HLQ..&VRM..ISPF,DISP=SHR //TLIBOUT DD DSN=&TLIB,DISP=SHR //SYSIN DD DUMMY //* // PEND //* //ISPF EXEC PARTSI,HLQ=CPDM,VRM=V0R9M00, // CLIB='XXXXXXXX.ISPCLIB', <--TARGET // MLIB='XXXXXXXX.ISPMLIB', <--TARGET // PLIB='XXXXXXXX.ISPPLIB', <--TARGET // SLIB='XXXXXXXX.ISPSLIB', <--TARGET // TLIB='XXXXXXXX.ISPTLIB' <--TARGET //ADDCLIB.SYSIN DD * CLIB COPY INDD=((CLIBIN,R)),OUTDD=CLIBOUT SELECT MEMBER=C$CPDM SELECT MEMBER=CPDM SELECT MEMBER=CTUTOR //ADDMLIB.SYSIN DD * MLIB COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT SELECT MEMBER=EDX00 SELECT MEMBER=EDX01 //ADDPLIB.SYSIN DD * PLIB COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT SELECT MEMBER=PEDXADD SELECT MEMBER=PEDXDELT SELECT MEMBER=PEDXINFO SELECT MEMBER=PEDXMODL SELECT MEMBER=PEDXPANL SELECT MEMBER=HEDXHELP SELECT MEMBER=HEDXLINE SELECT MEMBER=HEDXLIST //ADDSLIB.SYSIN DD * SLIB COPY INDD=((SLIBIN,R)),OUTDD=SLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //ADDTLIB.SYSIN DD * TLIB COPY INDD=((TLIBIN,R)),OUTDD=TLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ // ______________________________________________________________________ Figure 8: $INST05 JCL a) Member $INST05 installs ISPF component(s). Note: If no ISPF components are included for this distribution, ----- RC = 4 is returned by the corresponding IEBCOPY step. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Review and update DD statements for ISPCLIB (clist), ISPMLIB (messages), and/or ISPPLIB (panel) library names. The DD statements are tagged with '<--TARGET'. d) Submit the job. e) Review job output for successful load(s). +--------------------------------------------------------------------+ | Step 10. Install Other Software | +--------------------------------------------------------------------+ | JCL Member: CPDM.V0R9M00.CNTL($INST40) | +--------------------------------------------------------------------+ ______________________________________________________________________ //CPDM0040 JOB (SYS),'Install Other Pgms', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * CPDM for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST40 Install Other Software * //* * Install xxxxxx Programs * //* * * //* * * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * IEFBR14 * //* -------------------------------------------------------* //DUMMY EXEC PGM=IEFBR14 //SYSPRINT DD SYSOUT=* //* // ______________________________________________________________________ Figure 9: $INST40 JCL a) Member $INST40 installs additional software. Note: If no other software is included for this distribution, ----- an IEFBR14 step is executed. b) Review and update JOB statement and other JCL to conform to your installation standard. c) Submit the job. d) Review job output for successful completion. +--------------------------------------------------------------------+ | Step 11. Validate CPDM | +--------------------------------------------------------------------+ a) From the ISPF Main Menu, enter the following command: TSO %C$CPDM b) The panel PEDXPANL is displayed. ________________________________________________________________________________ yy/mm/yy jjj hh:mm:ss Personal Dataset Manager --------------------------- Command ===> Scroll ===> PAGE Sort field ===> DSNAME Direction: A LARRY01 PEDXPANL Commands: SORT ADD TUTOR Options: Allocate Browse Delete Edit PRint Volser Xdrop Info Opt Dataset Name Volume LastDate LastAction ISP.SYSCOM.ISPPLIB XMIT00 yy/mm/dd ** BROWSE ISP.V2R2M0.PLIB PUB005 yy/mm/dd ** ADD LARRY01.JLKJ ?????? yy/mm/dd ** ADD LARRY01.TEST.CNTL PUB000 yy/mm/dd ** BROWSE LARRY01.TEST.CNTLB PUB000 yy/mm/dd ** BROWSE LARRY01.TEST.ISAM PUB000 yy/mm/dd ** BROWSE LARRY01.TEST.PROCLIB PUB007 yy/mm/dd ** BROWSE ******************************* BOTTOM OF DATA ******************************* ________________________________________________________________________________ Figure 7: PEDXPANL Personal Dataset Manager list panel c) Enter ADD in the COMMAND line and press ENTER. d) The ADD panel is displayed. ________________________________________________________________________________ ------------------------ Personal Dataset Manager --------------------------- COMMAND ===> Enter information about the dataset you want to add to your list: Dataset Name ...... Volume Serial ...... (Optional) ________________________________________________________________________________ Figure 7: Add MVS dataset to my list e) Enter an existing dataset using single quotes to fully qualify DSN and press ENTER. f) The dataset is added and the list panel is refreshed. g) Select the new added dataset with code 'B' and press ENTER. h) A member list should display assuming the selected DSN is a PDS. i) Validation is complete. +--------------------------------------------------------------------+ | Step 12. Done | +--------------------------------------------------------------------+ a) Congratulations! You completed the installation for CPDM. +--------------------------------------------------------------------+ | Step 13. Integrate CPDM into an ISPF Selection Menu | +--------------------------------------------------------------------+ a) To integrate CPDM into a selection panel (menu) of your choice, follow the below steps - b) Add a selection line to the panel )BODY section similar to the below snippet to display the CPDM option: E +CPDM - Personal Dataset Manager c) Add a entry to a TRANSlate function similar to the below snippet: 'NEW ENTRY' line can be added to invoke CPDM when menu option E is typed followed by the ENTER key )PROC &ZSEL = TRANS( TRUNC (&ZCMD,'.') 1,'CMD(xxxxx) NEWAPPL(ISR)' 6,'PGM(xxxxxx)' . . E,'CMD(%CPDM)' <-- NEW ENTRY . . ' ',' ' *,'?' ) )END d) After applying update, redisplay the modified selection menu. The new CPDM option should display. e) Select the new option and press ENTER. f) The Personal Dataset Manager (panel PEDXPANL) should display. Enjoy CPDM! ====================================================================== * IV. S o f t w a r e I n v e n t o r y L i s t | ====================================================================== - CPDM.V0R9M00.ASM . README Dummy member, this is intentional - CPDM.V0R9M00.CLIST . README Dummy member, this is intentional - CPDM.V0R9M00.CNTL . $INST00 Define Alias for HLQ CPDM . $INST01 Load CNTL data set from distribution tape (HET) . $INST02 Load other data sets from distribution tape (HET) . $INST03 Install TSO Parts . $INST04 Install GETMSG CP . $INST05 Install ISPF Parts . $INST40 Install Other programs . $RECVXMI Receive XMI SEQ to MVS PDSs via RECV370 . $UP0900 Upgrade to V0R9M00 from V0R9M00 . DSCLAIMR Disclaimer . PREREQS Required User-mods . README Documentation and Installation instructions - CPDM.V0R9M00.HELP . README Dummy member, this is intentional - CPDM.V0R9M00.ISPF . CPDM PDM CLIST Driver . CTUTOR ISPTUTOR-like CLIST for PDM help panels . EDX00 EDX00n Messages . EDX01 EDX01n Messages . C$CPDM CLIST to invoke CPDM CLIST from TSO . PEDXADD Add dataset panel . PEDXDELT Delete dataset panel . PEDXINFO Dataset Information panel . PEDXMODL Allocate dataset panel . PEDXPANL Dataset List panel . HEDXHELP HELP Tutorial panel . HEDXLINE HELP Tutorial Line Commands panel . HEDXLIST HELP Tutorial List Commands panel - CPDM.V0R9M00.MACLIB . README Dummy member, this is intentional - After downloading any other required software, consult provided documentation including any configuration steps (if applicable) for software and HELP file installation. $ - Denotes modified software component for THIS DISTRIBUTION relative to prior DISTRIBUTION # - Denotes new software component for THIS DISTRIBUTION relative to prior DISTRIBUTION .
Closing
As an add-on to ISPF v2.2, use CPDM in your TSO/ISPF development environment to maintain a list of frequently used data sets to conveniently and expeditiously issue common commands such as browse, edit, allocate or print on your MVS3.8J system.
Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues.
Thank You.
Version History
* * MM/DD/CCYY Version Name / Description * ---------- ------- ----------------------------------------------- * 11/24/2022 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * - EDX application from CBT047 by Jim Lane * contributed on December 1993 for use on * MVS/ESA 3.1.3, ISPF 3.5 and DFHSM. * https://cbttape.org/cbtdowns.htm * - Retrofitted for MVS 3.8J TSO and ISPF v2.2 * (product from Wally Mclaughlin) * - Initial prototyping and development * w ISPF 2.2 * *