Planet MVS MVS Tips |
When I clone my SYSRES, I zap this field with the maintenance level and copy date. This is performed on the new SYSRES and NOT the SMP SYSRES! Here is my JCL that does this:CVTVERID DC CL16' ' * OPTIONAL USER PERSONALIZATION OF * SOFTWARE SYSTEM VERSION.
By specifing IDRDATA, It is easier to verify this zap using the PDS command on the CBT tape or even better the StarTool product from Serena. Here is sample output from the PDS 'SYS1.NUCLEUS' HIST IEANUC01 command://* //* * //* * CHANGE SOFTWARE LEVEL - THE SHOWTSO COMMAND USES THIS //* * //* //VERID EXEC PGM=AMASPZAP //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=SYS1.NUCLEUS,DISP=SHR,UNIT=3390,VOL=SER=newres //SYSIN DD * NAME IEANUC01 IEAVCVT IDRDATA CLONERES VER 0028 40404040,40404040 REP 0028 D7A4A3F9,F6F0F84E "Put9608+" VER 0030 40404040,40404040 REP 0030 F1F061F0,F461F9F7 "10/04/97" //*------> 1 0 / 0 4 / 9 7 <-------------------------------
If the CVTVERID is blank, IBM displays the MVS release at IPL time. But if the CVTVERID is not blank, you will see this message with the CVTVERID contents:** HISTORY IEANUC01 PDS061I AMASPZAP UPDATE HISTORY BY CSECT - IEAVCVT 10/04/97 CLONERES
Here is a sample REXX exec that displays the contents of the CVTVERID field with the format I zap it with:IEA247I USING IEASYSxx FOR Put9608+10/04/97
At IPL time you know the copy date of the SYSRES that you are IPLing when you use this technique. You could also put the change request number instead of the two fields I put in the 16 byte area./* REXX - Show installation CVT VERID */ CVT = STORAGE(10,4) /* Locate CVT */ DCVT = C2D(CVT) /* Convert to dec. */ CVTPFX = DCVT - X2D(100) /* Locate CVTFIX */ SPREL = STORAGE(C2X(D2C(CVTPFX+X2D(D8))),8) /* MVS SP release */ VERID = STORAGE(C2X(D2C(CVTPFX+X2D(E8))),16) /* Get VERID */ say "MVS "strip(sprel)" is at "substr(verid,1,8) say "SYSRES was copied on "substr(verid,9,16) exit
Mark Jacobs sent me his Assembler program called IDNTSYSR.TXT (28-Jun-1998 - fixed ver/rep offset) that creates AMASPZAP control cards containing the current date and then invokes the AMASPZAP utility to modify the CVTVERID field. It can be invoked using the following JCL: //* //** Create AMASPZAP control cards and invoke AMASPZAP to update //** the CVTVERID field. //* //VERID EXEC PGM=IDNTSYSR,PARM='9806' <- MVS PUT level or other 4 digit field //STEPLIB DD DISP=SHR,DSN=your.load.lib //SYSPRINT DD SYSOUT=* //SYSLIB DD DSN=SYS1.NUCLEUS,DISP=SHR,UNIT=3390,VOL=SER=newres //SYSIN DD UNIT=VIO,SPACE=(TRK,(1,1)),DISP=(,PASS) |
I got this technique from Bob Hobbs.S JES2,UCB=DR,MAS=01
You would also want to modify/verify your IEASYSxx member to list the startup values. Here are some samples:COM='D T' Very first one. Use to be recommended for SDSF COM='D ASM' COM='TRACE STATUS' COM='D TRACE' COM='D M=CPU' COM='D M=STOR' COM='D M=ESTOR' COM='D D,O' COM='D D,S' COM='D OPDATA' COM='D IPLINFO' COM='D PARMLIB' COM='D SSI,ALL' COM='D SLIP' COM='D IOS,CONFIG(ALL)' COM='D IOS,MIH,TIME=ALL' COM='D PROG,EXIT' COM='D PROG,APF'
I also have created a started task called CAS9INFO which gets started after CA90 Services is initialized. CAS9INFO invokes the CA90 services trivia programs. I kick off my CAS9INFO by having it included in my CA90 services PPOPTION automatic commands member CAUTOCMD. Here is my JCL for the CAS9INFO started task:LNK=(00,L), LPA=(00,L), MLPA=(00,L), PAGE=(PAGE.systemid.PLPA, PAGE.systemid.COMMON, PAGE.systemid.LOCAL,L),
Here is my REXX exec to see this information from TSO://CAS9INFO PROC //*-----------------------------------------------------------------*** //* *** //* DISPLAY ALL OF THE CA90S INFORMATION WE CAN TO THE CONSOLE *** //* *** //*-----------------------------------------------------------------*** //* //** INVOKE THE CAI RESOURCE INITIALIZATION MANAGER UTILITY. //** CAIRIMU DISPLAYS THE CURRENT STATUS OF ALL INSTALLED CAI //** PRODUCTS. //* //CAIRIMU EXEC PGM=CAIRIMU //* //** INVOKE THE CAI DYNAMIC SMF DATA INTERCEPTOR UTILITY. //** CAISMFU DISPLAYS THE CURRENT STATUS OF ALL INSTALLED CAI //** SMF INQUIRY AND MANAGEMENT ROUTINES. //* //CAISMFU EXEC PGM=CAISMFU //* //** INVOKE THE CAI SUBSYSTEM INTERFACE UTILITY. CAISUBU //** DISPLAYS THE CURRENT STATUS OF ALL SUBSYSTEMS INSTALLED VIA //** CAIRIM. OUTPUT IS ISSUED //* //CAISUBU EXEC PGM=CAISUBU
/* REXX: Show CA90 Services information */ "TSOEXEC CAIRIMU" say " " say "Hit the Enter key for more..." pull it "TSOEXEC CAISMFU" say " " say "Hit the Enter key for more..." pull it "TSOEXEC CAISUBU" say " " say "Hit the Enter key to end" pull it
Since I ran my modified JES2 proc through C/I and actually executed a sucessful batch job, I won't see the dreaded JCL error message at JES2 startup time. This is only half of the verification. You don't know until a dataset is opened whether it is actually on the pack. I use my DA$PDSR program with the JES2 JCL and have it process all of the JES2 proclibs. Using the parm PREFIX=PROC, DA$PDSR will read all DDNAMEs starting with PROC. An MVS OPEN and reports on the members found are made. Here is a sample job: JCL://jobcard here // EXEC JES2,ENTRY=IEFBR14 //jobcard here // EXEC NET,ENTRY=IEFBR14 //jobcard here // EXEC CAS9,ENTRY=IEFBR14
//jobcard here //* //** ENSURE THAT THE JES2 PROCLIBS ARE OKAY BY EXECUTING THE //** DA$PDSR PROGRAM WITH THE JES2 JCL. //* //SOURCEC EXEC JES2,ENTRY=DA$PDSR,TIME=5, // PARM='PREFIX=PROC' //* //STEPLIB DD DISP=SHR,DSN=ibmuser.DA.LOAD //SYSPRINT DD SYSOUT=* //REPORT DD SYSOUT=* //SYSUDUMP DD SYSOUT=* //ABNLDUMP DD DUMMY
APF ADD DSNAME(ZZZZZZZZ.ZZZZZZZZ.ZZZZZZZZ.ZZZZZZZZ) VOLUME(ZZZZZZ)When I do a "D PROG,APF", I can easily see the datasets added after the IPL:
CSV450I hh.mm.ss PROG,APF DISPLAY FORMAT=DYNAMIC ENTRY VOLUME DSNAME 1 SYS1R1 SYS1.LINKLIB 2 SYS1R1 SYS1.SVCLIB ... 259 SYSM01 SYS9P.OLS.STM231.VTPLOAD 260 ZZZZZZ ZZZZZZZZ.ZZZZZZZZ.ZZZZZZZZ.ZZZZZZZZ 261 PP2002 SYS3P.SYS.INFOPAC.JCL.LOAD 262 CIRCUS BOZO.CLOWNLIB
SUBSYS SUBNAME(ZZZZ)When I issue a "D SSI" command, I see some subsystems that were dynamically added since the IPL:
IEFJ100I hh.mm.ss SSI DISPLAY SUBSYS=JES2 (PRIMARY) DYNAMIC=YES STATUS=ACTIVE COMMANDS=REJECT SUBSYS=MSTR DYNAMIC=NO STATUS=ACTIVE COMMANDS=N/A ... SUBSYS=ZZZZ DYNAMIC=YES STATUS=INACTIVE COMMANDS=REJECT SUBSYS=CA$K DYNAMIC=NO STATUS=INACTIVE COMMANDS=N/A SUBSYS=TMS DYNAMIC=NO STATUS=ACTIVE COMMANDS=N/A
Periodically you should monitor your SMF dump output and ensure that your list is complete. For example:/*-------------------------------------------------------------------*/ /* KNOWN INSTALLATION SMF RECORD USAGE: */ /* */ /* 028 - NPM (REPLACED BY NETSPY) */ /* 150 - NETSPY (LEGENT) */ /* 199 - ORACLE */ /* 202 - EDI (TI) */ /* 203 - ROSCOE */ /* 205 - IXFP (RAMAC VIRTUAL ARRAY) */ /* 210 - OMEGAMON FOR MVS II V350 - EPILOG @28-JAN-1997 */ /* 211 - OMEGAMON FOR MVS II V350 - SECURITY @28-JAN-1997 */ /* 230 - CA-ACF2 */ /* 240 - CA-IDMS */ /* 242 - FT/EXPRESS (FILE TRANSFER FROM TSO) */ /* 243 - A2B SIM3270 (TCPIP TELNET) */ /* 244 - PMDC (IDMS MONITOR) */ /* 245 - EMC (DASD PERFORMANCE - UTILITY PARM=F5 */ /* 246 - OMEGAMON/CICS @14NOV1995 */ /* 253 - HOURGLASS 2000 (CSW2 ONLY) @01OCT1997 */ /* 254 - FOCUS MSO (EDA) USAGE - STARTED TASK FOCNET1 @25AUG1993 */ /* */ /*-------------------------------------------------------------------*/ ACTIVE DSNAME(SYS1.SMF.MANX, SYS1.SMF.MANY, SYS1.SMF.MANZ) ...
Here I see that somebody is writing SMF255 records which I don't have in my SMF record database.RECORD RECORDS PERCENT AVG. RECORD TYPE READ OF TOTAL LENGTH 2 0 3 0 4 992 .85 % 215.01 5 278 .24 % 157.56 6 157 .13 % 263.95 ... 202 42 .04 % 223.00 203 409 .35 % 278.87 205 777 .66 % 317.77 230 9,399 8.01 % 1,152.64 244 6,039 5.15 % 3,850.24 246 40,293 34.34 % 350.27 254 10 .01 % 136.80 255 108 .09 % 276.07
At my shop, VTAM completely initializes before JES2 has completed the warm start. As with all SUB=MSTR started tasks, all datasets should be in the master catalog or you will need UNIT= and VOL=SER= to be able to locate them. Here is an example NET proc:COM='S NET,,,(LIST=xx),SUB=MSTR'
//NETWORK PROC ENTRY=ISTINM01, // SL01U=3390,SL01V=PPXA14,SL01D='SYS2.SSPLIB', // LS01U=3390,LS01V=PPXA14,LS01D='SYS2.VTAMLST', // LI01D='SYS1.VTAMLIB', // LI02U=3390,LI02V=PPXA14,LI02D='SYS2.VTAMLIB', // LI03D='NETVIEW.V3R1M0.SCNMLNK1', // NC01U=3390,NC01V=PPXA12,NC01D='SYS2.NCPLIB' //******************************************************************** //NET EXEC PGM=&ENTRY, // REGION=8M, UP FROM 6000K - DGA-23SEP94 // DPRTY=(15,15), // TIME=1440, // PERFORM=9 //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //STEPLIB DD DISP=SHR,DSN=&SL01D, SSPLIB // UNIT=&SL01U,VOL=SER=&SL01V //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //VTAMLST DD DISP=SHR,DSN=&LS01D, SYS2.VTAMLST // UNIT=&LS01U,VOL=SER=&LS01V //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //VTAMLIB DD DISP=SHR,DSN=&LI01D SYS1.VTAMLIB // DD DISP=SHR,DSN=&LI02D, SYS2.VTAMLIB // UNIT=&LI02U,VOL=SER=&LI02V // DD DISP=SHR,DSN=&LI03D NETVIEW.V3R1M0.SCNMLNK1 //* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //NCPLIB DD DISP=SHR,DSN=&NC01D, SYS2.NCPLIB // UNIT=&NC01U,VOL=SER=&NC01V
Hints:/* ---> 199 <--- INSTALLED BY CAS9 -----------> CA-C RUNTIME (CA) */ SVCPARM 215,REPLACE,TYPE(6),EPNAME(DFHHPSVC) /* CICS V4.1 HPO */ SVCPARM 216,REPLACE,TYPE(3),EPNAME(DFHCSVC) /* CICS V4.1 SRB */ SVCPARM 237,REPLACE,TYPE(4),EPNAME(VMCFAPF) /* VPS */ SVCPARM 239,REPLACE,TYPE(3),EPNAME(DVGMCSVC) /* NETVIEW FTP */ /* ---> 241 <--- INSTALLED BY CAS9 -----------> TMS (CA1) X SVC */ /* ---> 242 <--- INSTALLED BY CAS9 -----------> TMS (CA1) Y SVC */ SVCPARM 243,REPLACE,TYPE(4) /* S2K */ SVCPARM 244,REPLACE,TYPE(3),EPNAME(PMDCSVC) /* PMDC (IDMS) */ /* ---> 249 <--- INSTALLED BY CAS9 -----------> IDMS 12.0 */ /* ---> 250 <--- INSTALLED BY CAS9 -----------> IDMS 14.0 */ /* ---> 251 <--- INSTALLED BY CAS9 -----------> IDMS 12.0 GL9707 */ SVCPARM 252,REPLACE,TYPE(3) /* SYNCSORT 2.5D */ SVCPARM 253,REPLACE,TYPE(3) /* ACF2 (VALIDATE) */ SVCPARM 254,REPLACE,TYPE(3) /* ACF2 (ALTER) */ SVCPARM 255,REPLACE,TYPE(3) /* FOCUS */ /*------------------------------------------------------------------*/ /* THE REMAINDER ARE ESR SVCS */ /*------------------------------------------------------------------*/ /* ===> 109-200 IGX00200 <===================> SAS */ /* ===> 109-250 IGX00250 <==== 30-DEC1996 ===> SYNCSORT 3.6D */ /* ===> 109-251 IGX00251 <==== 18-SEP1997 ===> FILEAID 8.0.1 */ /* ===> 109-252 IGX00252 <==== 06-NOV1997 ===> SYNCSORT 3.6E */ /*------------------------------------------------------------------*/
//JES2 PROC ENTRY=HASJES20, // P='WARM,NOREQ', // PRM=00,MAS=10,NET=10,UCB=10, // UPRM=3380,VPRM=XA1CAT,DPRM='SYS1.PARMLIB', PARMLIB // U00A=3380,V00A=XA1CAT,D00A='SYS1.PROCLIB', PROC00 // U00B=3390,V00B=PPXA12,D00B='SYS2.PROCLIB', PROC00 // U00C=3390,V00C=PPXA12,D00C='SYS3.PROCLIB', PROC00 // U00D=3390,V00D=PPXA12,D00D='DIVISION.PROCLIB', PROC00 // U01A=3390,V01A=PPXA12,D01A='SYS4.PROCLIB' PROC01 //********************************************************************* //IEFPROC EXEC PGM=&ENTRY.,TIME=1440,DPRTY=(15,15),PARM='&P' //HASPLIST DD DDNAME=IEFRDER //* //HASPPARM DD DISP=SHR,DSN=&DPRM.(JESPRM&PRM.), // UNIT=&UPRM.,VOL=SER=&VPRM. // DD DISP=SHR,DSN=&DPRM.(JESNET&NET.), // UNIT=&UPRM.,VOL=SER=&VPRM. // DD DISP=SHR,DSN=&DPRM.(JESMAS&MAS.), // UNIT=&UPRM.,VOL=SER=&VPRM. // DD DISP=SHR,DSN=&DPRM.(JESUCB&UCB.), // UNIT=&UPRM.,VOL=SER=&VPRM. //* //PROC00 DD DISP=SHR,DSN=&D00A,UNIT=&U00A,VOL=SER=&V00A // DD DISP=SHR,DSN=&D00B,UNIT=&U00B,VOL=SER=&V00B // DD DISP=SHR,DSN=&D00C,UNIT=&U00C,VOL=SER=&V00C // DD DISP=SHR,DSN=&D00D,UNIT=&U00D,VOL=SER=&V00D //* //PROC01 DD DISP=SHR,DSN=&D01A,UNIT=&U01A,VOL=SER=&V01A
//jobcard here //* //** USE THIS JOB IF //PROC00 IN JES2 GETS AN I/O ERROR VIA MESSAGE //** //** IEFC417I PROCLIB DEVICE I/O ERROR READING FOR JOB xxxxxxxx //** //** OPENING ANOTHER //PROCXX WILL CAUSE JES2 TO REOPEN PROC00 //* /*JOBPARM PROCLIB=PROC01 // EXEC procedure.in.//PROC01After running this job, you shouldn't see any more IEFC417I messages.
Giliad Wilf responed with this post:We had a problem today, like this. One of the dataset which was concatenated to JES2 proc was accidentally deleted and only one guy has logged in the System. Later every logon was rejected, stating a JCL error. We finally edited the JES2 proc and disabled the particular dataset concatenation and recycled JES2. Then the logon problem was solved. I would like to know what are the precautionary measures to be taken to come out of this sort of situation. For ex., If nobody can logon to TSO due to some problem, how it can be alleviated. As I am new to the MVS System area, kindly suggest some solutions. K.Viswanathan.
Also see my discussion about hints for SUB=MSTR JCL. If you have TCP/IP and FTP running, an alternative would be to fire up FTP to MVS and replace the SYS1.PROCLIB(JES2) member without the missing dataset, hot start JES2, logon to TSO and restore the deleted JES2 proclib.Aside from protecting PROCLIBs against unauthorized access, we have additional measures, and I'm thinking about a third: 1. Every common proclib DD in the JES2 procedure is defined this way: // DD DISP=SHR&DISASTR,DSN=SYS1.PROCLIB col. 72 --> X // DSN=hlq.dsname The default value of &DISASTR is ', ' and this causes the next line to be taken. When a proclib common to several systems is damaged, we only have to restart JES2 as follows: S JES2,DISASTR= The null value makes only SYS1.PROCLIB be considered, while all secondary lines are ignored. Since every system has its own SYS1.PROCLIB, there is always a way to start JES2 somewhere and carry out a recovery action. 2. Zapping IKJEFLC's ATTACH parmlist to make it specify JSTCB=YES. You have to prepare a special NET, TSO, and logon procedures whose names will also be listed as subsystem names in IEFSSNxx, and place them in SYS1.PROCLIB. They must not contain any JES2-managed dataset. This will enable NET, TSO, and a user whose name is to be identical to the name of the logon procedure, to start as subsystems and do whatever recovery is required. 3. Write IFG0EX0B that will prevent a destructive backmerge to the DSCB during OPEN. This will also bar inexperienced sysprogs from stumping on a directory of a proclib, or any other vital PDS. I'm sure there are several more measures..
On benefit of having the product name saved as comments is that you can easily figure out which product has a bad LMP key when the operator call you.*---------------------> Start of member=KEYS *--> 00=OS/EasyTrieve? Prod(00) Date(31AUG00) CPU(9021-962 /123456) LMPCODE(?) *--> 6F=CA-Easytrieve Plus Prod(6F) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> 7E=CA-EasyTrieve Plus IDMS/R option Prod(7E) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> B6=ONE/Viewpoint Prod(B6) Date(30MAR00) CPU(9021-962 /123456) LMPCODE(?) *--> B8=ONE/COPYCAT Prod(B8) Date(30MAR00) CPU(9021-962 /123456) LMPCODE(?) *--> BA=Intertest W/XA-ESA Prod(BA) Date(31DEC99) CPU(9021-962 /123456) LMPCODE(?) *--> F5=CA-IDMS/JOURNAL ANALYZER Prod(F5) Date(29JUN99) CPU(9021-962 /123456) LMPCODE(?) *--> FE=CA-ADS/ONLINE Prod(FE) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> FG=CA-IDMS ONLINE QUERY Prod(FG) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> FK=CA-IDMS/CULPRIT Prod(FK) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> FL=Library of Routines Prod(FL) Date(29SEP98) CPU(9021-860 /071122) LMPCODE(?) *--> G8=CA-IDMS/LOG ANALYZER Prod(G8) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GI=CA-MICS Base set Prod(GI) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GJ=CA-IDMS/CORE (DB+IDD+CV) Prod(GJ) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GP=CA-IDMS DC Prod(GP) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GQ=CA-IDMS DC Prod(GQ) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GT=CA-IDMS SQL EXTENDED ARCHITECTURE Prod(GT) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GX=IDMS Presspack Prod(GX) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> GY=CA-IDMS PERFORMANCE MONITOR Prod(GY) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> H5=CA-IDMS/MASTERKEY Prod(H5) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> H8=CA-IDMS/ONLINE LOG DISPLAY Prod(H8) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> I5=CA-IDMS/SCHEMA MAPPER Prod(I5) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> J6=JCLCHECK Prod(J6) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> L0=ONE (TMS/CA1) Prod(L0) Date(31DEC99) CPU(9021-962 /123456) LMPCODE(?) *--> L9=CA-IDMS/DB AUDIT Prod(L9) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> LG=CA-IDMS/TASK ANALYZER Prod(LG) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> LI=CA-IDMS/DB ANALYZER Prod(LI) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> LJ=LIBRARIAN (base) Prod(LJ) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> LU=LIBRARIAN (TSO/SPF Support) Prod(LU) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> MA=CA-IDMS/DB REORG Prod(MA) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> MB=CA-IDMS/DML ONLINE Prod(MB) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> OQ=DADS/PLUS Prod(OQ) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> PM=CA/IDMS/ADS ALIVE Prod(PM) Date(26DEC97) CPU(9021-962 /123456) LMPCODE(?) *--> RO=Roscoe Prod(RO) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *--> U5=EasyTrieve Plus Prod(U5) Date(30JUN04) CPU(9021-860 /123456) LMPCODE(?) *--> UO=UCANDU Prod(UO) Date(01DEC98) CPU(9021-860 /071122) LMPCODE(?) *--> X1=ACF2 Prod(X1) Date(31DEC99) CPU(9021-962 /123456) LMPCODE(?) *--> XS=CA-IDMS SERVER Prod(XS) Date(30JUN04) CPU(9021-962 /123456) LMPCODE(?) *---------------------> End of member=KEYS
Logical Volume |
Physical volume |
Comments |
---|---|---|
CATxxx (MVSCAT) |
OSV26A | Contains CATALOG.OS390R6M (Master), CATALOG.OS390R6U (User), CustomPac ISPF dialog datasets, JES2 SPOOL and support, etc. |
IPLVOL RESxxx |
OSV26B | The Traditional SYSRES datasets catalogued to ****** |
RESxxx | OSV26C | The rest of the SYSRES datasets for products I don't use at my shop like DFSORT, RACF, BDT, etc. All new products get pushed over here and cataloged to &SYSR2. |
DLBxxx | OSV26D | Half of the DLIB stuff. I'm not emotionally attached to what goes where for DLIBS. |
DLBxxx | OSV26E | Other half of the DLIB stuff. At OS/390 1.2, this all fit on a single 3390-3! |
n/a? | OSV26F | HFS volume At OS/390 1.2, my SMPE.SMPPTS (the largest PDS in the SHOP!) grew and grew so it got moved from the "A" volume to the SMS-managed (for HFS) OS/390 install volume. |
In the IEASYMxx member (in this case IEASYMZ8), I have two symbols for the operating system level, one meant for datasets and a shorter one for parmlib suffixes:IEASYM Z8
My PROGxx member has a dataset near the top of the LNKLST that has overrides for this operating system level like JES2 exits which must match the OS level.SYSDEF SYMDEF(&OSLEVEL.='ZOS18') /* OPERATING SYSTEM LEVEL */ SYMDEF(&OSLVLS.='Z8') /* OPERATING SYSTEM LEVEL SHORT */
LNKLST Add Name(LNKLST01) Dsname(SYS2.&OSLEVEL..LINKLIB)