SMP/E is a tool used to install and maintain software on z/OS systems. It controls changes at the element level, selecting proper levels of elements to install from potential changes and calling system utilities to install the changes. SMP/E manages this process through zones like the Global, Target, and Distribution zones. It uses terminology like SYSMODs, elements, and FMIDs to track changes and prerequisites for installation. The basic process flow involves receiving updates, applying them to the Target zone, testing, then accepting them to the Distribution zone.
SMP/E
• • Whois 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 thissession 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 youuse 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 itfit 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 -
GlobalStructure
• 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
SMP/E components -
DistributionStructure
• CSI - Consolidated Software Inventory
– Describes modules (programs and
subroutines)
• Libraries (DDDEFs)
– Samples
– Other text members
– Logs
10.
SMP/E - packagingparts
• 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 - packagingparts
• 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 - processingterms
• 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
• Buildenvironment
• 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 Iorder?
• ServerPac
– System replacement
• CBPDO
– Product upgrade
• Service
– PTF and/or APAR
17.
Where do Ibegin?
• 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 sureyou 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).
/*
Research issues/ ordermore
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 JCLas 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.
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 reallydo 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.
Restore gotchas!
• Youwill 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 mostlyto 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.