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
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.
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
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
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.
An SMP/E environment - zones
• Global Zone
– Waiting to be installed
• Target Zone
– Runnable copy
• Distribution Zone
– Source
– Backup
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
SMP/E components -
Target Structure
• CSI - Consolidated Software Inventory
– Describes executables
• Libraries (DDDEFs)
– Run-time (Product specific)
– SMP Temporary Store (SMPMTS, SMPSTS, …)
– Logs
SMP/E components -
Distribution Structure
• CSI - Consolidated Software Inventory
– Describes modules (programs and
subroutines)
• Libraries (DDDEFs)
– Samples
– Other text members
– Logs
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.
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.
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”.
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.
Process Flow
• Build environment
• Receive
• Apply
• Test
• Accept
• Other backup
Where’s your backup?
• Physical volume(s)
• Logical data set
• SMP/E distribution libraries
• SMP/E Zone(s)
– Global
– Target
– Distribution
What do I order?
• ServerPac
– System replacement
• CBPDO
– Product upgrade
• Service
– PTF and/or APAR
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
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.
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.
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).
/*
Apply check
//STEP001 EXEC PGM=GIMSMP,REGION=6M,
//SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SMPLIST DD SYSOUT=*
//SMPSNAP DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SMPPTFIN DD DUMMY
//SMPHOLD DD DUMMY
//SMPCNTL DD *
SET BDY(MDRES1T).
APPLY CHECK GROUPEXTEND
BYPASS(HOLDSYS(ACTION,DOC,DEP,AO,DELETE))
FORFMID(HTCP320, JTCP32C, JTCP325).
/*
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.
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.
Accept
//STEP001 EXEC PGM=GIMSMP,REGION=6M,
//SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SMPLIST DD SYSOUT=*
//SMPSNAP DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SMPPTFIN DD DUMMY
//SMPHOLD DD DUMMY
//SMPCNTL DD *
SET BDY(MDRES1D).
ACCEPT CHECK GROUPEXTEND
BYPASS(HOLDSYS(ACTION,DOC,DEP,AO,DELETE))
FORFMID(
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).
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)
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.
SMP/E Restore
//STEP001 EXEC PGM=GIMSMP,REGION=6M,
// PARM='PROCESS=WAIT',DYNAMNBR=120
//SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SMPLIST DD SYSOUT=*
//SMPSNAP DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760))
//SMPPTFIN DD DUMMY
//SMPHOLD DD DUMMY
//SMPCNTL DD *
SET BDY(MDRES1T).
RESTORE CHECK
S(UZ98456).
/*
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.
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.
Namaskara!
• Thank you for not asking too many
questions!!!!!!!!!!! 

Smpe

  • 1.
    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
  • 8.
    SMP/E components - TargetStructure • CSI - Consolidated Software Inventory – Describes executables • Libraries (DDDEFs) – Run-time (Product specific) – SMP Temporary Store (SMPMTS, SMPSTS, …) – Logs
  • 9.
    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). /*
  • 21.
    Apply check //STEP001 EXECPGM=GIMSMP,REGION=6M, //SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI //SMPOUT DD SYSOUT=* //SMPRPT DD SYSOUT=* //SMPLIST DD SYSOUT=* //SMPSNAP DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SMPPTFIN DD DUMMY //SMPHOLD DD DUMMY //SMPCNTL DD * SET BDY(MDRES1T). APPLY CHECK GROUPEXTEND BYPASS(HOLDSYS(ACTION,DOC,DEP,AO,DELETE)) FORFMID(HTCP320, JTCP32C, JTCP325). /*
  • 22.
    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.
  • 24.
    Accept //STEP001 EXEC PGM=GIMSMP,REGION=6M, //SMPCSIDD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI //SMPOUT DD SYSOUT=* //SMPRPT DD SYSOUT=* //SMPLIST DD SYSOUT=* //SMPSNAP DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SMPPTFIN DD DUMMY //SMPHOLD DD DUMMY //SMPCNTL DD * SET BDY(MDRES1D). ACCEPT CHECK GROUPEXTEND BYPASS(HOLDSYS(ACTION,DOC,DEP,AO,DELETE)) FORFMID(
  • 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 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.
  • 28.
    SMP/E Restore //STEP001 EXECPGM=GIMSMP,REGION=6M, // PARM='PROCESS=WAIT',DYNAMNBR=120 //SMPCSI DD DISP=SHR,DSN=IBMSMPE.OS210.GLOBAL.CSI //SMPOUT DD SYSOUT=* //SMPRPT DD SYSOUT=* //SMPLIST DD SYSOUT=* //SMPSNAP DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT2 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SYSUT3 DD UNIT=SYSALLDA,SPACE=(6160,(0230,0760)) //SMPPTFIN DD DUMMY //SMPHOLD DD DUMMY //SMPCNTL DD * SET BDY(MDRES1T). RESTORE CHECK S(UZ98456). /*
  • 29.
    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.
  • 31.
    Namaskara! • Thank youfor not asking too many questions!!!!!!!!!!! 