CLIST, ISPF 2.x, MVS38J, TSO, Utility

DUNITD in MVS38J

DUNITD – Display UNIT NAMES Utility for MVS38J / ISPF v 2.x / Hercules
(current version 0.9.00  2025-06-01)

Overview

Displaying of UNIT NAMES and associated devices (CUUs) can be accomplished by using the TSO CP, UNITS, installed in MVS 3.8J TK3, TK4- and TK5 distributions.

Originally, UNITS installed on TK3 as a load member into SYS2.CMDLIB from tape (tsoutils.het) via JOB SG0310 – Install TSO Utilities. From my review, it appears TK4- used the same approach as TK3.

TK5 already includes UNITS, as well. However, TK5, has a source member specifically for TK5 in PDS TK5.ASM with asm/link JCL in TK5.CNTL!

Lastly, UNITS can be found on several CBT tapes. The version that operates under MVS 3.8J (MVS/370) is from CBT file 300 originally authored by Bill Godfrey.

UNITS sources and joins data from two system generated tables during MVS 3.8J CP (Control Program) Configuration, DEVNAMET and DEVMASKT where:
– DEVNAMET is a list of UNIT NAMES and UNIT MASKS
– DEVMASKT is a list of UNIT MASKS and associated devices (i.e. CUUs).

UNITS displays results on terminal 3270 screen. The ENTER key is used to continue subsequent displays until the entire list of DEVICE NAMES is exhausted (repeats the display output cycle).

Below is a snippet of the first screen output:


 3350     3050200B 140 141 142 143 144 145 146 147
                   148 149 14A 14B 14C 14D 14E 14F
                   240 241 242 243 244 245 246 247
                   248 249 24A 24B 24C 24D 24E 24F
                   340 341 342 343 344 345 346 347
                   348 349 34A 34B 34C 34D 34E 34F
 3330     30502009 150 151 152 153 154 155 156 157
                   158 159 15A 15B 15C 15D 15E 15F
                   250 251 252 253 254 255 256 257
                   258 259 25A 25B 25C 25D 25E 25F
                   350 351 352 353 354 355 356 357
                   358 359 35A 35B 35C 35D 35E 35F
 3340     3040200A 160 161 162 163 164 165 166 167
                   168 169 16A 16B 16C 16D 16E 16F
                   260 261 262 263 264 265 266 267
                   268 269 26A 26B 26C 26D 26E 26F
                   360 361 362 363 364 365 366 367
                   368 369 36A 36B 36C 36D 36E 36F
 2314     30C02008 130 131 132 133 134 135 136 137
                   138 139 13A 13B 13C 13D 13E 13F
                   230 231 232 233 234 235 236 237
                   238 239 23A 23B 23C 23D 23E 23F
                   330 331 332 333 334 335 336 337
                   338 339 33A 33B 33C 33D 33E 33F
 3400-6   32108003 480 481 482 483 484 485 486 487
 3211     10800809 002 003                        
 ***                                              

CUNITS

A new CLIST, part of DUNITD, integrates UNITS into a CLIST that executes UNITS under TSO or TSO/ISPF.

If ISPF is not available, UNITS executes in native TSO form displaying results on terminal screen.

If ISPF is available, and since UNITS uses PUTLINE, the screen output is captured via SYSOUTTRAP and manipulated under CLIST control. 

CUNITS traps all output from UNITS storing all output lines in CLIST variables.  Upon completion, an ISPF table is created from the stored output lines and displayed in a tabular format with scrolling capabilities (using PF7/PF8) facilitating convenient passive review of UNITS output!

Below is a snippet of CUNITS ISPF screen output:

 -------------------------  UNIT and DEVICE Table Info  -------    Row 1 of 185
 COMMAND ===>                                                  SCROLL ===> CSR  
                                                                                
 UNITNAME MASK     CUUs       
 3350     3050200B 140 141 142 143 144 145 146 147                              
                   148 149 14A 14B 14C 14D 14E 14F                              
                   240 241 242 243 244 245 246 247                              
                   248 249 24A 24B 24C 24D 24E 24F                              
                   340 341 342 343 344 345 346 347                              
                   348 349 34A 34B 34C 34D 34E 34F                              
 3330     30502009 150 151 152 153 154 155 156 157                              
                   158 159 15A 15B 15C 15D 15E 15F                              
                   250 251 252 253 254 255 256 257                              
                   258 259 25A 25B 25C 25D 25E 25F                              
                   350 351 352 353 354 355 356 357                              
                   358 359 35A 35B 35C 35D 35E 35F                              
 3340     3040200A 160 161 162 163 164 165 166 167                              
                   168 169 16A 16B 16C 16D 16E 16F                              
                   260 261 262 263 264 265 266 267                              
                   268 269 26A 26B 26C 26D 26E 26F                              
                   360 361 362 363 364 365 366 367                              
                   368 369 36A 36B 36C 36D 36E 36F                              
 2314     30C02008 130 131 132 133 134 135 136 137                              
                   138 139 13A 13B 13C 13D 13E 13F                              
                   230 231 232 233 234 235 236 237                              
                   238 239 23A 23B 23C 23D 23E 23F                              
                   330 331 332 333 334 335 336 337                              

