SMP/E replaces the CDS/CRQ (and ACDS/ACRQ) combo with "zones".
Instead of using a PDS with cylinders and cylinders of directory blocks,
VSAM data sets are used, and they must have a low-level qualifier of
CSI.� A CSI (Consolidated Software Inventory) VSAM cluster may contain
one or more zones.
RECEIVE/REJECT processing updates the GLOBAL zone (which is always
called GLOBAL) and SMPPTS.
APPLY/RESTORE processing updates the TARGET zone (which you can name).
ACCEPT processing updates the DLIB zone (which you can name).
Target zones are related to a specific DLIB zone, but you can have
multiple target zones per DLIB zone.
The GLOBAL zone has the zoneindexes which link the variously named
target & DLIB zones to VSAM data sets.
You can name the GLOBAL zone in the program parameter, or allocate it to
the SMPCSI DD.
You can populate DDDEF entries (for each zone) so you don't have to
supply a DD to each syslib and dlib.
SMP/E prints a DD report showing data� sets and volumes etc. used.
Data sets which still exist in SMP/E include the SCDS (strange, eh?),
MTS, STS and the PTS which only gets 1 member per SYSMOD - the one
containing the input MCS.
The LTS (Load Temporary Store) is new and must be a PDSE (so it can
handle program objects).
And there's new stuff for doing a RECEIVE from the web, and for APPLY to
deliver elements to UNIX files instead of MVS data sets. Of course, with
tapes being bypassed RECEIVE can now process relfiles on disk.� IBM no
longer ships maintenance or products on tape.
While RECEIVE won't receive the same SYSMOD more than once (unless the
REWORK date is later) it does check that the SYSMOD is present in both
the GLOBAL zone and SMPPTS.� An easy way of repeating a RECEIVE without
a REJECT is to delete the MCS member from SMPPTS.
The DIS (Directory In Storage) operand has disappeared, but you have to
say which zone the operation is for with a
SET command.� While GROUP will still look "backward" for pre-reqs,
GROUPEXTEND will also look "forward" for later maintenance which
supersedes missing pre-reqs and apply that as well.
There's a whole ISPF application for admin and queries, a programmable
API, and lots more stuff since I stopped sysprogging. Yep, it's more
complicated, but also more powerful and much more efficient.� But major
concepts are unchanged, and MCS is downward compatible.
The doc is online so if you want to get a feel for the differences, go
have a look.
But at the end of the day, it is still RECEIVE, APPLY, ACCEPT.
:)
And now, some exhibits from the museum... (bail out now if you don't
like JCL - or SMP)
JCL from the 90s I found, back when TCPIP was not part of MVS/ESA V4:
//RECEIVE EXEC PGM=GIMSMP,
//������������ PARM='CSI=MVSSMPE.GLOBAL.CSI,LANGUAGE=ENU'
//SMPOUT�� DD� SYSOUT=*
//SMPRPT�� DD� SYSOUT=*
//SMPLIST� DD� SYSOUT=*
//SYSPRINT DD� SYSOUT=*
//SMPLOG�� DD� DUMMY
//SMPPTFIN DD� DSN=SMPMCS,DISP=(SHR,PASS),UNIT=CART,LABEL=(5,SL),
//������������ VOL=SER=(Z10433,Z10434,Z10435,Z10436,Z10437,Z10438)
//SMPHOLD� DD� DUMMY
//SMPCNTL� DD� *
����� SET� BOUNDARY (GLOBAL).
� RECEIVE� SOURCEID (PDO9739)� SYSMODS
���������� SELECT (JTCP32C,JTCP32H).
/*
Here's a new one on SMP4:
//REPORT� EXEC PGM=GIMSMP,PARM='CSI=DBS.GLOBAL.CSI,LANGUAGE=ENU'
//SMPOUT�� DD� SYSOUT=*
//SMPRPT�� DD� SYSOUT=*
//SYSPRINT DD� SYSOUT=*
//SMPLIST� DD� SYSOUT=*
//SMPLOG�� DD� DUMMY
//SMPCNTL� DD� *
����� SET� BOUNDARY (GLOBAL).
�� REPORT� SYSMODS� INZONE (DBSTZN)� COMPAREDTO (DBSPZN)� NOPUNCH.
/*
I keep old statements after the null card to reduce syntax research:
//RESTORE EXEC PGM=GIMSMP,
//������������ PARM='CSI=MVSSMPE.GLOBAL.CSI,LANGUAGE=ENU'
//SMPOUT�� DD� SYSOUT=*
//SMPRPT�� DD� SYSOUT=*
//SYSPRINT DD� SYSOUT=*
//SMPLIST� DD� SYSOUT=*
//SMPLOG�� DD� DUMMY
//SMPCNTL� DD� *
����� SET� BOUNDARY (FTP1B).
� RESTORE� SELECT (TCPMOD1).
/*
//
� RESTORE� SELECT (NCL1349)� GROUP� CHECK.
� RESTORE� SELECT (CO75692,GO12830,GO12833,GO12834,GO12837,GO12853)
���������� CHECK.
//CKS10LLD DD� DSN=CAID.CKS10LLD,DISP=SHR
//CKR10LLD DD� DSN=CAID.CKR10LLD,DISP=SHR
� RESTORE� SELECT (GFC0002,GFC0003,GFC0009,GFC0010,GFC0017,SRBFLGS)
���������� BYPASS (ID)� GROUP� CHECK.
//CZ260MLD DD� DSN=CAID.CZ260MLD,DISP=SHR
//CZ260LLD DD� DSN=CAID.CZ260LLD,DISP=SHR
����� SET� BOUNDARY (CAIPZN).
� RESTORE� SELECT (T5VQ141)� BYPASS (ID)� GROUP� CHECK.
SYSGEN?� No, thank you.� I have SMP/E:
//GENERATE EXEC PGM=GIMSMP,PARM='CSI=MVSSMPE.GLOBAL.CSI,LANGUAGE=ENU'
//SMPOUT�� DD� SYSOUT=*
//SMPRPT�� DD� SYSOUT=*
//SMPLIST� DD� SYSOUT=*
//SYSPRINT DD� SYSOUT=*
//SMPLOG�� DD� DUMMY
//SMPPUNCH DD� DSN=T$QGP75.SMPPUNCH.DATA,DISP=SHR
//JOBCARD� DD� DSN=T$QGP75.JOBS.CNTL(JOBCARD),DISP=SHR
//SMPCNTL� DD� *
����� SET� BOUNDARY (FTP1B).
�GENERATE� JOBCARD (JOBCARD)
���������� FORFMID (CF33000,CS91000,
���������� CW11000,CW11001,CW21000,CW31000,CW41000,CW51000).
/*
//
�GENERATE� JOBCARD (JOBCARD)� FORFMID (HSP3602)� REPLACE.
Here's an APPLY statement for DB2 V2R3 from 1997:
APPLY� SELECT (HDB2230,HIX2230,HIY2230,HIZ2230)� PTFS
������ COMPRESS (ALL)� EXSRCID (SMCOR)� CHECK� BYPASS (HOLDSYS).
Do you take rejection well?� Here are some sample statements:
SET� BOUNDARY (GLOBAL).
REJECT� PURGE (FTPDLB)� HOLDDATA.
REJECT� NOFMID� HOLDDATA.
REJECT� SELECT (JDV3270,JDV3275,JDV3276).
REJECT� FORFMID (JDV3270,JDV3275,JDV3276).
Enough, already, but Peppe did ask...
:)
Cheers,
Greg
------------------------------------
------------------------------------
------------------------------------
Yahoo Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/H390-MVS/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/H390-MVS/join
(Yahoo! ID required)
<*> To change settings via email:
H390-MVS-***@yahoogroups.com
H390-MVS-***@yahoogroups.com
<*> To unsubscribe from this group, send an email to:
H390-MVS-***@yahoogroups.com
<*> Your use of Yahoo Groups is subject to:
https://info.yahoo.com/legal/us/yahoo/utos/terms/