1. SMP/E
• • Who is this session for?
• • What is SMP/E?
• • Why would you use it?
• • Where does it fit in?
• • An SMP/E environment.
• • Terminology
• • Process Flow
2. Who is this session for?
• If you are new to maintaining software on the
mainframe and want to understand what
magic is happening under the covers of
• • Hear the buzzwords, get the scoop on the
lingo, see the structures, and learn the steps
to use SMP/E to keep your mainframe
humming.
3. What is SMP/E?
• SMP/E is the basic tool for installing and
maintaining software in z/OS systems and
subsystems. It controls these changes at the
element level by:
• Selecting the proper levels of elements to be
installed from a large number of potential
changes
• Calling system utility programs to install the
changes
• Keeping records of the installed changes
4. Why would you use it?
• • The product is delivered in this format
• • Upgrade a product
• • Fix a problem with a product
• • Track an installation defined change
5. Where does it fit in?
• The “mainframe” platform.
• MVS” environment aka OS/390, z/OS. Not VM.
Not Linux.
• Other Independent Software Vendors (ISV)
products.
• ISPF based dialog and Batch jobs.
6. An SMP/E environment - zones
• Global Zone
– Waiting to be installed
• Target Zone
– Runnable copy
• Distribution Zone
– Source
– Backup
7. SMP/E components -
Global Structure
• CSI - Consolidated Software Inventory
– Describes Target and Distributions zones
– Processing options
– Status of work in progress
– Exception data (hold for user acknowledgement)
• Libraries (DDDEFs)
– SMPPTS
– Logs
9. SMP/E components -
Distribution Structure
• CSI - Consolidated Software Inventory
– Describes modules (programs and
subroutines)
• Libraries (DDDEFs)
– Samples
– Other text members
– Logs
10. SMP/E - packaging parts
• Function - A product identified by a unique FMID, a logical
group of elements.
– FMID - Function Modification IDentifier is a SYSMOD id
assigned to a function.
• SYSMOD id - Identifier assigned to a SYStem MODification.
– SYSMOD - input to SMP/E that defines the action to take on
one or more elements.
• Element - a single part of a product; a unique member of a
PDS(E) or file in an HFS.
• Program Temporary Fix (PTF) - a SYSMOD that changes one or
more elements.
• USERMOD - your modification to a vendor supplied element.
11. SMP/E - packaging parts
• Authorized Program Analysis Report (APAR) - a temporary fix
released before a PTF is packaged.
• Replacement Modification IDentifier (RMID) - used to identify a
SYSMOD that completely replaced an element.
• Updated Modification IDentifier (UMID) - used to identify a
SYSMOD that updated the last replacement of an element.
• COnditional REQuisite (COREQ) - identifies SYSMODs that can
only be installed correctly if both go on.
• PRE REQuisite (PREREQ) - identifies SYSMOD(s) that must have
been installed previously.
• Negative PRErequisite (NPRE) - mutually exclusive PREREQ.
12. SMP/E - processing terms
• Receive - makes known to the GLOBAL CSI.
– Similar to unzipping a pc based program and “cab” files that
are used to install a product.
• Apply - makes known to the TARGET CSI.
– Builds and copies the elements used to run the product.
• Accept - makes known to the DISTRIBUTION CSI.
– Copies elements to the backup libraries.
• Reject - tells the GLOBAL zone to forget about it.
• Restore - Rebuilds the Target version from what has been
accepted. Similar to ctrl-z or “undo”.
13. SMP/E - distribution
methods
• ServerPac - a complete set of products with applied
maintenance.
• CUM tape - cumulative service release between a span of time.
• Product tape - a product at its base level.
• CBPDO - a custom built product delivery option. This tape
contains one ore more products at their base level plus all
maintenance released.
• SUF - service upgrade facility is a java web based internet
application that can retrieve APARs and PTFs ensuring all
required maintenance is also received in your Global zone.
• ICSF - Internet Product/Maintenance Retrieval.
• FTP - service from Boulder.
14. Process Flow
• Build environment
• Receive
• Apply
• Test
• Accept
• Other backup
15. Where’s your backup?
• Physical volume(s)
• Logical data set
• SMP/E distribution libraries
• SMP/E Zone(s)
– Global
– Target
– Distribution
16. What do I order?
• ServerPac
– System replacement
• CBPDO
– Product upgrade
• Service
– PTF and/or APAR
17. Where do I begin?
• Backup
• Read the doc
• Receive the files
• Backup
• Read more doc
• Apply check
• Research issues/Order more service
• Apply
• Backup
• Accept check
• Accept
• Backup
18. Backup
• Make sure you have a backup, outside of SMP/E
– Take a data set level backup of the global
datasets, the
target zone data sets, and the distribution zone data
sets.
– Coordinate with others who might be using these
data sets.
– Consider IPL volumes, HFS data sets, other run-
time datasets.
19. Read the doc
• Follow the directions as they apply to your
installation.
• Take note of any actions that need to be done.
• Coordinate with other areas.
• Develop your plan for testing and
implementing.
20. Receive the files
• GLOBAL processing.
– Use ZONEGROUP to exclude receiving items already
processed.
//STEP001 EXEC PGM=GIMSMP,REGION=6M
//SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI
//SMPPTFIN DD
DISP=SHR,DSN=MYUSERID.MPTF4414.UNPACKED
//SMPHOLD DD DUMMY
//SMPCNTL DD *
SET BDY(GLOBAL) .
RECEIVE SOURCEID(FTPHANG) ZONEGROUP(ALLZONES).
/*
22. Research issues/ order more
service
• Review the “Causer SYSMOD Summary” report
and order/receive any missing maintenance,
identify actions to be performed, and tailor
your apply control cards asnecessary.
•Check the File Allocation Report: know what
you are updating and make sure you have a
backup.
• Review other reports and take action as
necessary.
23. Apply
• Same JCL as your apply check.
• Remove “CHECK” from the control cards.
• Review all reports and make sure you know
what was updated.
– Did you notice the GLOBAL CSI is updated?
• Consider doing another backup.
• Test, Test, and test.
25. SYSMOD format
++ PTF (UY50707) /* 5665-28445-HDP3320-
//UY50707 JOB 5665-50707-0,28445,MSGLEVEL=(1,1),CLASS=A */ .
++ VER (Z038)
FMID(HDP3320)
PRE (UY44382)
SUP (UY43696,AY27240,AY27237,AY24733)
/*
( DOCUMENTATION FOR THE PTF IS INSERTED HERE. )
*/.
++ HOLD(UY50707) SYS FMID(HDP3320) REASON(DELETE) DATE(90146)
COMMENT
(THIS PTF CONTAINS A ++DELETE MCS FOR THE FOLLOWING LMOD: IEBCOPY
SMP/E WILL NOT RESTORE THIS PTF.).
++DELETE IEBCOPY
SYSLIB(LINKLIB).
26. SYSMOD format
++ JCLIN .
//SYSGEN0 JOB 1,'SYSTEM GENERATION',
// MSGLEVEL=1,MSGCLASS=A,
// CLASS=A
//SG22 EXEC LINKS,
// PARM='NCAL,LIST,XREF',
// UNIT='3380',SER=SYSRES,N=SYSX,NAME=LINKLIB,P1=' ',
// MOD=,P2=' ',OBJ=MACLIB,CLASS=A
//AOSU0 DD DISP=SHR,VOLUME=(,RETAIN),DSNAME=SYS1.AOSU0
//SYSLIN DD *
INCLUDE AOSU0(IEBCFAMS)
INCLUDE AOSU0(IEBCMSG)
INCLUDE AOSU0(IEBCNVT)
27. Did I really do that?
Did you do something you wish you hadn’t?
– You did have a backup, right?
– If you accepted something you need a non-
SMP/E restore.
– If you applied something, do you want SMP/E
to RESTORE it?
– Did you receive something you don’t want -
REJECT it.
29. Restore gotchas!
• You will regress back to the last accepted
levelset.
• You must select every applied but not
accepted sysmod.
• No guarantee an apply can get you back to
where you started from. New HOLDDATA may
prevent some sysmods from being applied in
your current environment.
30. Reject
• Used mostly to cleanup the SMPMTS.
• If you have room, don’t bother.
• May have to reject a sysmod to receive it
properly.
– Damaged during download and you did not
notice it.
– On usermods, consider updating the REWORK
value instead.