CUNITS help screen follows which includes a functional description:

 --HELP-------------------  UNIT and DEVICE Table Info  ------------------HELP--
 COMMAND ===>  

 CUNITS executes TSO CP UNITS which displays unit names and associated CUUs     
 from DEVNAMET and DEVMASKT MVS 3.8J system IO generate process.                
                                                                                
 If ISPF is available, results from UNITS are captured and displayed in a       
 tabular format with scrolling functionality using ISPF table services.         
                                                                                
 If ISPF is not available, results from UNITS are displayed on terminal display 
 under TSO control.                                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Use command MYTUTOR to initiate tutorial session.                              
                                                                                
                                                                                

DUNITD

DUNITD is an ISPF dialogue (similar to CUNITS) that includes additional UCB data to enrich device status (i.e. VOLSER) information using a tabular screen display format.

DUNITD table navigation is based on TSO CP, UNITS, originally authored by Bill Godfrey.

On initial entry, list of UNIT NAMES (DEVNAME is displayed with associated device mask (MASK)) as shown in the below snippet:

 mm/dd/ccyy.jj hh:mm:ss  ----  Unit Name Display  ------------------------------
 COMMAND ===>                                                   SCROLL ===> CSR 
                                                                                
                                                             LARRY01    PDUNIT0 
 Request: /UNITS    Unit Names only                          Sorted by: ROW     
 PF3-End   PF7-Up   PF8-Down    UNITS                        Select: - S U /    
 S DEVNAME  MASK                                                                
   3350     3050200B                                                            
   3330     30502009                                                            
   3340     3040200A                                                            
   2314     30C02008                                                            
   3400-6   32108003                                                            
   3211     10800809                                                            
   1403     10000808                                                            
   2540     10000801                                                            
   2540-2   10000802                                                            
   3215     10000823                                                            
   3277-2   12001009                                                            
   CTC      00004100                                                            
   3380     3010200E                                                            
   3390     3010200F                                                            
   3375     3010200C                                                            
   2400-3   34008001                                                            
   3400-3   34008003                                                            
   3400-5   32008003                                                            
   TAPE     00018000                                                            
   SYSDA    00022000                                                            





 --HELP-------------------  UNIT and DEVICE Table Info  ------------------HELP--
 COMMAND ===>  

 CUNITS executes TSO CP UNITS which displays unit names and associated CUUs     
 from DEVNAMET and DEVMASKT MVS 3.8J system IO generate process.                
                                                                                
 If ISPF is available, results from UNITS are captured and displayed in a       
 tabular format with scrolling functionality using ISPF table services.         
                                                                                
 If ISPF is not available, results from UNITS are displayed on terminal display 
 under TSO control.                                                             
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
 Use command MYTUTOR to initiate tutorial session.                              
                                                                                
                                                                                

Use the slash ( / ) selection code on the 3350 line above to expand the various devices defined to DEVENAME 3350. Below is screen snippet showing results:

 mm/dd/ccyy.jj hh:mm:ss  ----  Unit Name Display  ----------         Row 1 of 48
 COMMAND ===>                                                   SCROLL ===> CSR 
                                                                                
                                                             LARRY01    PDUNIT0 
 Request: /3350     CUUs for UNIT=3350                       Sorted by: ROW     
 PF3-End   PF7-Up   PF8-Down    UNITS                        Select: - S U /    
 S DEVNAME  MASK                                                                
   3350     3050200B 140  DASD WORK00 .........                                                            
   3350     3050200B 141  DASD        .........
   3350     3050200B 142  DASD        .........
   3350     3050200B 143  DASD        .........
   3350     3050200B 144  DASD        .........
   3350     3050200B 145  DASD        .........
   3350     3050200B 146  DASD        .........
   3350     3050200B 147  DASD        .........
   3350     3050200B 148  DASD MVSRES .........
   3350     3050200B 149  DASD SMP001 .........
   3350     3050200B 14A  DASD SMP002 .........
   3350     3050200B 14B  DASD SMP003 .........
   3350     3050200B 14C  DASD SMP004 .........
   3350     3050200B 14D  DASD        .........
   3350     3050200B 14E  DASD        .........
   3350     3050200B 14F  DASD        .........
   3350     3050200B 240  DASD PUB000 .........
   3350     3050200B 241  DASD CBT000 .........
   3350     3050200B 242  DASD CBT001 .........
   3350     3050200B 243  DASD CBT002 .........                                                            

