Overview
ISPFAUTO – ISPF User AUTOEXEC Processing on MVS 3.8J TSO / ISPF / Hercules
(current version 0.9.01 2024-07-01)
When ISPF v2.2 (ISPF-like product from Wally Mclaughlin) is installed on MVS 3.8J, the command ISPF is used to start ISPF under TSO as listed in ISPF v2.2 installation documentation after all required ISPF resources (e.g. datasets) are allocated to the user TSO session.
When Personal Computers were introduced in the late 1970’s, whether TRS-80, IBM, AT&T, or any other brand of choice, DOS offered an auto-execute facility which invoked a batch file (script) named AUTOEXEC.BAT after completing hardware initialization / verification to set environment variables, load software and other initial-type processes before handing control to PC user (whether, user prompt or application).
ISPF v2.2 can be started by using various command syntax as referenced in SC34-2036 SPF Dialog Management Services manual.
- ISPF with no options starts your ISPF session using the default ISR@PRIM main menu panel
- ISPF cmd starts your ISPF session passing the cmd to the default ISR@PRIM main menu for select processing
- ISPF PANEL(panel) starts ISPF session using the specified panel as the primary main menu
- ISPF CMD(%CLIST) starts ISPF, executes the command procedure %CLIST, and returns to originating source (e.g. TSO)
In this post, an AUTOEXEC-like solution is presented for use with ISPF v2.2 (ISPF-like product from Wally Mclaughlin) under MVS 3.8J / TSO / Hercules.
AUTOEXEC processing is facilitated by using the command syntax, ISPF AUTOUSR, to initiate a ‘hidden’ selection command before displaying the ISPF primary main menu.
The ISPF primary main menu ZSEL TRANSlation code must be modified to launch CLIST AUTOEXEC from the ISPCLIB concatenation list.
An ’empty’ AUTOEXEC member must exist in a PDS below the users (userid) CLIB concatenation order should a user elect not to use AUTOEXEC processing.
A user can define any TSO / ISPF commands in the AUTOEXEC member in their user-id CLIB library to execute when initially signing on to ISPF similar to MS-DOC AUTOEXEC.BAT processing!
This solution satisfies my needs and excited to share with the MVS 3.8J community as another add-on application.
Thanks!!
Larry Belmontes
Sample Transformation of ISPF Start-up
On MVS 3.8J, a JCL/Procedure member includes a command line to start ISPF under TSO as illustrated below. Residence of this member will vary across MVS 3.8J installations. Most likely, this member resides in a SYS2 PDS (i.e. SYS2.CMDPROC).
The below exhibits a sample representation of ISPF start-up.
. . /*******************************************************/ /* Start ISPF per ISPF v2.2 Installation Documentation */ /*******************************************************/ ISPF . . .
The ISPF start-up command is extended by appending an “autoexec” command, AUTOUSR, to be processed by the ISPF Primary Options Menu. The revised command is illustrated below:
. . /*******************************************************/ /* Start user ISPF session with initial command */ /* AUTOUSR to be processed by ISP@PRIM to launch */ /* AUTOEXEC CLIST */ /*******************************************************/ ISPF AUTOUSR . .
At this point, modifications to the ISPF start-up JCL/Procedure are complete!
Next, define user CLIST, AUTOEXEC.
User AUTOEXEC Processing (AUTOEXEC)
Storing an AUTOEXEC member in your user-id CLIB library is utilized to auto-execute personalized tasks.
This is assuming the current ISPF installation hierarchy configuration supports user-id CLIB libraries. For more information on planning of ISPF installation on MVS 3.8J, click here.
The below sample of a user AUTOEXEC member shows temporary commands executed at user ISPF session start-up to display a customized greeting.
1 10 20 30 40 50 60 70 80
+---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+
/*------------------------------------------------------------------*/
/* Place ISPF User AUTOEXEC commands after here... */
/*------------------------------------------------------------------*/
SET CURTIME = &STR(&SYSTIME)
IF &SUBSTR(1:2,&CURTIME) GE &STR(18) THEN -
WRITE WORKING LATE, JOHN? HAVE YOU HAD DINNER? DON'T WORK TOO LATE.
ELSE -
IF &SUBSTR(1:2,&CURTIME) GE &STR(12) THEN -
WRITE GOOD AFTERNOON, GETTING CLOSE TO QUITTING TIME!!!
ELSE -
WRITE GOOD MORNING! ENJOY YOUR COFFEE, &SYSUID.!
/*------------------------------------------------------------------*/
/* Place ISPF User AUTOEXEC commands before here... */
/*------------------------------------------------------------------*/
Next, define a default CLIST, AUTOEXEC.
Default AUTOEXEC Processing (AUTOEXEC)
Storing an AUTOEXEC member in a system CLIB library (not the ISPF root library) allows for resolution should one not exist for a user-id signing on to ISPF.
The default AUTOEXEC displays a basic welcome greeting on the users terminal screen. Of course, this content of this member can be altered to your installation needs.
Next, modify ISPF Primary Main menu.
Launch AUTOEXEC from Primary Main Menu
To facilitate AUTOEXEC launch when user initially logs into ISPF, the ISPF Primary main menu requires modification to detect select command AUTOUSR and launch CLIST, AUTOEXEC.
Below is a snippet of ISP@PRIM Primary main menu )PROC section with addition of a TRANSlate value-pair statement.
ISP.SYSCOM.ISPPLIB(ISP@PRIM) - 01.00 -------------------------- Line 1 Col 1 80 Command ===> Scroll ===> CSR 1 10 20 30 40 50 60 70 80 +---+----+----+----+----+----+----+----+----+----+----+----+----+----+----+----+ &ZTRAIL = .TRAIL &ZSEL = TRANS(TRUNC(&ZCMD,'.') AUTOUSR,'CMD(%AUTOEXEC)' /* AUTOEXEC */ 0,'PANEL(ISPOP0)' 1,'PANEL(ISPREVB) NEWAPPL(ISR)' 2,'PANEL(ISPREVE) NEWAPPL(ISR)' 3,'PANEL(ISPUTILS)' 4,'PANEL(ISRFPA)' 5,'PGM(ISRJB1) PARM(ISRJPA) NOCHECK' 6,'CMD(ISPOPT6)'
Done! All modifications to realize an ISPF AUTOEXEC scheme is complete.
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.
Installing ISPFAUTO Software
After downloading the ZIP file, the approach for this installation procedure is to transfer the distribution content from your personal computing device to MVS with minimal JCL and 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 (notes, credits) and installation steps.
The original authors software as well as the retrofitted version is included.
ISPFAUTO for MVS3.8J / Hercules . =============================== . Date: 07/01/2024 Release V0R9M01 01/31/2023 Release V0R9M00 **INITIAL software distribution * Author: Larry Belmontes Jr. * https://ShareABitOfIT.net/ISPFAUTO-in-MVS38J/ * Copyright (C) 2019-2024 Larry Belmontes, Jr. ---------------------------------------------------------------------- | ISPFAUTO 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. Good luck and enjoy this software as added value to MVS 3.8J! -Larry Belmontes ---------------------------------------------------------------------- | ISPFAUTO C h a n g e H i s t o r y | ---------------------------------------------------------------------- * * MM/DD/CCYY Version Change Description * ---------- ------- ----------------------------------------------- * 07/01/2024 0.9.01 Larry Belmontes Jr. * - Use software HLQ of SHRABIT * - Add WRITE statements in PROCS for visual * purposes * - Upgrade validation steps * * 01/31/2023 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * 03/26/2019 0.5.00 Larry Belmontes Jr. * Initial prototyping and development * w ISPF 2.0 * * ====================================================================== * 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 ISPFAUTO.V0R9M01.HET Hercules Emulated Tape (HET) multi-file volume volser=VS0901 containing software distribution library. o ISPFAUTO.V0R9M01.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.2+ (ISPF-like product from Wally Mclaughlin) must be ----- installed under MVS 3.8J TSO including associated user-mods per ISPF Installation Pre-reqs. ====================================================================== * 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.ISPFAUTO.V0R9M01.ASM PUB006 5 1 PO FB 20 1 SHRABIT.ISPFAUTO.V0R9M01.CLIST PUB006 5 1 PO FB 20 1 SHRABIT.ISPFAUTO.V0R9M01.CNTL PUB006 20 4 PO FB 20 1 SHRABIT.ISPFAUTO.V0R9M01.HELP PUB006 4 1 PO FB 25 1 SHRABIT.ISPFAUTO.V0R9M01.ISPF PUB006 5 1 PO FB 20 1 SHRABIT.ISPFAUTO.V0R9M01.MACLIB PUB006 2 1 PO FB 50 1 **END** TOTALS: 41 TRKS ALLOC 9 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 you 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, seeSubmitting JCL to MVS 3.8Jo For more information on SHRABIT software distribution library, seeSHRABIT Distributions for MVS38Jo For more information on SHRABIT software installation, seeSHRABIT 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.ISPFAUTO.V0R9M01.CNTL($RECVXMI) | | JCL Member: SHRABIT.ISPFAUTO.V0R9M01.CNTL($RECVTSO) | +--------------------------------------------------------------------+ ______________________________________________________________________ //RECV000A JOB (SYS),'Receive ISPFAUTO 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.ISPFAUTO',VRM=V0R9M01,TYP=XXXXXXXX, // DSPACE='(TRK,(10,05,40))',DDISP='(,CATLG,DELETE)', // DUNIT=DISK,DVOLSER=PUB006 <-- 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 DVTOC 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,(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,(05,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,(05,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 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 ISPFAUTO 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 ISPFAUTO 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.ISPFAUTO.V0R9M01.XMIPDS') - VOL(volser) NOPROMPT /* Receive CNTL */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(CNTL)') - DA('SHRABIT.ISPFAUTO.V0R9M01.CNTL') - VOL(volser) NOPROMPT /* Receive HELP */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(HELP)') - DA('SHRABIT.ISPFAUTO.V0R9M01.HELP') - VOL(volser) NOPROMPT /* Receive CLIST */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(CLIST)') - DA('SHRABIT.ISPFAUTO.V0R9M01.CLIST') - VOL(volser) NOPROMPT /* Receive ISPF */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(ISPF)') - DA('SHRABIT.ISPFAUTO.V0R9M01.ISPF') - VOL(volser) NOPROMPT /* Receive ASM */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(ASM)') - DA('SHRABIT.ISPFAUTO.V0R9M01.ASM') - VOL(volser) NOPROMPT /* Receive MACLIB */ RECEIVE IN('SHRABIT.ISPFAUTO.V0R9M01.XMIPDS(MACLIB)') - DA('SHRABIT.ISPFAUTO.V0R9M01.MACLIB') - VOL(volser) NOPROMPT /* Delete XMIPDS */ DELETE 'SHRABIT.ISPFAUTO.V0R9M01.XMIPDS' /* // ______________________________________________________________________ Figure 1b: $RECVTSO.JCL a) Transfer ISPFAUTO.V0R9M01.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.ISPFAUTO.V0R9M01.ASM SHRABIT.ISPFAUTO.V0R9M01.CLIST SHRABIT.ISPFAUTO.V0R9M01.CNTL SHRABIT.ISPFAUTO.V0R9M01.HELP SHRABIT.ISPFAUTO.V0R9M01.ISPF SHRABIT.ISPFAUTO.V0R9M01.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 SHRABIT in MVS User Catalog | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.ISPFAUTO.V0R9M01.CNTL($INST00) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT0 JOB (SYS),'Def ISPFAUTO Alias', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO 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.ISPFAUTO.V0R9M01.CNTL($INST01) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT1 JOB (SYS),'Install CNTL PDS', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO for MVS3.8J TSO / Hercules * //* * JOB: $INST01 Load CNTL PDS from distribution tape * //* * Note: Uses tape drive 480 * //* -------------------------------------------------------* //LOADCNTL PROC THLQ=ISPFAUTO,TVOLSER=VS0901, // HLQ='SHRABIT.ISPFAUTO',VRM=V0R9M01, // 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\ISPFAUTO.V0R9M01.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.ISPFAUTO.V0R9M01.CNTL($INST02) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT2 JOB (SYS),'Install Other PDSs', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO 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=ISPFAUTO,TVOLSER=VS0901, // HLQ='SHRABIT.ISPFAUTO',VRM=V0R9M01, // 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,(05,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,(05,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\ISPFAUTO.V0R9M01.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.ISPFAUTO.V0R9M01.CNTL($UP0901) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUTU JOB (SYS),'Upgrade ISPFAUTO', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO for MVS3.8J TSO / Hercules * //* * * //* * JOB: $UP0900 Upgrade ISPFAUTO Software * //* * Upgrade to release V0R9M01 from VxRxMxx * //* * * //* * Review JCL before submitting!! * //* -------------------------------------------------------* //* //* -------------------------------------------------------* //* * * //* * 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 Updates * //* -------------------------------------------------------* //ISPF EXEC PARTSI,HLQ='SHRABIT.ISPFAUTO',VRM=V0R9M01, // 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=((AUTOEXCD,AUTOEXEC)) /*default AUTOEXEC */ //ADDMLIB.SYSIN DD * MLIB COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //ADDPLIB.SYSIN DD * PLIB COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //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 5: $UP0901.JCL Upgrade from previous version to V0R9M01 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: - Upgrading from V0R9M00, use $UP0901.JCL - 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.ISPFAUTO.V0R9M01.CNTL($INST03) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT3 JOB (SYS),'Install TSO Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO 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.ISPFAUTO.V0R9M01.CLIST,DISP=SHR //INHELP DD DSN=SHRABIT.ISPFAUTO.V0R9M01.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 ISPFAUTO Software | +--------------------------------------------------------------------+ | JCL Member: SHRABIT.ISPFAUTO.V0R9M01.CNTL($INST04) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT4 JOB (SYS),'Install ISPFAUTO', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO for MVS3.8J TSO / Hercules * //* * * //* * JOB: $INST04 Install ISPFAUTO 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: SHRABIT.ISPFAUTO.V0R9M01.CNTL($INST05) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAUT5 JOB (SYS),'Install ISPF Parts', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO 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='SHRABIT.ISPFAUTO',VRM=V0R9M01, // 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=((AUTOEXCD,AUTOEXEC)) /*default AUTOEXEC */ //ADDMLIB.SYSIN DD * MLIB COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //ADDPLIB.SYSIN DD * PLIB COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT SELECT MEMBER=NO#MBR# /*dummy entry no mbrs! */ //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.ISPFAUTO.V0R9M01.CNTL($INST40) | +--------------------------------------------------------------------+ ______________________________________________________________________ //ISPFAU40 JOB (SYS),'Install Other SWR', <-- Review and Modify // CLASS=A,MSGCLASS=X, <-- Review and Modify // MSGLEVEL=(1,1),NOTIFY=&SYSUID <-- Review and Modify //* -------------------------------------------------------* //* * ISPFAUTO 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 ISPFAUTO AUTOEXEC | +--------------------------------------------------------------------+ a) From the ISPF Main Menu, enter the following command: TSO %AUTOEXEC IVP b) Press ENTER. c) The expected response from AUTOEXEC is: GOOD EVENING, LARRY01! *** START IVP *** *** EXECUTED DEFAULT AUTOEXEC ***IVP MODE *** *** END IVP *** *** d) Validation of AUTOEXEC is complete. +--------------------------------------------------------------------+ | Step 12. Done | +--------------------------------------------------------------------+ a) Congratulations! After step 14, the remaining software will be validated. +--------------------------------------------------------------------+ | Step 13. Modify ISPF Primary Menu | +--------------------------------------------------------------------+ a) Skip to item b if ISP@PRIM is already in an application panel library. Otherwise, create a copy of ISP@PRIM in your application panel library instead of the ISPF system panel library to preserve the original system panel in addition to preserving your ISP@PRIM changes when upgrading your ISPF system with a new version. b) Edit ISP@PRIM in your application panel library. Add the 'NEW ENTRY' line as shown below to process AUTOUSR: )PROC section: &ZSEL = TRANS(TRUNC(&ZCMD,'.') AUTOUSR,'CMD(%AUTOEXEC)' <-- NEW ENTRY 0,'PANEL(ISPOP0)' 1,'PANEL(ISPREVB) NEWAPPL(ISR)' 2,'PANEL(ISPREVE) NEWAPPL(ISR)' 3,'PANEL(ISPUTILS)' 4,'PANEL(ISRFPA)' 5,'PGM(ISRJB1) PARM(ISRJPA) NOCHECK' 6,'CMD(ISPOPT6)' 7,'PANEL(ISPOPT7)' A,'CMD(ACETEST) NEWAPPL(ACE) NOCHECK' C,'PANEL(ISPOPC0)' T,'PGM(ISPTUTOR) PARM(ISP00000)' ' ',' ' X,'EXIT' *,'?' ) &ZTRAIL = .TRAIL c) Review and save revised ISPF Main menu modification. d) Logoff ISPF. e) Relogon to ISPF. f) From the ISPF Main Menu, enter the following command: AUTOUSR g) Press ENTER. h) The expected response from AUTOUSR is: GOOD AFTERNOON, LARRY01! *** i) Press ENTER. i) Validation of main menu modification is complete. +--------------------------------------------------------------------+ | Step 14. Modify ISPF Start-up Procedure | +--------------------------------------------------------------------+ a) Identify Procedure that starts your installation ISPF environment. b) Replace the ISPF command statement as shown below: 1 10 20 30 40 50 60 70 ----+----+----+----+----+----+----+----+----+----+----+----+----+----+- . . /*******************************************************/ /* Start ISPF per ISPF v2.2 Installation Documentation */ /*******************************************************/ /*ISPF <-- old entry ISPF AUTOUSR <-- new entry . . c) Review and save revisions. d) Logoff ISPF. e) Relogon to ISPF. The command AUTOUSR should automatically execute when the ISPF session is starting up which should result in a terminal display response: GOOD AFTERNOON, LARRY01! *** f) Press ENTER to continue with ISPF session start-up. g) The ISPF main menu should display. h) Validation of ISPF Start-up procedure is complete You are complete with the ISPFAUTO application installation! At this point, you may modify the default AUTOEXEC CLIB member per your installation needs as this is the CLIST that receives control when a user signs on the ISPF before displaying the ISPF Primary Menu. At this point, ISPF users can add AUTOEXEC members to their personal CLIB dataset for user specific start-up tasks. A user shell member is included in SHRABIT.ISPFAUTO.V0R9M01.CLIB(AUTOEXCU). Enjoy ISPFAUTO! ====================================================================== * IV. S o f t w a r e I n v e n t o r y L i s t | ====================================================================== - SHRABIT.ISPFAUTO.V0R9M01.ASM . README Dummy member, this is intentional - SHRABIT.ISPFAUTO.V0R9M01.CLIST . README Dummy member, this is intentional - SHRABIT.ISPFAUTO.V0R9M01.CNTL $ . $INST00 Define Alias for HLQ ISPFAUTO $ . $INST01 Load CNTL data set from distribution tape (HET) $ . $INST02 Load other data sets from distribution tape (HET) $ . $INST03 Install TSO Parts $ . $INST04 Install ISPFAUTO 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 # . $UP0901 Upgrade to V0R9M01 from V0R9M00 $ . DSCLAIMR Disclaimer $ . PREREQS Required User-mods $ . README Documentation and Installation instructions - SHRABIT.ISPFAUTO.V0R9M01.HELP . README Dummy member, this is intentional - SHRABIT.ISPFAUTO.V0R9M01.ISPF $ . AUTOEXCD ISPF Default AUTOEXEC CLIST $ . AUTOEXCU ISPF User AUTOEXEC CLIST shell - SHRABIT.ISPFAUTO.V0R9M01.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
In Closing
Hope you make use of this solution to advance and enhance your MVS 3.8J / TSO / ISPF user autoexec experience!
Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding this post.
Enjoy,
Larry Belmontes
Version History
* * MM/DD/CCYY Version Change Description * ---------- ------- ----------------------------------------------- * 07/01/2024 0.9.01 Larry Belmontes Jr. * - Use software HLQ of SHRABIT * - Add WRITE statements in PROCS for visual * purposes * * 01/31/2023 0.9.00 Larry Belmontes Jr. * - Initial version released to MVS 3.8J * hobbyist public domain * * 02/14/2022 0.5.00 Larry Belmontes Jr. * Initial prototyping and development * w ISPF 2.x *