Below is a HELP screen snippet summarizing commands and selection codes usage:

 --HELP-----------------------  Unit Name Display  -----------------------HELP--
 COMMAND ===>  

 DUNITD displays unit names and associated devices (CUU) with other related     
 UCB (Unit Control Block) information:                                          
 ¦ Col - Description...    ¦ Col - Description...     ¦ Col - Description...   ¦
 ¦ DEV - Device Unit Name  ¦ MAS - Device Mask        ¦ CUU - Unit Address     ¦
 ¦ TYP - Device Type       ¦ VOL - Volume Serial No   ¦ BPI - Tape Density     ¦
 -------------------------------------------------------------------------------
                                                                                
 Data can be filtered or sorted with below commands (Cmd):                      
 ¦ Cmd        - Action......                                                   ¦
 ¦ / or BLANK - List all Unit Names and CUUs                                   ¦
 ¦ /UNITS     - List Unit Names only                                           ¦
 ¦ /xxxxxxxx  - List CUUs for UNIT=xxxxxxxx                                    ¦
 ¦ SORT Col   - Sort by Col   preceed Col with minus sign for descending sort  ¦
 -------------------------------------------------------------------------------
 xxxxxxxx represents full name of DEV ( Device Unit Name ).                     
 Use S in the S column to invoke DVTOC  for VOLSER  (DVTOC  must be installed). 
 Use U in the S column to invoke DUMAPD for CUU     (DUMAPD must be installed). 
 Use / in the S column to list CUUs for selected DEV ( Device Unit Name ).      
 Use command MYTUTOR to initiate tutorial session.                              

 

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.

If any, other components may be 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 DUNITD now for a demo!

Take DUNITD for a ‘test drive’ before downloading and installing onto your MVS38J system.

Point your TN3270 terminal emulator to access TK4- v8 system using:

  • URL: tk4_8_pub.belmontes.net
  • PORT: 3270  or  5000
  • TLS : Version 1.2 or higher

— or —

Point your TN3270 terminal emulator to access TK5 system using:

  • URL: tk5_pub.belmontes.net
  • PORT: 3270  or  5050
  • TLS : Version 1.2 or higher

Note: If connection is idle for about 10 minutes, connection will be closed!

Once connected, log on using any TK4- or TK5 default user ids and passcodes.

On TK4- v8, select option I (I for ISPF) from the TSO Applications Menu to display ISPF Main Menu.
Note, option I is not listed on the menu – this is intentional.

On TK5, the ISPF Main Menu displays.

Once connected, log on using any TK4- or TK5 default user ids and passcodes.

On TK4- v8, select option I (I for ISPF) from the TSO Applications Menu to display ISPF Main Menu.
Note, option I is not listed on the menu – this is intentional.

On TK5, the ISPF Main Menu displays.

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 L in the command field (OPTION ==>) and press ENTER to display the ShareABitOfIT Software Demo Menu.

Type DUNITD in the command field (OPTION ==>) and press ENTER.

Use PF1 to display help panel.

Use PF3 to end.

Use PF3 to exit from ISPF and TSO Applications Menu returning to the TSO READY prompt.

Log off TSO.

Terminate 3270 session.

Installing Software

After downloading the ZIP file, the approach for this installation procedure is to transfer the distribution content file (HET or XMI) from your personal computing device to MVS.

When the transfer completes, associated load JCL (HET, RECV370 or TSO RECEIVE) can also be transferred to MVS to load the distribution software.

Alternatively, the load JCL may be submitted from your device if a TCP/IP socket reader is setup on you device hosting Hercules / MVS 3.8J.

Continue the installation procedure using supplied JCL from the MVS CNTL data set under TSO per the readme.txt instructions.

The below README file includes a ZIP file content list, pre-installation requirements (notes, credits) and installation steps.


DUNITD for MVS 3.8J / Hercules                                              . 
==============================                                              .
                                                                           .

Date: 06/01/2025  Release V0R9M00  **INITIAL software distribution

*  Author:  Larry Belmontes Jr.
*           https://ShareABitofIT.net/DUNITD-in-MVS38J
*           Copyright (C) 2025  Larry Belmontes, Jr.


----------------------------------------------------------------------
|    DUNITD       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



----------------------------------------------------------------------
|    DUNITD       C h a n g e   H i s t o r y                        |
----------------------------------------------------------------------
*
*  MM/DD/CCYY Version  Change Description
*  ---------- -------  -----------------------------------------------
*  06/01/2025 0.9.00   Larry Belmontes Jr.
*                      - Initial version released to MVS 3.8J
*                        hobbyist public domain
*
*
======================================================================
* I. C o n t e n t   o f   Z I P   F i l e                           |
======================================================================

o  $INST00.JCL          Define Alias for HLQ in Master Catalog

o  $INST01.JCL          Load CNTL data set from distribution tape

o  $RECVXMI.JCL         RECV370 Receive XMI SEQ to MVS PDSs

o  $RECVTSO.JCL         TSO Receive XMI SEQ to MVS PDSs

o  DUNITD.V0M9R00.HET   Hercules Emulated Tape (HET) multi-file volume
   volser=VS0900        containing software distribution library.

o  DUNITD.V0M9R00.XMI   XMIT file containing software distribution library.

o  DSCLAIMR.TXT         Disclaimer

o  PREREQS.TXT          Required user-mods

o  README.TXT           This File
   Note: See application web page for any updates to readme.txt


Note:   ISPF v2.1+ (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:   Generic message(s) ISRZ00x are used for error message posting
-----   by this software and must be installed as a pre-requisite.
        More information including current version download link at:
        
ISRZ00 in MVS38J
Note: SHRABIT.MACLIB is macro library required to assemble/compile this ----- software. A version as-of this distribution is included for installation as a pre-requisite. More information including current version download link at:
SHRABIT.MACLIB in MVS 3.8J
Note: CLOGIT is an ISPF add-on that performs transaction logging ----- and must be installed as a pre-requisite. Current version can be downloaded and more information at:
CLGLST in MVS38J
Note: LBTUTOR is an ISPF add-on that performs tutorial dialogs ----- and is OPTIONAL for this install if LBTUTOR will not be used. Current version can be downloaded and more information at:
LBTUTOR in MVS38J
Note: DUMAPD is an ISPF add-on that displays UCB information from ----- MVS 3.8J. OPTIONAL for this install if DUMAPD will not be used. Typically, DUMAPD is invoked as a selection option. Current version can be downloaded and more information at:
DUMAPD in MVS38J
====================================================================== * 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 name for HLQ aliases. o The Master Catalog password may be required for some installation steps. o If loading via tape files, device 480 is utilized. o DATASET List after distribution library load for reference purposes: DATA-SET-NAME------------------------------- VOLUME ALTRK USTRK ORG FRMT % XT SHRABIT.DUNITD.V0M9R00.ASM LARB03 20 5 PO FB 25 1 SHRABIT.DUNITD.V0M9R00.CLIST LARB03 2 1 PO FB 50 1 SHRABIT.DUNITD.V0M9R00.CNTL LARB03 20 5 PO FB 25 1 SHRABIT.DUNITD.V0M9R00.HELP LARB03 2 1 PO FB 50 1 SHRABIT.DUNITD.V0M9R00.ISPF LARB03 10 6 PO FB 60 1 SHRABIT.DUNITD.V0M9R00.MACLIB LARB03 10 3 PO FB 30 1 **END** TOTALS: 64 TRKS ALLOC 21 TRKS USED 6 EXTENTS Confirm the TOTAL track allocation is available on your device. Note: A different DASD device type (e.g. 3380) may yield different usage. 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. o JCL from your local device (after unzip) may be edited using Notepad or nano (based on you host OS) and submitted via TCP/IP sockets reader if your system configuration supports this option. This option can replace some copy-paste tasks during installation. For more information on submitting JCL to MVS 3.8J, see
Submitting JCL to MVS 3.8J
o For more information on SHRABIT software distribution library, see
SHRABIT Distributions for MVS38J
o For more information on SHRABIT software installation, see
SHRABIT Installations for MVS38J
====================================================================== * III. I n s t a l l a t i o n S t e p s | ====================================================================== +--------------------------------------------------------------------+ | Step 1. Determine software installation source | +--------------------------------------------------------------------+ | HET or XMI ? | +--------------------------------------------------------------------+ a) Software can be installed from one of two sources, HET or XMI. - For tape installation (HET), proceed to STEP 3. **** or - For XMIT installation (XMI), proceed to next STEP. +--------------------------------------------------------------------+ | Step 2. Load distribution source from XMI file | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.DUNITD.V0M9R00.CNTL($RECVXMI) | | JCL Member: SHRABIT.DUNITD.V0M9R00.CNTL($RECVTSO) | +--------------------------------------------------------------------+ ______________________________________________________________________ //RECV000A JOB (SYS),'Receive DUNITD 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 * //* * using RECV370 * //* -------------------------------------------------------* //RECV PROC HLQ='SHRABIT.DUNITD',VRM=V0R9M00,TYP=XXXXXXXX, // DSPACE='(TRK,(10,05,40))',DDISP='(,CATLG,DELETE)', // DUNIT=DISK,DVOLSER=LARB03 <-- Review and Modify //* //RECV370 EXEC PGM=RECV370 //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 //* //* -------------------------------------------------------* //* Ensure parent HLQ alias is declared //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* //* //* -------------------------------------------------------* //* RECV370 DUNITD Software Distribution //* -------------------------------------------------------* //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 //* //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,(02,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,(02,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,(10,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,(10,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,(05,02,02)), // DISP=&DDISP // ______________________________________________________________________ Figure 1a: $RECVXMI.JCL ______________________________________________________________________ //RECV000B JOB (SYS),'TSO RECEIVE XMI', <-- Review and Modify // CLASS=A,MSGCLASS=X,REGION=0M, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * JOB: $RECVTSO TSO RECEIVE APPLICATION XMI FILES * //* * for DUNITD software distribution * //* -------------------------------------------------------* //* //* This JOB executes two steps: //* //* 1) IDCAMS to ensure parent HLQ alias (SHRABIT) is //* defined on master catalog //* Note: Alias definition bypassed if alias already //* ----- defined. //* //* 2) Executes TSO in BATCH mode and issues //* TSO RECEIVE commands to load the XMI distribution //* library (an XMI SEQ dataset) to a temporary PDS. //* Each software PDS is loaded from before deleting //* temporary PDS. //* //* //* This JCL may be modified to suit your installation //* needs. //* //* The TSO RECEIVE commands use INdataset, DAtaset, VOL, //* and NOPRompt parms. //* //* //* -------------------------------------------------------* //* * * //* * PROC: PBTSO * //* * Batch TSO * //* * * //* -------------------------------------------------------* //PBTSO PROC //STEP01 EXEC PGM=IKJEFT01 //SYSPROC DD DISP=SHR,DSN=SYS2.CMDPROC //*STEPLIB DD DISP=SHR,DSN=SYS2.LINKLIB //SYSPRINT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSTSIN DD DUMMY Command Line Input //* // PEND //* //* -------------------------------------------------------* //* Ensure parent HLQ alias is declared //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* //* //* -------------------------------------------------------* //* TSO RECEIVE DUNITD Software Distribution //* -------------------------------------------------------* //TSORCV EXEC PBTSO //* -------------------------------------------------------* //* Review and Modify the DSN of the transferred XMI <----- //* used in the TSO RECEIVE SYSTSIN DD. <----- //* -------------------------------------------------------* //STEP01.SYSTSIN DD * /* Modify 'SHRABIT.' with your parent HLQ, if different */ /* Modify 'your.transfer.xmi' with transferred XMI SEQ DSN */ /* Modify 'volser' with VOLSER on your system */ RECEIVE IN('your.transfer.xmi') - DA('SHRABIT.DUNITD.V0R9M00.XMIPDS') - VOL(volser) NOPROMPT /* Receive CNTL */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(CNTL)') - DA('SHRABIT.DUNITD.V0R9M00.CNTL') - VOL(volser) NOPROMPT /* Receive HELP */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(HELP)') - DA('SHRABIT.DUNITD.V0R9M00.HELP') - VOL(volser) NOPROMPT /* Receive CLIST */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(CLIST)') - DA('SHRABIT.DUNITD.V0R9M00.CLIST') - VOL(volser) NOPROMPT /* Receive ISPF */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(ISPF)') - DA('SHRABIT.DUNITD.V0R9M00.ISPF') - VOL(volser) NOPROMPT /* Receive ASM */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(ASM)') - DA('SHRABIT.DUNITD.V0R9M00.ASM') - VOL(volser) NOPROMPT /* Receive MACLIB */ RECEIVE IN('SHRABIT.DUNITD.V0R9M00.XMIPDS(MACLIB)') - DA('SHRABIT.DUNITD.V0R9M00.MACLIB') - VOL(volser) NOPROMPT /* Delete XMIPDS */ DELETE 'SHRABIT.DUNITD.V0R9M00.XMIPDS' /* // ______________________________________________________________________ Figure 1b: $RECVTSO.JCL a) Transfer DUNITD.V0M9R00.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 - or - 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) If using RECV370 to load XMI, Copy and paste the $RECVXMI JCL to a PDS member, update JOB statement to conform to your installation standard. - or - If using TSO RECEIVE to load XMI, Copy and paste the $RECVTSO JCL to a PDS member, update JOB statement to conform to your installation standard. c) The first step ensures the HLQ alias is defined and the subsequent steps perform the XMI load. 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: SHRABIT.DUNITD.V0M9R00.ASM SHRABIT.DUNITD.V0M9R00.CLIST SHRABIT.DUNITD.V0M9R00.CNTL SHRABIT.DUNITD.V0M9R00.HELP SHRABIT.DUNITD.V0M9R00.ISPF SHRABIT.DUNITD.V0M9R00.MACLIB f) Subsequent installation steps will be submitted from members contained in the CNTL data set. g) Proceed to STEP 6. **** +--------------------------------------------------------------------+ | Step 3. Define Alias for HLQ DUNITD in MVS User Catalog | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.DUNITD.V0M9R00.CNTL($INST00) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD0 JOB (SYS),'Def DUNITD Alias', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD for MVS3.8J TSO / Hercules * //* * JOB: $INST00 Define Alias for parent HLQ SHRABIT * //* * Note: The master catalog password may be required * //* -------------------------------------------------------* //DEFALIAS EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //SYSIN DD * PARM GRAPHICS(CHAIN(SN)) LISTCAT ALIAS ENT(SHRABIT) /* Review and Modify catalog name below */ IF LASTCC NE 0 THEN - DEFINE ALIAS(NAME(SHRABIT) RELATE(SYS1.UCAT.MVS)) /* // ______________________________________________________________________ Figure 2: $INST00 JCL Note: This distribution is installed under the HLQ alias SHRABIT. $INST00 bypasses the DEFINE ALIAS action when the alias is already defined. 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 4. Load CNTL data set from distribution tape | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.DUNITD.V0M9R00.CNTL($INST01) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD1 JOB (SYS),'Install CNTL PDS', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD for MVS3.8J TSO / Hercules * //* * JOB: $INST01 Load CNTL PDS from distribution tape * //* * Note: Uses tape drive 480 * //* -------------------------------------------------------* //LOADCNTL PROC THLQ=DUNITD,TVOLSER=VS0900, // HLQ='SHRABIT.DUNITD',VRM=V0R9M00, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD001 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCNTL DD DSN=&THLQ..&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\DUNITD.V0M9R00.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: SHRABIT.DUNITD.V0M9R00.CNTL($INST02) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD2 JOB (SYS),'Install Other PDSs', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD 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 THLQ=DUNITD,TVOLSER=VS0900, // HLQ='SHRABIT.DUNITD',VRM=V0R9M00, // DDISP='(,CATLG,DELETE)', // TUNIT=480,DVOLSER=PUB006,DUNIT=DISK <-- Review and Modify //LOAD02 EXEC PGM=IEBCOPY //SYSPRINT DD SYSOUT=* //INCLIST DD DSN=&THLQ..&VRM..CLIST.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(2,SL) //INHELP DD DSN=&THLQ..&VRM..HELP.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(3,SL) //INISPF DD DSN=&THLQ..&VRM..ISPF.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(4,SL) //INASM DD DSN=&THLQ..&VRM..ASM.TAPE,UNIT=&TUNIT, // VOL=SER=&TVOLSER,DISP=OLD,LABEL=(5,SL) //INMACLIB DD DSN=&THLQ..&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,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //HELP DD DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(02,02,02)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ISPF DD DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(10,05,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //ASM DD DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(10,10,10)), // DISP=&DDISP, // DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) //MACLIB DD DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER, // SPACE=(TRK,(05,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\DUNITD.V0M9R00.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: SHRABIT.DUNITD.V0M9R00.CNTL($UP0900) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD0U JOB (SYS),'Upgrade DUNITD', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD for MVS3.8J TSO / Hercules * //* * * //* * JOB: $UP0900 Upgrade DUNITD Software * //* * Upgrade to release V0R9M00 from VxRxMxx * //* * * //* * Review JCL before submitting!! * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * No upgrades for V0R9M00 * //* -------------------------------------------------------* //DUNITD EXEC PGM=IEFBR14 //* // ______________________________________________________________________ Figure 5: $UP0900.JCL Upgrade from previous version to V0M9R00 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 NOT the most recent ----- PREVIOUS version, perform a FULL install. 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. Note: $UPvrmm.JCL members exist in each software version. ----- For example, V1R3M00 software contains $UP1300.JCL to upgrade from previous V1R2M00 distribution. For example, V1R2M00 software contains $UP1200.JCL to upgrade from previous V1R1M00 distribution. 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: SHRABIT.DUNITD.V0M9R00.CNTL($INST03) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD3 JOB (SYS),'Install TSO Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD 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=SHRABIT.DUNITD.V0R9M00.CLIST,DISP=SHR //INHELP DD DSN=SHRABIT.DUNITD.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=CUNITS COPY INDD=((INHELP,R)),OUTDD=OUTHELP SELECT MEMBER=CUNITS /* // ______________________________________________________________________ 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 DUNITD Software | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.DUNITD.V0M9R00.CNTL($INST04) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD4 JOB (SYS),'Install DUNITD', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST04 Install DUNITD Programs * //* * * //* * - Install libraries marked... * //* * - Search for '<--TARGET' * //* * - Update install libraries per your * //* * installation standard * //* * * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * * //* * PROC: ASMLKED * //* * Assembler Link-Edit * //* * * //* -------------------------------------------------------* //ASML PROC HLQ=WHATHLQ,VRM=VXRXMXX,VIO=VIO, // SYSPRM='', // ASMPARM='NODECK,LOAD,RENT,TERM,XREF', // LNKPARM='MAP,LIST,LET,RENT,XREF', // MBR=WHOWHAT //* //ASM EXEC PGM=IFOX00, // PARM='&ASMPARM&SYSPRM' //SYSGO DD DSN=&&LOADSET,DISP=(MOD,PASS),SPACE=(CYL,(1,1)), // UNIT=&VIO,DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800) //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.AMODGEN,DISP=SHR // DD DSN=SYS2.MACLIB,DISP=SHR ** YREG ** // DD DDNAME=PVTMAC ** PVTMAC ** // DD DSN=&HLQ..&VRM..MACLIB,DISP=SHR * myMACLIB ** //PVTMAC DD DSN=SYS2.MACLIB,DISP=SHR * placeholder* //SYSTERM DD SYSOUT=* //SYSPRINT DD SYSOUT=* //SYSPUNCH DD DSN=NULLFILE //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT2 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSUT3 DD UNIT=&VIO,SPACE=(CYL,(6,1)) //SYSIN DD DSN=&HLQ..&VRM..ASM(&MBR),DISP=SHR <--INPUT //* //LKED EXEC PGM=IEWL, // PARM='&LNKPARM', // COND=(0,NE,ASM) //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSLMOD DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=&VIO,SPACE=(CYL,(5,2)) //SYSIN DD DUMMY //* // PEND //* //* -------------------------------------------------------* //* * Assemble Link-Edit DUNITD to ISPLLIB * //* -------------------------------------------------------* //DUNITD EXEC ASML,HLQ='SHRABIT.DUNITD',VRM=V0R9M00,MBR=DUNITD, // PARM.LKED='MAP,LIST,LET,RENT,XREF,REUS,REFR' //LKED.SYSLMOD DD DISP=SHR, // DSN=XXXXXXXX.ISPLLIB(&MBR) <--TARGET // ______________________________________________________________________ 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: SHRABIT.DUNITD.V0M9R00.CNTL($INST05) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNITD5 JOB (SYS),'Install ISPF Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD in 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='SHRABIT.DUNITD',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$DUNITD //ADDMLIB.SYSIN DD * MLIB COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT SELECT MEMBER=DUNT01 //ADDPLIB.SYSIN DD * PLIB COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT SELECT MEMBER=PUNITS SELECT MEMBER=HUNITS SELECT MEMBER=PDUNIT0 SELECT MEMBER=HDUNIT0 SELECT MEMBER=TDUNT001 SELECT MEMBER=TDUNT002 SELECT MEMBER=TDUNT003 SELECT MEMBER=TDUNT004 SELECT MEMBER=TDUNT005 SELECT MEMBER=TDUNT100 SELECT MEMBER=TDUNTA01 SELECT MEMBER=TDUNTA02 SELECT MEMBER=TDUNTA03 SELECT MEMBER=TDUNTB01 SELECT MEMBER=TDUNTC01 SELECT MEMBER=TDUNTC02 SELECT MEMBER=TDUNTC03 SELECT MEMBER=TDUNTC04 SELECT MEMBER=TDUNTC05 SELECT MEMBER=TDUNTC06 SELECT MEMBER=TDUNTZ01 SELECT MEMBER=TDUNTZ02 SELECT MEMBER=TDUNTZ80 //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: SHRABIT.DUNITD.V0M9R00.CNTL($INST40) | +--------------------------------------------------------------------+ ______________________________________________________________________ //DUNIT40 JOB (SYS),'Install Other Pgms', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * DUNITD 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 DUNITD | +--------------------------------------------------------------------+ a) From the ISPF Main Menu, enter the following command: TSO %C$DUNITD b) The panel PDUNIT0 is displayed. ________________________________________________________________________________ dd/mm/ccyy.jjj hh:mm:ss ---- Unit Name Display --- ROW 1 OF 54 COMMAND ===> SCROLL ===> CSR LARRY01 PDUNIT0 Request: /UNITS Unit Names only Sorted by: ROW PF3-End PF7-Up PF8-Down Select: - S U / S DEVNAME MASK 3350 3050200B 3330 30502009 3340 3040200A 2314 30C02008 3400-6 32108003 3211 10800809 1403 10000808 2540 10000801 2540-2 10000802 3215 10000823 3277-2 12001009 CTC 00004100 3380 3010200E 3390 3010200F 3375 3010200C 2400-3 34008001 3400-3 34008003 ________________________________________________________________________________ Figure 10: PDUNITD0 Unit Name Display Panel c) Scroll display using PF7 and PF8. d) Use PF1 to display HELP panel. e) Validation is complete. +--------------------------------------------------------------------+ | Step 12. Done | +--------------------------------------------------------------------+ a) Congratulations! You completed the installation for DUNITD. +--------------------------------------------------------------------+ | Step 13. Incorporate DUNITD into ISPF menu panel | +--------------------------------------------------------------------+ a) To integrate DUNITD into your ISPF system, refer to SHRABIT.DUNITD.V0M9R00.ASM(DUNITD) for suggested steps in the Overview section as a menu item or ISPF command. Enjoy DUNITD for ISPF 2.x on MVS 3.8J! ====================================================================== * IV. S o f t w a r e I n v e n t o r y L i s t | ====================================================================== - SHRABIT.DUNITD.V0M9R00.ASM # . DUNITD TSO CP Display Device Unit Names - SHRABIT.DUNITD.V0M9R00.CLIST # . CUNITS Display Device Unit Names CLIST (TSO or ISPF) - SHRABIT.DUNITD.V0M9R00.CNTL # . $INST00 Define Alias for HLQ # . $INST01 Load CNTL data set from distribution tape (HET) # . $INST02 Load other data sets from distribution tape (HET) # . $INST03 Install TSO Parts # . $INST04 Install DUNITD Software # . $INST05 Install ISPF Parts # . $INST40 Install Other Software # . $RECVTSO Receive XMI SEQ to MVS PDSs via TSO RECEIVE # . $RECVXMI Receive XMI SEQ to MVS PDSs via RECV370 # . $UP0900 Upgrade to V0M9R00 from VxRxMxx # . DSCLAIMR Disclaimer # . PREREQS Required User-mods # . README Documentation and Installation instructions - SHRABIT.DUNITD.V0M9R00.HELP # . CUNITS CUNITS Help member - SHRABIT.DUNITD.V0M9R00.ISPF # . C$DUNITD IVP CLIST for DUNITD # . DUNT01 DUNITD Messages # . HUNITS CUNITS Help panel # . PUNITS CUNITS Display panel # . HDUNITD0 Device Unit Names Help panel # . PDUNITD0 Device Unit Names Display panel DUNITD Tutorial Panels # . TDUNT100 Tutorial Panel Main Menu # . TDUNT001 Tutorial Panel Overview 1 # . TDUNT002 Tutorial Panel Overview 2 # . TDUNT003 Tutorial Panel Overview 3 # . TDUNT004 Tutorial Panel Overview 4 # . TDUNT005 Tutorial Panel Overview 5 # . TDUNTA01 Tutorial Panel Column Descriptions 1 # . TDUNTA02 Tutorial Panel Column Descriptions 2 # . TDUNTA03 Tutorial Panel Column Descriptions 3 # . TDUNTB01 Tutorial Panel Selection Code # . TDUNTC01 Tutorial Panel Optional Parameters 1 # . TDUNTC02 Tutorial Panel Optional Parameters 2 # . TDUNTC03 Tutorial Panel Optional Parameters 3 # . TDUNTC04 Tutorial Panel Optional Parameters 4 # . TDUNTC05 Tutorial Panel Optional Parameters 5 # . TDUNTC06 Tutorial Panel Optional Parameters 6 # . TDUNTZ01 Tutorial Panel Change Log and Limitations 1 # . TDUNTZ02 Tutorial Panel Change Log and Limitations 2 # . TDUNTZ80 Tutorial Panel Change Log and Limitations 3 - SHRABIT.DUNITD.V0M9R00.MACLIB . DVCTBL Device Table Entries . ISPFPL ISPF Parameter Address List (10) . ISPFSRV ISPF Service keywords . ISPFSRVC ISPF Service keywords (COBOL) . LA#ST Load Address and Store . LL#ST Load Length and Store . LBISPL Call to ISPLINK (LarryB version) . MISCDC Miscellaneous Constants (i.e. QUOTES) . MOVEC Move VAR at R6, len reflected in R8 (requires MOVEI) . MOVEI Init R6 w/ addr of VAR, init R8 to 0 . MOVER Move VAR at R6 until BLANK is found . MOVEV Move VAR at R6 . RDTECOMA DateTime comm area . RDTECOMC DateTime comm area (COBOL) . RTRIM Remove trailing spaces . SVC78A SVC78 message area - 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
  • Click here to download the ZIP file to your PC local drive.

Closing

Use DUNITD and/or CUNITS to list device names from TSO/ISPF on your MVS 3.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 regarding DFSPC.

Thank You.

Version History

*
*  MM/DD/CCYY Version  Name / Description                                       
*  ---------- -------  -----------------------------------------------          
*  06/01/2025 0.9.00   Larry Belmontes Jr.                                      
*                      - Initial version released to MVS 3.8J                   
*                        hobbyist public domain
*

 

 

Tagged , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *


CAPTCHA Image
Reload Image

This site uses Akismet to reduce spam. Learn how your comment data is processed.