User Guide
User Guide
2.5
IBM
SA23-2277-50
Note
Before using this information and the product it supports, read the information in “Notices” on page
223.
This edition applies to Version 2 Release 5 of z/OS® (5650-ZOS) and to all subsequent releases and modifications until
otherwise indicated in new editions.
Last updated: 2021-09-30
© Copyright International Business Machines Corporation 1986, 2021.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
Figures................................................................................................................. xi
Tables................................................................................................................ xiii
Summary of changes...........................................................................................xix
Summary of changes for z/OS SMP/E User's Guide Version 3 Release 7 in z/OS Version 2 Release
5 (V2R5)................................................................................................................................................xix
Summary of changes for z/OS SMP/E User's Guide Version 3 Release 7 in z/OS Version 2 Release
4 (V2R4)................................................................................................................................................xix
Changes made in SMP/E Version 3 Release 6........................................................................................... xx
Changes made in SMP/E Version 3 Release 5........................................................................................... xx
iii
Using the RESTORE command............................................................................................................. 28
Summary.............................................................................................................................................. 30
Accepting the SYSMOD into the distribution libraries.............................................................................. 30
What happens during ACCEPT processing.......................................................................................... 30
How SMP/E keeps track of ACCEPT processing.................................................................................. 31
Using the ACCEPT command............................................................................................................... 32
Summary.............................................................................................................................................. 34
Displaying SMP/E data............................................................................................................................... 34
Using the query dialogs........................................................................................................................34
Using the LIST command..................................................................................................................... 36
Using the REPORT commands............................................................................................................. 37
SMP/E CSI application programming interface................................................................................... 38
Summary.............................................................................................................................................. 38
iv
Defining exit routines.................................................................................................................................89
v
Preparing your system.............................................................................................................................121
Staging the SYSMODs: The RECEIVE process........................................................................................ 121
Updating the target libraries: The APPLY process.................................................................................. 122
Checking the update (APPLY CHECK)................................................................................................123
Updating the target library (APPLY)................................................................................................... 126
Installing PTFs that need special processing....................................................................................126
Testing the new service level.................................................................................................................. 127
Updating the distribution libraries: The ACCEPT process...................................................................... 127
Checking the update (ACCEPT CHECK)............................................................................................. 127
Updating the distribution library (ACCEPT)....................................................................................... 128
Installing PTFs that need special processing....................................................................................129
Chapter 12. Displaying the data managed by SMP/E: The LIST command.............153
vi
Introduction............................................................................................................................................. 153
Listing all the SMP/E data........................................................................................................................ 153
Listing by specific entry type................................................................................................................... 154
Listing specific entries............................................................................................................................. 155
Listing by FMID or FMIDSET....................................................................................................................156
Listing to compare two zones..................................................................................................................156
Summary..................................................................................................................................................157
Chapter 13. Changing the data SMP/E manages: The UCLIN command................ 159
Introduction............................................................................................................................................. 159
When to use UCLIN..................................................................................................................................159
How to use UCLIN....................................................................................................................................160
Chapter 15. Identifying installed SYSMODs affected by error holds: The REPORT
ERRSYSMODS command................................................................................ 167
Introduction............................................................................................................................................. 167
Running the REPORT ERRSYSMODS command......................................................................................167
Installing the SYSMODs...........................................................................................................................168
Chapter 16. Listing the source IDs in a zone: The REPORT SOURCEID command.. 169
Introduction............................................................................................................................................. 169
Running the REPORT SOURCEID command........................................................................................... 169
Listing the SYSMODs................................................................................................................................169
Chapter 17. Comparing the SYSMODs installed in two zones: The REPORT
SYSMODS command.......................................................................................171
Introduction............................................................................................................................................. 171
Running the REPORT SYSMODS command............................................................................................ 171
Installing the SYSMODs...........................................................................................................................171
vii
Example 7: Adding new source code that uses an IBM-supplied macro......................................... 182
Example 8: Adding a new module that uses an IBM-Supplied macro............................................. 183
Chapter 19. Determining which SYSMODs led others to fail: The causer SYSMOD
summary report............................................................................................. 185
Introduction............................................................................................................................................. 185
Using causer SYSMOD information......................................................................................................... 185
Resolving errors for all SYSMODs that failed.....................................................................................185
Resolving errors for a single SYSMOD that failed..............................................................................186
Example..............................................................................................................................................186
viii
SPCLCMOD and CMWA.......................................................................................................................200
SMP/E V3R2 overview............................................................................................................................. 200
LINK LMODS command......................................................................................................................201
REPORT CALLLIBS command removal..............................................................................................201
UPGRADE command.......................................................................................................................... 201
GIMXSID service routine................................................................................................................... 201
GIMZIP: Archive segmentation......................................................................................................... 201
GIMZIP: User defined subdirectories................................................................................................202
Java archive files................................................................................................................................ 202
Smaller SMPLTS data set................................................................................................................... 202
DUMMY data set for SYSDEFSD......................................................................................................... 203
SMP/E dialog customization.............................................................................................................. 204
GIMUTTBL removal............................................................................................................................ 204
SMP/E V3R1 overview............................................................................................................................. 204
Defining exit routines using SMPPARM member GIMEXITS.............................................................204
Dynamic allocation using SMPPARM member GIMDDALC............................................................... 205
Enhanced link name values............................................................................................................... 205
Removal of function to create backup IEANUC01 load modules..................................................... 205
Conditional JCLIN processing............................................................................................................205
Network delivery of SMP/E input....................................................................................................... 206
AMODE=64 and COMPAT=PM4 link edit parameters....................................................................... 206
Selected SMP/E data sets may now reside in a UNIX file system.................................................... 206
HFS data set identification.................................................................................................................207
SMPPTS spill data sets.......................................................................................................................207
HOLDDATA summary reports.............................................................................................................207
SMP/E load modules and service routines moved to SYS1.MIGLIB.................................................207
GIMXTRX service routine...................................................................................................................207
OS/390 version 2 release 7 SMP/E overview..........................................................................................207
SMP/E planning and migration assistant........................................................................................... 208
Data element reformatting................................................................................................................ 208
Description for a SYSMOD..................................................................................................................208
Improved protection for UNIX file system files.................................................................................208
Pre-built load module support...........................................................................................................208
Product data....................................................................................................................................... 208
Sequential data set support...............................................................................................................208
Shell script support............................................................................................................................ 209
Symbolic link support........................................................................................................................ 209
OS/390 version 2 release 5 SMP/E overview..........................................................................................209
CBIPO dialogs.................................................................................................................................... 209
Client code installation...................................................................................................................... 209
Global zone merge............................................................................................................................. 209
Library change interface.................................................................................................................... 210
Improved load module build processing...........................................................................................210
Load module return code...................................................................................................................210
Performance improvements.............................................................................................................. 210
PTF compaction in SMPPTS data set.................................................................................................210
Enhanced RECEIVE command processing........................................................................................ 210
Reduced SMP/E message output.......................................................................................................211
GIMAPI: All entries and subentries support..................................................................................... 211
GIMAPI: Version support................................................................................................................... 211
OS/390 version 1 release 3 SMP/E overview..........................................................................................211
API for user access to the CSI........................................................................................................... 211
Enhanced cross-zone requisite checking.......................................................................................... 212
Enhanced exception SYSMOD report................................................................................................ 212
Enhanced ++IF FMID processing...................................................................................................... 212
Enhanced internal HOLD SYS processing.......................................................................................... 212
Enhanced ZONEEDIT command........................................................................................................ 213
Enhancements to the binder utility in DFSMS/MVS.......................................................................... 213
ix
System/390 service update facility................................................................................................... 213
OS/390 version 1 release 2 SMP/E overview..........................................................................................213
BLOCKSIZE=8800 for SMP/E data sets.............................................................................................214
BUILDMCS command.........................................................................................................................214
Bypassing system holds for specific SYSMODs.................................................................................214
FMIDSET selection.............................................................................................................................214
Receiving relative file data sets created from PDSEs....................................................................... 214
SMP/E dialogs: FIND command.........................................................................................................214
SMP/E GIMOPCDE member moved from PARMLIB.......................................................................... 215
Appendix C. Accessibility...................................................................................219
Accessibility features.............................................................................................................................. 219
Consult assistive technologies................................................................................................................ 219
Keyboard navigation of the user interface.............................................................................................. 219
Dotted decimal syntax diagrams.............................................................................................................219
Notices..............................................................................................................223
Terms and conditions for product documentation................................................................................. 224
IBM Online Privacy Statement................................................................................................................ 225
Policy for unsupported hardware............................................................................................................225
Minimum supported hardware................................................................................................................ 225
Trademarks.............................................................................................................................................. 226
Glossary............................................................................................................ 227
Index................................................................................................................ 249
x
Figures
2. Introducing an element.................................................................................................................................4
5. Customizing an element................................................................................................................................7
6. PTF replacement........................................................................................................................................... 8
7. PTF prerequisite............................................................................................................................................ 9
xi
24. A multiple-CSI structure...........................................................................................................................56
28. Using a master CSI and a separate CSI for each zone.............................................................................60
31. Relationships of OPTIONS, UTILITY, zone definition entries and the SET command............................ 71
32. Sample logon procedure that concatenates SMP/E and ISPF libraries...................................................78
xii
Tables
4. Entries describing the status and structure of the target and distribution libraries................................. 65
xiii
xiv
SMP/E publications
SMP/E publications
The IBM SMP/E for z/OS, V3R6 publications are available as PDF files in the z/OS Internet library
(www.ibm.com/servers/resourcelink/svc00100.nsf/pages/zosInternetLibrary).
Table 1 on page xv lists the IBM SMP/E for z/OS, V3R6 publications and briefly describes each one.
For information about z/OS publications and more information about the IBM SMP/E for z/OS, V3R6
books, see z/OS Information Roadmap.
Changed
The following content is changed.
• None.
Deleted
The following content is deleted.
• Removed Note from topic “Installing SYSMODs in the distribution libraries: ACCEPT” on page 45.
Deleted
The following content is deleted.
• None.
For SA23-2277-01
Changes were made to the "Recommended service upgrade" appendix, see Appendix B, “Recommended
service upgrade (RSU),” on page 217.
A change was made to the download servers to use certificates signed by DigiCert Global Root CA, see
Chapter 5, “Preparing for secure Internet delivery,” on page 103 for more information.
Changes were made to the CA certificates that the IBM Automated Delivery Request server (the "HSB")
can use; for more information, see Chapter 4, “Preparing to use Internet service retrieval,” on page 91
and Chapter 5, “Preparing for secure Internet delivery,” on page 103.
Support for HTTPS downloads was added; see Chapter 5, “Preparing for secure Internet delivery,” on
page 103.
For SA23-2277-14
New information:
• “Checking that you have the appropriate access” on page 89
This chapter provides an introduction to SMP/E to new SMP/E users. If you are already familiar with
SMP/E, you can skip this chapter.
Each system function is composed of one or more load modules. In a z/OS environment, a load module
represents the basic unit of machine-readable, executable code. Load modules are created by combining
one or more object modules and processing them with a link-edit utility. The link-editing of modules is
a process that resolves external references and addresses. The functions on your system, therefore, are
one or more object modules that were combined and link-edited.
To see where the object modules come from, llook at the example in Figure 1 on page 2.
Most of the time, object modules are sent to you as part of a product. In this example, the object module
MOD1 was sent as part of the product. Other times, you might need to assemble source code sent to you
by product packagers to create the object module. You can modify the source code and then assemble
it to produce an object module. In the example, SRCMOD2 is source code that you assemble to create
object module MOD2. When assembled, you link-edit object module MOD2 with object module MOD1 to
form the load module LMOD1.
In addition to object modules and source code, most products distribute many additional parts, such
as macros, help panels, dialog elements, and other z/OS library members. These modules, macros, and
other types of data and code are the basic building blocks of your system. All of these building blocks are
called elements.
• Modification control statements (MCS), designated by ++ as the first two characters, that tell SMP/E:
– What elements are being updated or replaced
– How the SYSMOD relates to product software and other SYSMODs
– Other specific installation information
• Modification text, which is the object modules, macros, and other elements supplied by the SYSMOD
There are four different categories of SYSMODs, each supporting a task you might want to perform:
Function SYSMODs
Introduce the elements for a product.
PTF (program temporary fix) SYSMODs
Prevent or fix problems with an element, or introduce new element s.
APAR (authorized program analysis reports) SYSMODs
Fix problems with an element.
USERMOD (user modifications) SYSMODs
Customize an element.
In this figure, the installation of a function SYSMOD link-edits object modules MOD1, MOD2, MOD3, and
MOD4 to create load module LMOD2. The executable code created in load module LMOD2 is installed in
the system libraries through the installation of the function SYSMOD.
There are two types of function SYSMODs:
• A base function SYSMOD adds or replaces an entire system function. Examples of base functions are
SMP/E and JES2.
• A dependent function SYSMOD provides an addition to an existing system function. It is called
dependent because its installation depends upon a base function already being installed. Examples
of dependent functions are the language features for SMP/E.
Both base function SYSMODs and dependent function SYSMODs are used to introduce new elements into
the system.
Here's an example of a simple function SYSMOD that introduces four elements:
In Figure 3 on page 5, we see a previously installed load module, LMOD2. If we want to replace the
element MOD1, we should install a PTF SYSMOD that contains the module MOD1. That PTF SYSMOD
replaces the element in error with the corrected element. As part of the installation of the PTF SYSMOD,
SMP/E relinks LMOD2 to include the new and corrected version of MOD1.
Here is an example of a simple PTF SYSMOD:
PTF SYSMODs are always dependent upon the installation of a function SYSMOD. In some cases, some
PTF SYSMODs may also be dependent upon the installation of other PTF SYSMODs. These dependencies
are called prerequisites. We will look at a typical PTF prerequisite when we discuss the complexity of
keeping track of the elements of the system.
The processing of the APAR SYSMOD provides a modification for object module MOD2. During the
installation of the APAR SYSMOD, MOD2 is updated (and corrected) in load module LMOD2.
Here is an example of a simple APAR SYSMOD:
The APAR SYSMOD always has the installation of a function SYSMOD as a prerequisite, and can also be
dependent upon the installation of other PTF or APAR SYSMODs.
Prerequisites for USERMOD SYSMODs are the installation of a function SYSMOD, and possibly the
installation of other PTF, APAR, or USERMOD SYSMODs.
SYSMOD prerequisites
As you have learned, PTF, APAR, and USERMOD SYSMODs all have the function SYSMOD as a prerequisite.
In addition to their dependencies on the function SYSMOD:
• PTF SYSMODs may be dependent upon other PTF SYSMODs.
• APAR SYSMODs may be dependent upon PTF SYSMODs and other APAR SYSMODs.
• USERMOD SYSMODs may be dependent upon PTF SYSMODs, APAR SYSMODs, and other USERMOD
SYSMODs.
Consider the complexity of these dependencies. When you multiply that complexity by hundreds of load
modules in dozens of libraries, the need for a tool like SMP/E becomes apparent.
Let's examine the impact of these dependencies on the maintenance of software in a z/OS environment.
But what happens if a second PTF replaces some of the code in a module that was replaced by PTF1?
Let's look at Figure 7 on page 9.
In this example, PTF2 contains replacements for MOD2 and MOD3. For MOD1, MOD2, and MOD3 to
interface successfully, PTF1 must be installed before PTF2. That's because MOD3 supplied in PTF2 may
depend on the PTF1 version of MOD1 to be present. It is this dependency that constitutes a prerequisite.
SYSMOD prerequisites are identified in the modification control statements (MCS) part of the SYSMOD
package we discussed in “Changing the elements of the system” on page 2.
In addition to tracking prerequisites, there is another important reason to track system elements. The
same module is often part of many different load modules. Let's take a look at the example in Figure 8 on
page 10.
In Figure 8 on page 10, the same MOD2 module is present in LMOD1, LMOD2, and LMOD3. When a PTF
is introduced that replaces the element MOD2, that module must be replaced in all the load modules in
which it exists. Therefore, it is imperative that we keep track of all load modules and the modules they
contain.
You can now appreciate how complicated the tracking of system elements and their modification levels
can become. Let's take a brief look at how we implement the tracking capabilities of SMP/E.
• Update modification identifiers (UMIDs) that identify the SYSMODs that have updated an element
since it was last replaced.
SMP/E uses these modification identifiers to track all SYSMODs installed on your system. This ensures
that they are installed in the proper sequence. Now that we realize the need for element tracking and
know the types of things SMP/E tracks, let's look at how SMP/E performs its tracking function.
If you look at this figure depicting the public library, you see bookshelves filled with books and a card
catalog with drawers containing a card for each book in the library. These cards contain information, such
as the title, author, publishing dates, type of book, and a pointer to the actual book on the shelf.
In the SMP/E environment, there are two distinct types of “bookshelves.” They are referred to as the
distribution libraries and the target libraries. Figure 10 on page 13 depicts these two types of SMP/E
libraries.
In much the same way the bookshelves in the public library hold the library books, the distribution and
target libraries hold the elements of the system.
Distribution libraries contain all the elements, such as modules and macros, that are used as input for
running your system. One very important use of the distribution libraries is for backup. Should a serious
error occur with an element on the production system, the element can be replaced by a stable level
found in the distribution libraries.
Target libraries contain all the executable code needed to run the system.
In SMP/E, when we speak of exception data, we are usually referring to HOLDDATA. HOLDDATA is often
supplied for a product to indicate a specified SYSMOD should be held from installation. Reasons for
holding a SYSMOD can be:
• A PTF is in error and should not be installed until the error is corrected (ERROR HOLD).
• Certain system actions may be required before SYSMOD installation (SYSTEM HOLD).
• The user may want to perform some actions before installing the SYSMOD (USER HOLD).
All the information found in the global zone, combined with the information found in the distribution and
target zones, represents the data SMP/E needs to install and track your system software.
Remember the picture of the public library in Figure 9 on page 12? Now look at Figure 11 on page 14.
Now you can see how all the elements of the system fit together, and how they can be installed, modified,
and tracked using SMP/E.
display that information, as well as information about modules, macros, and other elements, in several
different ways.
• Query dialogs display specific information you request through interactive dialogs with SMP/E.
• The LIST command generates a hardcopy listing of information about your system.
• REPORT commands check, compare, and generate hardcopy information about the contents of zones
on your system.
• The SMP/E CSI application programming interface can be used to write application programs to query
the contents of your system's CSI data sets.
For more information about displaying SMP/E data, refer to “Displaying SMP/E data” on page 34.
Preventive
You can order all currently available PTFs that meet your selection criteria. The package resulting from
such an order is tailored to your SMP/E environment and contains the PTFs that match your selection
criteria plus any requisite PTFs not already present in your environment. There are three selection
criteria:
Critical
Includes all available PTFs that resolve high impact pervasive (HIPER) problems or PTFs in error
(PE).
Recommended
Includes all available PTFs identified with Recommended Service Update SOURCEID (RSUyymm)
and all available PTFs that resolve a critical problem (HIPER or PE). Recommended service
includes PTFs through the most recent RSU level.
All
Includes all available PTFs.
All PTF packages also contain the last two years of Enhanced HOLDDATA for the entire z/OS software
platform.
Using the RECEIVE ORDER command, you can automate the service update process. For example, you
can have an SMP/E job run every night at 1:00 AM to order and download the latest HOLDDATA and critical
service, so the information is available locally and ready for use every morning.
Examples
Let's look at a few of these examples.
SET BDY(GLOBAL).
RECEIVE.
When you issue these commands, SMP/E receives all the SYSMODs and HOLDDATA on the service tape
into the global zone.
special handling or that are in error, it is important for you to receive the HOLDDATA into SMP/E's storage
repository as soon as possible. The following commands process only the HOLDDATA:
SET BDY(GLOBAL).
RECEIVE HOLDDATA.
By issuing these commands, you direct SMP/E to receive only the HOLDDATA from the service tape into
the global zone.
SET BDY(GLOBAL).
RECEIVE SYSMODS.
When you issue these commands, you direct SMP/E to receive only the SYSMODs from the service tape
into the global zone.
SET BDY(GLOBAL).
RECEIVE FORFMID(HOP0001).
By issuing these commands, you direct SMP/E to receive SYSMODs and HOLDDATA for the product whose
FMID is HOP0001 from the service tape into the global zone.
Note: An alternative url for the IBM Automated Delivery Request server is https://
eccgw02.rochester.ibm.com/services/projects/ecc/ws.
In addition to receiving the specified PTFs, you receive any requisites for these PTFs that are not already
present in the ZOS14 target zone.
For a more complete description of all the RECEIVE command operands and other examples, see the
RECEIVE command section in z/OS SMP/E Commands..
Reporting output
When RECEIVE processing is complete, these reports will help you analyze the results:
• The RECEIVE summary report provides you with an at-a-glance look at all the SYSMODs that were
processed during the RECEIVE command run. It shows you which SYSMODs were received, which were
not received, and why.
Note: The SYSMODs listed in this report depend on the operands you specify on the RECEIVE
command.
• The RECEIVE exception SYSMOD Data report provides you with a quick summary of the HOLDDATA
information processed during the RECEIVE command run. It lists the SYSMODs requiring special
handling or that are in error, and those SYSMODs no longer requiring special handling or that have
had an error fixed.
• The File allocation report provides you with a list of the data sets used for RECEIVE processing and
supplies information about these data sets.
For more information about these reports (and samples of actual reports), see the SMP/E Reports section
in z/OS SMP/E Commands.
Examples
Let's look at a few examples of how you might use the APPLY command.
SET BDY(ZOSTGT1).
APPLY PTFS.
By issuing these commands, you direct SMP/E to apply all eligible PTF SYSMODs to target zone ZOSTGT1.
Suppose you do not want to install all the PTF SYSMODs, but only a select few. You can do this by
specifying the following commands:
SET BDY(ZOSTGT1).
APPLY SELECT(UZ00001,UZ00002).
Issuing these commands results in the selection of only PTFs UZ00001 and UZ00002 for installation in
target zone ZOSTGT1.
SET BDY(ZOSTGT1).
APPLY APARS
USERMODS.
When you issue these commands, SMP/E installs all eligible APARs and USERMODs into target zone
ZOSTGT1.
SET BDY(ZOSTGT1).
APPLY PTFS
FORFMID(HOP0001).
or
SET BDY(ZOSTGT1).
APPLY FORFMID(HOP0001).
In both cases, SMP/E applies all applicable PTFs for the product with FMID HOP0001 to target zone
ZOSTGT1. Unless you specify otherwise, PTFS is the default SYSMOD type.
SET BDY(ZOSTGT1).
APPLY PTFS
APARS
FORFMID(HOP0001)
GROUPEXTEND.
By issuing these commands, you direct SMP/E to apply all PTFs and APARs, along with any other required
SYSMODs to the product whose FMID is HOP0001 and is located in the ZOSTGT1 target zone. If SMP/E
cannot find a required SYSMOD, it looks for and uses a SYSMOD that supersedes the required one.
SET BDY(ZOSTGT1).
APPLY PTFS
APARS
FORFMID(HOP0001)
GROUPEXTEND
CHECK.
After these commands are processed, you can check the SYSMOD Status report to see which SYSMODs
would have been installed if you had not specified the CHECK operand. If you are satisfied with the results
of this trial run, you can issue the commands again, without the CHECK operand, to actually install the
SYSMODs.
For a more complete description of all the APPLY command operands, and for additional examples, refer
to z/OS SMP/E Commands.
Reporting output
When APPLY processing is complete, these reports will help you analyze the results:
• The SYSMOD status report provides you with a summary of the processing that took place for each
eligible SYSMOD, based on the operands you specified on the APPLY command. It shows you which
SYSMODs were applied, which were not applied, and why.
• The Element summary report provides you with a detailed look at each element affected by APPLY
processing. It tells you in which libraries the elements were installed.
• The Causer SYSMOD summary report provides you with a list of SYSMODs that caused other SYSMODs
to fail, and describes the errors that must be fixed to successfully process the SYSMODs. This report can
reduce the amount of work involved in figuring out which errors caused SYSMODs to fail.
• The File allocation report provides you with a list of the data sets used for APPLY processing and
supplies information about these data sets.
Additional reports may be produced depending on the work being done and the content of the SYSMODs.
For more information about all the reports produced by the APPLY command (and samples of actual
reports), see z/OS SMP/E Commands.
Summary
Let's summarize what you have learned about using the APPLY command to install a SYSMOD in the target
libraries. The APPLY command:
• Selects SYSMODs to install
• Checks that all other required SYSMODs have been (or are being) installed
• Based on SYSMODs, selects elements to install
• Directs SMP/E to call the system utilities to update the target libraries
• Records what is applied:
– Target zone: Creates SYSMOD entries and element entries
– Global zone: Updates SYSMOD entries
– SMPSCDS data set: Creates BACKUP entries
• Reports the results of processing
Remember, you should never perform APPLY processing on a live production system!
Examples
Let's look at a few examples of how you might use the RESTORE command.
SET BDY(ZOZTGT1).
RESTORE SELECT(UZ00001).
By issuing these commands, you instruct SMP/E to remove PTF UZ00001 from target zone ZOZTGT1
and replace its elements in the target libraries with the previous level of elements from the distribution
libraries.
SET BDY(ZOZTGT1).
RESTORE SELECT(UZ00003)
GROUP.
By issuing these commands, you instruct SMP/E to restore PTF UZ00003 and any other related PTFs from
target zone ZOZTGT1, and replace their elements with the previous level from the distribution zone.
SET BDY(ZOZTGT1).
RESTORE SELECT(UZ00003)
GROUP
CHECK.
After these commands are processed, you can check the SYSMOD Status report to see which SYSMODs
would have been restored if you had not specified the CHECK operand. If you are satisfied with the results
of this trial run, you can issue the commands again, without the CHECK operand, to actually restore the
SYSMODs.
For a more complete description of all the RESTORE command operands, and for additional examples,
see the RESTORE command in z/OS SMP/E Commands.
Reporting output
When RESTORE processing is complete, these reports will help you analyze the results:
• The SYSMOD status report provides you with a summary of the processing that took place for each
eligible SYSMOD, based on the operands you specified on the RESTORE command. It shows you which
SYSMODs were restored, which were not restored, and why.
• The Element summary report provides you with a detailed look at each element replaced or modified
by RESTORE processing. It tells you in which libraries the elements were restored.
• The Causer SYSMOD summary report provides you with a list of SYSMODs that caused other SYSMODs
to fail, and describes the errors that must be fixed to successfully process the SYSMODs. This report can
reduce the amount of work involved in figuring out which errors caused SYSMODs to fail.
• The File allocation report provides you with a list of the data sets used for RESTORE processing and
supplies information about these data sets.
Additional reports may be produced depending on the work being done and the content of the SYSMODs.
For more information about all the reports produced by the RESTORE command (and samples of actual
reports), see the RESTORE command in z/OS SMP/E Commands.
Summary
Let's summarize what you have learned about using the RESTORE command to remove a SYSMOD from
the target libraries. The RESTORE command:
• Removes the SYSMOD from the indicated target zone
• Calls system utilities to replace the SYSMOD's elements in the target libraries with elements from the
related distribution libraries
• Records what is restored:
– Target zone: Restores element entries to reflect their distribution zone level and deletes all
information about restored SYSMOD.
– Global zone: Deletes SYSMOD entries and MCS statements in SMPPTS for restored SYSMOD. Any
SMPTLIB data sets created during RECEIVE processing are also deleted for the restored SYSMOD.
(This global zone processing is optional.)
– SMPSCDS data set: Deletes BACKUP entries for restored SYSMOD.
• Reports the results of processing
Note: Not all SYSMODs can be restored. For example, SMP/E cannot restore a SYSMOD that deletes
another SYSMOD or that deletes a load module during APPLY processing.
Examples
Let's look at a few examples of how you might use the ACCEPT command.
SET BDY(ZOSDLB1).
ACCEPT PTFS.
By issuing these commands, you direct SMP/E to accept all eligible PTF SYSMODs into distribution zone
ZOSDLB1.
Suppose you do not want to install all the PTF SYSMODs, but only a select few. You can do this by
specifying the following commands:
SET BDY(ZOSDLB1).
ACCEPT SELECT(UZ00001,UZ00002).
When you issue these commands, only PTFs UZ00001 and UZ00002 are installed in distribution zone
ZOSDLB1.
SET BDY(ZOSDLB1).
ACCEPT PTFS
FORFMID(HOP0001).
or
SET BDY(ZOSDLB1).
ACCEPT FORFMID(HOP0001).
In both cases, SMP/E accepts all applicable PTFs for the product whose FMID is HOP0001 and that is
located in distribution zone ZOSDLB1. Unless you specify otherwise, PTFS is the default SYSMOD type.
SET BDY(ZOSDLB1).
ACCEPT PTFS
FORFMID(HOP0001)
GROUPEXTEND.
By issuing these commands, you direct SMP/E to accept all PTFs, along with any other required SYSMODs,
to the product whose FMID is HOP0001 and is located in the ZOSDLB1 distribution zone. If SMP/E cannot
find a required SYSMOD, it looks for and uses a SYSMOD that supersedes the required one.
SET BDY(ZOSTGT1).
ACCEPT PTFS
FORFMID(HOP0001)
GROUPEXTEND
CHECK.
After these commands are processed, you can check the SYSMOD Status report to see which SYSMODs
would have been installed if you had not specified the CHECK operand. If you are satisfied with the results
of this trial run, you can issue the commands again, without the CHECK operand, to actually install the
SYSMODs.
For a more complete description of all the ACCEPT command operands and other examples, see z/OS
SMP/E Commands.
Reporting output
When ACCEPT processing is complete, these reports will help you analyze the results:
• The SYSMOD status report provides you with a summary of the processing that took place for each
eligible SYSMOD, based on the operands you specified on the ACCEPT command. It shows you which
SYSMODs were accepted, which were not accepted, and why.
• The Element summary report provides you with a detailed look at each element affected by ACCEPT
processing. It tells you in which libraries the elements were installed.
• The Causer SYSMOD summary report provides you with a list of SYSMODs that caused other SYSMODs
to fail, and describes the errors that must be fixed to successfully process the SYSMODs. This report can
reduce the amount of work involved in figuring out which errors caused SYSMODs to fail.
• The File allocation report provides you with a list of the data sets used for ACCEPT processing and
supplies information about these data sets.
Additional reports may be produced depending on the work being done and the content of the SYSMODs.
For more information about all the reports produced by the ACCEPT command (and samples of actual
reports), see z/OS SMP/E Commands.
Summary
Let's summarize what we have learned about using the ACCEPT command to install a SYSMOD in the
distribution (or backup) libraries. The ACCEPT command:
• Selects SYSMODs to install
• Checks that all other required SYSMODs have been (or are being) installed
• Based on SYSMODs, selects elements to install
• Directs SMP/E to call the system utilities to update the distribution libraries
• Records what is accepted:
– Distribution zone: Creates SYSMOD entries and element entries.
– Global zone: Deletes SYSMOD entries and MCS statements in SMPPTS. Any SMPTLIB data sets
created during RECEIVE processing are also deleted. (This global zone processing is optional.)
• Reports the results of processing
Remember, once you have accepted a SYSMOD, it cannot be restored.
data set. The Query dialogs are one of the easiest and most direct methods you can use to obtain the
content and status of any SYSMOD that has been processed by SMP/E. You can use the Query dialogs to
display an entry in either a specific zone (CSI query) or in all zones (cross-zone query).
You can use the SMP/E dialogs to view a SYSMOD, even if it has been compacted. Use the Query dialog
(zone is GLOBAL, entry type MCS, entry name is the SYSMOD name) and you will be shown the complete
SYSMOD in an edit session. You may save the SYSMOD in a different location from this session. If you are
using SMPPTS spill data sets, there is another benefit of viewing the SYSMOD from the Query dialog, in
that you do not have to know in which SMPPTS data set the SYSMOD is stored; SMP/E will find it for you.
To get to the Query dialogs, you select Query (option 3) on the main menu for SMP/E (GIM@PRIM). This
takes you to the initial Query panel, shown in Figure 17 on page 35. If you need assistance with using the
Query dialogs, (or any of the SMP/E dialogs), help panels are available.
Let's assume you want to find out which SYSMODs have been applied to a particular target zone on your
system. You can accomplish this task using the QUERY SELECTION MENU and selecting the CSI QUERY
option (1), as shown in Figure 17 on page 35.
When the CSI QUERY panel is displayed (see Figure 18 on page 35), you can indicate that you want
SMP/E to check target zone ZOSTGT1 for all SYSMOD entries.
Because the ENTRY NAME was left blank on the CSI QUERY panel, SMP/E displays another panel (see
Figure 19 on page 36) that lists all the SYSMOD entries in target zone ZOSTGT1.
S NAME ACTION
AZ00005
s UZ00001
UZ00002
The CSI QUERY - SELECT ENTRY panel shows that SYSMODs AZ00005, UZ00001, and UZ00002 have
been applied to target zone ZOSTGT1. If you want more information about the contents of SYSMOD
UZ00001, you can select that entry by entering an S next to it, and another panel is displayed (see Figure
20 on page 36).
The CSI QUERY - SYSMOD ENTRY panel displays all the relevant information pertaining to SYSMOD
UZ00001.
As you can see, the QUERY dialog panels provide a quick and easy way for you to obtain information about
your system.
Examples
Let's look at a few basic examples of how you might use the LIST command.
SET BDY(GLOBAL).
LIST SYSMODS.
By issuing these commands, you direct SMP/E to list all the SYSMOD entries in the global zone.
SET BDY(ZOSTGT1).
LIST SYSMOD(UZ00001).
By issuing these commands, you direct SMP/E to provide you with information about SYSMOD UZ00001 in
target zone ZOSTGT1.
SET BDY(GLOBAL).
LIST SYSMODS
NOAPPLY(ZOSTGT1).
By issuing these commands, you direct SMP/E to list the SYSMODs that have been received, but have not
yet been applied to target zone ZOSTGT1.
Reporting output
When LIST processing is complete, these reports will provide you with the information that was
requested:
• The LIST summary report provides you with information about the type of entry, name of entry, and
status of entry for zones and data sets you have specified.
• The File allocation report provides you with a list of the data sets used for LIST processing, and
supplies information about these data sets.
For a more complete description of the LIST command, additional examples, and samples of actual
reports, refer to z/OS SMP/E Commands.
Example
Let's look at a basic example of how you might use the REPORT SYSMODS command. Assume you have
two systems using the same global zone, and you want to check which SYSMODs are installed in a target
zone on one system, but are not installed in a target zone on the other system. You can accomplish this by
specifying the following commands:
SET BDY(GLOBAL).
REPORT SYSMODS
INZONE(ZOSTGT1)
COMPARED(ZOSTGT2).
By issuing these commands, you direct SMP/E to compare the SYSMOD content of zone ZOSTGT1 to that
of zone ZOSTGT2. Any SYSMODs that are in zone ZOSTGT1 and are not in zone ZOSTGT2 appear in the
resulting report.
SMP/E also provides output you can use to install those SYSMODs you deem appropriate.
Reporting output
When REPORT SYSMODs processing is complete, these reports will provide you with the information that
was requested:
• The SYSMOD comparison report provides you with a summary of the SYSMODs found in the input zone,
but not found in the comparison zone. It can help you determine which SYSMODs might need to be
installed in the comparison zone so its content reflects that of the input zone.
• The File allocation report provides you with a list of the data sets used for REPORT processing, and
supplies information about these data sets.
For a more complete description of the REPORT commands, additional examples, and samples of actual
reports, see the section on SMP/E reports in z/OS SMP/E Commands.
Summary
Let's summarize what you have learned about using the Query dialogs, the LIST command, the REPORT
command, and the CSI API to check SMP/E's records for your system:
• Query dialogs: Easy and fast way to obtain information
• LIST command: Best for hardcopy listing
• REPORT commands: Best for checking and comparing zone contents
• SMP/E CSI application programming interface: Best for writing an application program to query the
contents of your system's CSI data sets.
This chapter summarizes some basic concepts that you will need to understand before you can use
SMP/E. It briefly describes:
• What SMP/E is
• What system modifications are
• The data sets used by SMP/E
• How SMP/E can help you install and maintain products, and monitor changes to products
What is SMP/E?
SMP/E is the basic tool for installing and maintaining software in OS/390® or 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
SMP/E is an integral part of the installation, service, and maintenance processes for CBPDOs,
ProductPacs, RefreshPacs, and selective follow-on service for CustomPacs. In addition, SMP/E can be
used to install and service any software that is packaged in SMP/E system modification (SYSMOD) format.
SMP/E can be run either using batch jobs or using dialogs under Interactive System Productivity
Facility/Program Development Facility (ISPF/PDF). SMP/E dialogs help you interactively query the SMP/E
database, as well as create and submit jobs to process SMP/E commands.
These are some of the types of software that can be installed by SMP/E:
• Products and service provided in CBPDOs and CustomPac offerings
• Products and service from IBM Software Distribution Centers not provided in CBPDOs or CustomPac
offerings
• Service provided in Expanded Service Options (ESOs)
• Other products and service
SMP/E can install software from any of these sources, provided it is packaged as a system modification, or
SYSMOD.
– A dependent function provides an addition to an existing functional area in the system. It is called
dependent because its installation depends on a base function already being installed. Examples of
dependent functions are the language features for SMP/E.
• PTFs. These are IBM-supplied, tested fixes for reported problems. They are meant to be installed in all
environments. PTFs may be used as preventive service to avoid certain known problems that may have
not yet appeared on your system, or they may be used as corrective service to fix problems you have
already encountered. The installation of a PTF must always be preceded by that of a function SYSMOD,
and often other PTFs as well.
• APAR fixes. Authorized program analysis reports (APARs) are temporary fixes designed to fix or bypass
a problem for the first reporter of the problem. These fixes may not be applicable to your environment.
The installation of an APAR must always be preceded by that of a function SYSMOD, and sometimes of a
particular PTF. That is, an APAR is designed to be installed on a particular preventive-service level of an
element.
• User modifications (USERMODs). These are SYSMODs built by you, either to change IBM code or to
add independent functions to the system. The installation of a USERMOD must always be preceded by
that of a function SYSMOD, sometimes certain PTFs, APAR fixes, or other USERMODs.
Note: If you want to package a user application program or new system function in SMP/E format, the
correct way is to build a base or dependent function SYSMOD, not a USERMOD.
Figure 21 on page 40 shows the hierarchy of the various SYSMOD types. This example shows two service
chains: one for the base function HZY1101 and one for the dependent function JZY1121.
SMP/E keeps track of the functional and service levels of each element and uses the SYSMOD hierarchy
to determine such things as which functional and service levels of an element should be installed and the
correct order for installing updates for elements. For more information about how SMP/E determines the
processing order of changes, as well as the functional and service levels of elements, refer to the sections
on the APPLY command and the, ACCEPT command in z/OS SMP/E Commands.
There can be more than one zone in an SMPCSI data set (in fact, there can be up to 32766 zones per
data set). For example, an SMPCSI data set can contain a global zone, several target zones, and several
distribution zones. The zones can also be in separate SMPCSI data sets. One SMPCSI data set can
contain just the global zone, a second SMPCSI data set the target zones, and a third SMPCSI data set
the distribution zones. For more information about ways to structure SMPCSI data sets, see z/OS SMP/E
Reference.
• An SMPPTS (PTS) data set is a data set for temporary storage of SYSMODs waiting to be installed.
The PTS is used strictly as a storage data set for SYSMODs. The RECEIVE command stores SYSMODs
directly on the PTS without any modifications of SMP/E information. The PTS is related to the global
zone in that both data sets contain information about the received SYSMODs. Only one PTS can be used
for a given global zone. Therefore, you can look at the global zone and the PTS as a pair of data sets that
must be processed (for example, deleted, saved, or modified) concurrently.
• The SMPSCDS (SCDS) data set contains backup copies of target zone entries modified during APPLY
processing. Therefore, each SCDS is directly related to a specific target zone, and each target zone must
have its own SCDS.
SCDS data sets are used by SMP/E to store backup copies of target zone entries modified during APPLY
processing. Therefore, each SCDS is directly related to a specific target zone, and each target zone must
have its own SCDS.
SMP/E also uses the following data sets:
• The SMPMTS (MTS) data set is a library in which SMP/E stores copies of macros during installation
when no other target macro library is identified. Therefore, the MTS is related to a specific target zone,
and each target zone must have its own MTS data set.
• The SMPSTS (STS) data set is a library in which SMP/E stores copies of source during installation when
no other target source library is identified. Therefore, the STS is related to a specific target zone, and
each target zone must have its own STS data set.
• The SMPLTS (LTS) data set is a library that maintains the base version of a load module. The load
module in this library specifies a SYSLIB allocation in order to implicitly include modules. Therefore, the
LTS is related to a specific target zone, and each target zone must have its own LTS data set.
• Other utility and work data sets.
SMP/E uses information in the CSI data sets to select proper element levels for installation, to determine
which libraries should contain which elements, and to identify which system utilities should be called for
the installation.
System programmers can also use the CSI data sets to obtain the latest information about the structure,
content, and status of the system. SMP/E provides this information in reports, listings, and dialogs to help
you:
• Investigate function and service levels
• Understand intersections and relationships of SYSMODs (either installed or waiting to be installed)
• Build job streams for SMP/E processing
Where to begin
You must specify a SET command before SMP/E can process any other commands.
Installing SYSMODs
The primary purpose of SMP/E is to install SYSMODs. This section describes the tasks and commands you
can use.
When the RECEIVE command is executed to process a pending order, SMP/E performs the following
steps:
1. Reads the global zone to find the entry for the specified ORDER and determines if the order has a
status of PENDING.
2. Queries the status for the pending order on the server. The server responds to indicate either that the
order has been fulfilled and is ready to be downloaded, or that the order is not yet ready.
3. If the order is not yet ready for downloading, SMP/E again waits a period of time for the order to
be fulfilled and be ready for downloading. During this time, SMP/E periodically queries the status of
the order on the server. If the order is not fulfilled within the maximum allowed time, then RECEIVE
processing ends and the order remains in a pending state.
4. If the order is fulfilled within the maximum allowed time, the server responds to SMP/E with the
information required to download the resultant package (FTP server, directory where the package
resides on the server, user ID, password, and the package SHA-1 hash value).
5. SMP/E downloads the package to the local SMPNTS directory using FTP and the capabilities of
the RECEIVE FROMNETWORK command. Once the package has been completely downloaded,
SMP/E changes the status value for the order's ORDER entry in the global zone from PENDING to
DOWNLOADED.
6. SMP/E expands the contents of the downloaded package and traditional RECEIVE processing stores
PTFs and HOLDDATA into the global zone and SMPPTS data set (SMP/E skips this step if the user
specified TRANSFERONLY on the RECEIVE command).
• REPORT SOURCEID to list source IDs assigned to SYSMODs in a given zone or ZONESET.
• REPORT SYSMODS to list SYSMODs installed in one zone and applicable to a second zone, but not yet
installed in it.
Processing the SMP/E database to update several entries of the same type:
ZONEEDIT
Use the ZONEEDIT command to quickly change the values for a field in different DDDEF or UTILITY
entries in the same zone. You can also use ZONEEDIT to change the cross-zone subentries of MOD, LMOD,
and TARGETZONE entries.
Processing the SMP/E database to define the structure of the target libraries:
JCLIN
To install a SYSMOD successfully, SMP/E must have information about the structure of your target
libraries, such as:
• The library in which an element resides
• How modules are link-edited together to form load modules
• Where the load modules exist and their characteristics
The JCLIN command enables you to define the target library structure. In some instances, such as
defining the target library structure for data elements, it is not necessary to use JCLIN, because the
definition in the MCS statement is sufficient.
When processing the JCLIN command, you provide SMP/E with a job stream containing all the job steps
(such as copies, link-edits, and assemblies) needed to create a set of target libraries from a set of
distribution libraries. SMP/E then scans that input and builds all required entries to define the target
system structure.
Processing the SMP/E database to write information to the SMPLOG data set:
LOG
Use the LOG command to write to the SMPLOG and SMPLOGA data sets. This is useful for maintaining
documentation about your system, such as who installed a certain SYSMOD, and why.
Managing zones
This section describes the tasks and commands you can use to manage zones.
Copying a zone from a sequential data set to a CSI data set: ZONEIMPORT
Use the ZONEIMPORT command to reload an exported zone into a distribution, target, or global zone.
ZONEIMPORT can be used only with output from ZONEEXPORT.
This chapter discusses how to prepare to use SMP/E after it has been installed. It describes how to do the
following:
1. Authorize use of SMP/E commands and services
2. Allocate and initialize data sets in the SMP/E database.
3. Define entries in the CSI data set to do the following:
• Create the zones associated with the PTS, distribution libraries, and target libraries.
• Define the product and SMP/E libraries used during SMP/E processing.
• Define the utility programs and associated parameters used during SMP/E processing.
• Define the libraries that are eligible for retry processing after x37 abends.
4. Connect the SMP/E dialogs to ISPF
5. Set up SMP/E for easier operation:
• Specify SMP/E OPTIONS entry
• Specify link edit utility output DDDEF entries
• Specify automatic cross-zone requisite checking
6. Define the information needed to invoke SMP/E.
7. Define exit routines, if desired, to customize SMP/E processing.
Table 2. Functions and resource names that must be carefully controlled (continued)
Function Resource name
RESTORE command GIM.CMD.RESTORE
REJECT command GIM.CMD.REJECT
LINK command GIM.CMD.LINK
CLEANUP command GIM.CMD.CLEANUP
Program GIMZIP GIM.PGM.GIMZIP
Program GIMUNZIP GIM.PGM.GIMUNZIP
Program GIMIAP GIM.PGM.GIMIAP
You may define discrete profiles to control individual SMP/E functions, or you may choose to define
generic profiles. However, if the resources are not protected by the security manager, or a user does not
have READ authority to those resources, then SMP/E processing will stop. A sample RACF® command to
define a single generic FACILITY class profile and to define a user ID in the access list of that profile is as
follows:
• RDEFINE FACILITY GIM.* UACC(NONE)
• PERMIT GIM.* CLASS(FACILITY) ID(user ID) ACCESS(READ)
If you have activated SETROPTS RACLIST processing for the FACILITY class, you must also refresh
SETROPTS RACLIST processing for the updates to take affect:
• SETROPTS RACLIST(FACILITY) REFRESH
It might be difficult to identify and add all necessary user IDs to the access list for the subject profiles,
whether using a single generic profile as in the previous example, or multiple discrete profiles. With this
in mind, although not recommended by IBM, it is possible to define the profiles with WARNING and
AUDIT(FAILURES(READ)) to help identify and log all user IDs that currently invoke SMP/E functions and
will require eventual definition in the profiles' access list. After sufficient analysis and after the access list
has been updated, then profiles should be changed to NOWARNING.
Note: The preceding sample commands to define a FACILITY class profile and to define a user ID in the
access list of that profile assume the use of RACF as the security manager. If you use a security manager
other than RACF, see the appropriate documentation for equivalent commands.
Single-CSI structure
You can define the CSI structure to have one CSI that keeps track of all your system activity. The
single-CSI data set has one global zone and one or more target and distribution zones. These are some
reasons for having a single-CSI data set:
• The single-CSI data set optimizes the use of direct access storage.
• The single-CSI data set puts your whole establishment in one VSAM data set. This provides you with a
single control point and one source of information for your whole system.
Single-CSI systems do have a drawback. When SMP/E needs to process a zone, it cannot request access
to that specific zone; it must request access to the CSI data set containing that zone. As a result, if you
have a single-CSI system, you can run only one background SMP/E job at a time.
Figure 23 on page 54 shows a single-CSI data set structure.
Multiple-CSI structure
Multiple CSI data sets can be:
• Separate from each other, each with its own global zone.
• Connected by ZONEINDEX entries to a single global zone. (The global zone must be in one of the CSI
data sets.)
Multiple CSIs enable you to use more than one VSAM data set for the global, target, and distribution
zones. These are some reasons for having multiple CSI data sets:
• Your system may need multiple CSIs because of the characteristics of a particular installation—its
programming support, its backup and update needs, and its need for added security and data integrity.
For example, keeping libraries and their associated zones synchronized when you dump them for
backup is easier if you keep them on the same physical DASD.
• Your system may need multiple CSIs if the support teams for different subsystems—such as MVS,
CICS®, IMS, and NCP—are at different places.
• You may want to be able to run more than one background SMP/E job at a time. When SMP/E needs to
process a zone, it cannot request access to that specific zone; it must request access to the CSI data
set containing that zone. If your zones are in separate CSI data sets, processing for one zone does not
prevent access to another zone.
Figure 24 on page 56 shows a multiple-CSI data set structure.
Example 4: Using a master CSI and a separate CSI for each zone
In Figure 28 on page 60, one global zone is defined for the entire system in a master CSI, and separate
CSIs are allocated for the JES3 and IMS subsystems on the packs where the subsystem libraries reside.
Unlike Example 3, each zone is in its own separate CSI. This CSI structure provides the advantages of a
common control point (as in Example 2) and keeps the SMP/E control information physically associated
with the libraries it describes. This is useful when you dump packs for backup.
Figure 28. Using a master CSI and a separate CSI for each zone
Figure 29. Using a master CSI and one CSI per SREL
Catalog considerations
When you catalog the CSI data sets used by SMP/E, remember these considerations:
• User catalogs: You should catalog each CSI in a user catalog, not in the master catalog. However, the
user catalog does not need to be on the same volume as the CSI.
• Alias entries for user catalogs: Catalog information should be accessible through your master catalog.
You can do it by defining each user catalog as an alias in the master catalog. For an example of defining
an alias for a user catalog, see “Defining an alias entry for a user catalog” on page 62. Defining alias
entries for user catalogs enables you to access all the CSI data sets and it eliminates the need to restore
both the DASD containing the master catalog and the DASD containing the CSI after an I/O error.
//SYSIN DD *
DEFINE CLUSTER( +
NAME(SMPE.GLOBAL.CSI) +
VOLUMES(volid) +
CYLINDERS(100 10) +
FREESPACE(10 5) +
KEYS(24 0) +
RECORDSIZE(24 143) +
SHAREOPTIONS(2 3) +
) +
DATA ( +
NAME(SMPE.GLOBAL.CSI.DATA) +
CONTROLINTERVALSIZE(8192) +
) +
INDEX (NAME(SMPE.GLOBAL.CSI.INDEX) +
CONTROLINTERVALSIZE(4096) +
)
REPRO INFILE(GIMZPOOL) +
OUTDATASET(SMPE.GLOBAL.CSI)
/*
'SMPE.SMPCSI.CSI'
'PP.SMPCSI.CSI'
'IMS.SMPCSI.CSI'
'TEST.CSI'
• KEYS(24 0)
• RECORDSIZE(24 143)
• SHAREOPTIONS(2 3)
SMP/E requires 2 as the cross-region SHAREOPTIONS value. It uses the default value of 3 as the
cross-system SHAREOPTIONS value. Because SMP/E does not support cross-system sharing of the CSI,
you cannot specify 4 as the cross-system value for SHAREOPTIONS. If you want to support cross-zone
sharing, you must either use Global Resource Serialization (GRS) or a similar function, or ensure that the
data set is not updated by multiple systems simultaneously.
• CONTROLINTERVALSIZE (CISIZE)
If you allocate more than one CSI data set, ensure that they all have the same data CI size and index
CI size. Doing so will allow SMP/E to take advantage of local shared resources (LSR) and VSAM resource
pools. If the CSI data sets have different CISIZE values, SMP/E may open the data sets without using
LSR.
• CYLINDERS
The CYLINDERS value is only an estimated starting value. Your cylinder value may vary according to the
device type, the software arrangement, the amount of service you install, and the number of CSIs.
The following job creates an alias entry in the master catalog for a CSI data set named
SMPE.SMPCSI.CSI that is cataloged in a user catalog named SMPECAT:
If the CSI data sets are cataloged in different user catalogs, they must have different high-level qualifiers.
After you have defined the zones for your system, you can create other entries. SMP/E zones contain two
basic types of entries:
• Entries controlling SMP/E processing.
You generally define processing control entries through the SMP/E Administration dialogs or with the
UCLIN command. Table 3 on page 65 summarizes the information specified in these entries.
• Entries describing the structure and status of the target and distribution libraries.
Status and structure entries are generally created by SMP/E when you install SYSMODs, run the JCLIN
command, or copy entries from one zone to another. Table 4 on page 65 summarizes the information
specified in these entries.
SMP/E provides a member in SYS1.SAMPLIB (GIMSAMPU) containing sample UCLIN statements to define
entries for a basic z/OS system. You can access this member by use of standard system utilities. The
sample definitions are syntactically correct and can be used as the basis for your CSI entries. This sample
is not complete for all systems, but it is an example of the types of information various entries need. For
examples of UCLIN to define entries, see z/OS SMP/E Commands, which has the UCLIN syntax for each
entry type. Also see the section on SMP/E data set entries in z/OS SMP/E Reference, which contains a
description of the syntax plus examples and notes on its use.
1. For more information about dynamically allocating data sets, see “How to dynamically allocate data sets to
be used during SMP/E processing” on page 67.
2. For more information about processing exception SYSMODs, see Chapter 10, “Managing exception
SYSMODs,” on page 141. HOLDDATA entries cannot be updated by UCLIN or the Administration dialogs.
3. For more information about defining information to be used during SMP/E's retry processing after x37
abends, see “Recovering after errors from utility processing” on page 73.
4. For more information about defining utility programs and associated parameters, see “Defining utility
programs and associated parameters to SMP/E” on page 69.
Table 4. Entries describing the status and structure of the target and distribution libraries
Type of information Entry type Zone where defined
Global Target DLIB
Assembler statements that can be assembled ASSEM X X
to create an object module
Data elements installed in the target or Data element entries X X
distribution libraries (data elements are
elements other than macros, modules, or
source)
Distribution libraries that were totally copied to DLIB X X
target libraries
Elements installed in a UNIX file system Hierarchical file X X
system element
entries
Java™ Archive files JAR X X
Java Archive update files JARUPD X X
Load module information LMOD X X
Table 4. Entries describing the status and structure of the target and distribution libraries (continued)
Type of information Entry type Zone where defined
Global Target DLIB
Macros that have been installed in the target or MAC X X
distribution libraries
Module source that has been installed in the SRC X X
target or distribution libraries
Modules used to create load modules in the MOD X X
target libraries
Program objects PROGRAM X X
Software product information PRODUCT X
Software product feature information FEATURE X
SYSMODs that have been processed SYSMOD X X X
After examining the LISTCAT output, you may determine that the CSI should be reorganized to eliminate
splits in the control intervals or control areas and to reset the amount of free space available. This can
be done through the access method services EXPORT and IMPORT commands. Once a CSI has been
exported, a new CSI can be allocated, and the exported CSI can be imported so that normal SMP/E
processing can continue.
Note: These examples are not the only way of compressing the CSI. You may prefer to use another
method, drawing on your experience and knowledge of VSAM.
The following is a sample job for exporting the CSI:
//SYSIN DD *
IMPORT INFILE(TEMPCSI) -
OUTFILE(SMPCSI) -
INTOEMPTY
/*
Note:
1. If you want to delete the original CSI (SMPE.SMPCSI.CSI) when the exported copy (SMPCSI.DATA) is
created, do not use the IDCAMS TEMPORARY keyword on the EXPORT command.
If you want to make a backup copy of the CSI, you can use the TEMPORARY keyword on the EXPORT
command to keep the original CSI intact.
2. Use a sequential data set to receive the exported CSI.
3. After allocating a new CSI to be imported into, do not prime it with the GIMZPOOL record provided in
SYS1.MACLIB; if you do, the import operation will fail.
you must make sure to provide a DD statement that points to each of those zones and their associated
CSIs.
With dynamic allocation, you do not have these problems. Subsequent sections describe the sources from
which SMP/E can get the information it needs to allocate data sets dynamically and how it chooses which
of these sources to use.
DDDEF entries
You can use DDDEF entries to provide SMP/E with information it needs to allocate any of the following:
• Permanent data sets, such as target libraries, distribution libraries, and SMP/E data sets
• Temporary data sets
• SYSOUT data sets
• Work data sets
• Pathnames for elements and load modules residing in a UNIX file system
Note: A member of a partitioned data set cannot be specified using a DDDEF entry.
The name of the DDDEF entry must match the ddname of the data set it describes and the entry must
exist in the zone that uses the data set. DDDEF entries provide more flexibility than DD statements; they
enable different zones to use different data sets for the same ddname and they use resources more
efficiently because they allow SMP/E to allocate only the data sets it needs.
DDDEF entries can include the following information:
• Data set name
• Unit type
• Volume serial number
• Initial data set status: NEW, OLD, MOD, or SHR
• Final data set status: KEEP, DELETE, or CATALOG
• How the data set is to be allocated: blocks, cylinders, or tracks
• Primary and secondary values for space allocation
• Whether the data set should be RACF-protected
• Whether the data set is SMS-managed
• Directory information used to allocate the pathname for an element or load module residing in a UNIX
file system.
For more information about DDDEF entries, see z/OS SMP/E Reference.
Standard defaults
SMPOUT and SYSPRINT are critical for SMP/E to operate properly. Therefore, in case they are not defined,
SMP/E has built-in defaults for them.
• SMPOUT is allocated either as SYSOUT (for background processing) or to the terminal (for foreground
processing).
• SYSPRINT is allocated as SYSOUT.
• Each UTILITY entry defines the information to be used when invoking a specific type of utility:
– The name of the utility program
– The maximum utility return code that SMP/E should consider to be successful
– The ddname to be used for utility output
– Parameters to be passed to the utility
Notes:
1. If you replace a default utility program, the replacement utility program must be compatible with
the default utility it replaces, both in the way it processes any control statements and execution
parameters generated by SMP/E and in the return codes that it returns to SMP/E.
2. When the load module being link-edited contains a CALLLIBS subentry list, SMP/E does not always
use NCAL by default. In this case, SMP/E uses CALL for the link to the actual target library or NCAL for
the link to the SMPLTS library. SMP/E always uses NCAL for ACCEPT processing.
3. If SYSTSPRT is specified as the PRINT value, it is ignored and the default of SYSPRINT is used
instead.
Figure 31. Relationships of OPTIONS, UTILITY, zone definition entries and the SET command
A
If the information should be the default for processing a particular zone, update the associated
zone definition entry to point to the desired OPTIONS entry. The default OPTIONS ENTRY is
always used for processing that zone, unless you override the OPTIONS entry with the SET
command.
B
Otherwise, use the SET command to indicate which OPTIONS entry to use when processing the
zone specified on the SET command. The information in the specified OPTIONS entry overrides
the default OPTIONS entry defined for the zone.
For examples of these steps, see “Example: How to request the desired utility processing” on page
72. For more detailed information, see the topic on OPTIONS Entry. UTILITY Entry, GLOBALZONE Entry,
DLIBZONE Entry,, and TARGETZONE Entry in z/OS SMP/E Reference. Also see z/OS SMP/E Commands for
information about the SET command.
Note: You can specify which utility programs SMP/E can call by using the PROGRAM class of the z/OS
Security Server (RACF). Refer to z/OS Security Server RACF Security Administrator's Guide for more
information about how to use this function.
1 You want SMP/E to call a user routine, USERRCVR, rather than IEBCOPY,
Define the desired utility name to recover from x37 abends. This is the processing you need:
and parameters in a UTILITY • The program must receive parameter TYPE=FAST.
entry.
• The output should go to X37PRINT rather than SYSPRINT.
• A return code of 4 or less is acceptable.
• You want to suppress the listing of member names during retry
processing done by your program.
The following UCL ( Update Control Language ) defines the desired
UTILITY entry for your program:
2 Once you have created the desired UTILITY entry, you need to point to
Connect the UTILITY entry to an it from an OPTIONS entry. The following UCL defines an OPTIONS entry
OPTIONS entry. (MYOPT1) that points to UTILITY entry MYX37:
3A You might want your OPTIONS entry to be the default for processing
Use the zone definition entry to target zone TGT1. In this case, the TARGETZONE entry for TGT1 must
specify your OPTIONS entry as point to your OPTIONS entry. The following UCL updates the existing
the default OPTIONS entry. TARGETZONE entry for TGT1 so it points to OPTIONS entry MYOPT1:
• Exit routine. The retry exit routine enables you to control retry processing when an x37 abend occurs,
instead of having SMP/E compress the out-of-space data set and reinvoke the failing utility.
If SMP/E determines that a retry can be attempted, it cancels the abend dump and calls the retry exit
routine. The routine can then either cancel retry processing or perform some other method of recovery.
• RETRY operand. The RETRY operand tells SMP/E whether to attempt retry processing for the specific
SMP/E command that is being processed. RETRY can be specified on the ACCEPT, APPLY, LINK LMODS,
LINK MODULE, and RESTORE commands.
You do not need to specify this operand in order to request retry processing, because the default is
RETRY(YES). However, you can explicitly specify RETRY(YES) if you want to.
To prevent retry processing for a specific command, specify RETRY(NO) instead of using RETRY(YES).
SET BDY(GLOBAL).
UCLIN .
ADD OPTIONS(OPT1)
RETRYDDN(ALL)
EXRTYDD(LINKLIB,MIGLIB,
NUCLEUS)
.
ENDUCL .
3 You will use the defaults for the retry utility as shown
Decide whether to use the default RETRY UTILITY in Table 5 on page 70.
entry, or to point to and define a RETRY UTILITY
entry that specifies the desired information.
SET BDY(TGT1).
UCLIN .
ADD TARGETZONE(TGT1)
OPTIONS(OPT1)
SREL(Z038)
RELATED(DLIB1)
.
ENDUCL .
SET BDY(DLIB1).
UCLIN .
ADD DLIBZONE(DLIB1)
OPTIONS(OPT1)
SREL(Z038)
RELATED(TGT1)
.
ENDUCL .
OUTPUT and STATUS commands to job names beginning with the user's user ID. For details, see z/OS
TSO/E Customization.
Note:
1. Include GIM.SGIMTENU and the SMPTABL data set in the ISPTLIB concatenation.
2. Use the ISPCTL1 and ISPCTL2 files to generate JCL for submitted SMP/E jobs. The SMP/E job submit
facility lets you browse and edit this JCL. You can omit these files from your logon procedure and let
ISPF automatically allocate them as needed.
To save the input JCL generated by the dialogs, either:
• Use EDIT CREATE while in the generated JCL to save it in another (permanent) data set, or
• Allocate a permanent sequential data set to ISPCTL1 (LRECL=80, RECFM=FB) before you enter the
SMP/E dialogs.
3. Allocate a single, installation-wide table data set to the ISPTLIB and SMPTABL DD statements.
• SMP/E uses this table data set to save process status information for the SYSMOD management
dialogs.
• The data set must be a partitioned data set (LRECL=80, RECFM=FB). Because the data set is
also in the concatenation of ISPTLIB, make the block size compatible with the block size of the
corresponding ISPF data sets.
• Ensure all users of the SMP/E dialogs have the appropriate access defined in your security product to
update this table data set.
• For more information about the SMPTABL data set, see “SMPTABL space allocation” on page 77.
Figure 32. Sample logon procedure that concatenates SMP/E and ISPF libraries
• Modify the values for allocating temporary SMP/E utility (SYSUTn) and SMP/E work (SMPWRKn) data
sets . The options you specify are saved permanently in the ISPF profile pool for use later by other
SMP/E dialog processes.
• Specify a data set name to be used by SMP/E for the SMPPARM data set during background execution.
The SMPPARM data set is used to define exit routines and specify allocation information used by SMP/E
processing. If a data set name is specified on panel GIM@PARM, SMP/E generates an SMPPARM DD
statement in all JCL jobs created by the SMP/E dialogs that invoke SMP/E.
Enter or verify the information below used to allocate temporary data sets.
These temporary data sets contain generated JCL jobs, output for jobs which
have completed execution, and MCS entries for viewing:
UNIT ===>
VOLUME ===>
PREFIX ===> (TSO Prefix is used if no prefix is specified)
This initial default JOB statement is not customizable, but when you enter a JOB statement on panels
GIMCGSUB, GIMRCSUB, or GIMSB01, the statement you enter is saved in your ISPF profile pool and will
be used as the new default when you use those panels again.
jes3dlib
cicsdlib
db2dlib
imsdlib ).
ENDUCL.
/*
imstgt imsdlib).
ENDUCL.
/*
The ZONESET should contain the names of all the zones to be checked for cross-zone requisites. Once the
ZONESET is created and the XZREQCHK(YES) subentry is set, the zones defined in the ZONESET are used
as the default zone group any time the APPLY, ACCEPT, or RESTORE commands process any zone found
in the ZONESET. For example, if an APPLY command is initiated for the cicstgt zone, all zones found in the
ZONESET entry named ZONEGRP are used for the zone group.
requisite identified on the ++IF statement does not reside in the same zone as the identified function,
then the condition is not satisfied.
Unsatisfied cross-zone requisite conditions will cause APPLY, ACCEPT, and RESTORE command
processing to fail for the SYSMOD containing the ++IF statement. Processing continues to fail until
the requisite is satisfied in the other zone, unless the BYPASS(XZIFREQ) operand is specified on the
command.
Note: This example assumes that a default zone group has been defined and will be used during APPLY
command processing.
You can be broad or granular in the specification of what cross-zone requisites to bypass. You can indicate
all cross-zone requisites are to be bypassed (as in the previous example), you can indicate that specific
cross-zone requisite SYSMODs are to be bypassed, or you can indicate that only specific cross-zone
requisite SYSMODs from specific zones are to be bypassed. Details of the BYPASS(XZIFREQ) operand and
processing can be found in z/OS SMP/E Commands.
Note: This example assumes that a default zone group was defined and will be used during APPLY
command processing.
Using the XZREQ operand identifies and installs the needed cross-zone requisites. You can also use the
REPORT CROSSZONE command to identify the needed cross-zone requisites. See the section on the
REPORT CROSSZONE command in z/OS SMP/E Commands for details.
JOB statement
The JOB statement describes your installation-dependent parameters. The JOB statement (or the EXEC
statement, or both) can also include the REGION parameter to set the size of the region in which SMP/E
runs. For details, see z/OS MVS JCL User's Guide or z/OS MVS JCL Reference.
Note: To ensure that the maximum space above 16 megabytes is available for SMP/E processing, it
is recommended that you specify REGION=0M. To allow long running SMP/E operations to complete,
consider specifying TIME=1440 or TIME=NOLIMIT.
EXEC statement
The EXEC statement must specify PGM=GIMSMP or the name of your cataloged procedure for calling
SMP/E. (For an example of a cataloged procedure, see “Sample cataloged procedure for SMP/E” on page
85.) The following can be specified in the EXEC statement PARM parameter:
COMPAT=WARNBYPASS or
COMPAT=NOWARNBYPASS
The COMPAT parameter is used to control incompatible behaviors of SMP/E processing.
COMPAT(WARNBYPASS)
Indicates that the APPLY and ACCEPT commands will issue warning messages to identify
bypassed SYSTEM HOLD exceptions. This is the behavior for releases of SMP/E prior to V3R5.
COMPAT(NOWARNBYPASS)
Indicates that the APPLY and ACCEPT commands will issue informational messages
to identify bypassed SYSTEM HOLD exceptions. If neither COMPAT(WARNBYPASS) or
COMPAT(NOWARNBYPASS) is specified, the default is COMPAT(NOWARNBYPASS).
CSI= dsname
where dsname is the name of the CSI data set containing the global zone. (This data set is also
known as the master CSI.) This parameter is used to enable SMP/E to allocate the master CSI data set
dynamically.
Note: If there is an SMPCSI DD statement, the CSI=dsname operand is not allowed. If both are
specified, SMP/E does not run.
DATE= date
where date can be one of the following options::
U or IPL
To use the IPL date of the system.
REPLY
To request the date from the operator. As a result, SMP/E issues message GIM399I.
yyddd
To specify a specific date, where yy is the year and ddd is the day of the year (the Julian date).
If DATE is not specified, the IPL date of the system is used.
PROCESS=WAIT or
PROCESS=END
The PROCESS parameter is used to control how long a job should wait if a CSI or PTS data set is not
immediately available because it is currently being used either by another job or by a dialog.
• WAIT causes the job to wait until the data set is available. A message is issued to the system
operator every 30 minutes while the job is waiting.
• END causes the job to wait for 10 minutes. If the data set is still not available after the 10-minute
wait, the command requiring the data set is stopped.
If PROCESS is not specified, the default is PROCESS=WAIT.
For more information about obtaining and sharing CSI data sets, see the topic on sharing SMP/E data
sets in z/OS SMP/E Commands.
Processing of the PTS data set is also affected by the WAITFORDSN value specified in its DDDEF entry.
WAITFORDSN determines whether SMP/E should wait to allocate a data set that is not immediately
available. If the DDDEF entry specifies WAITFORDSN=NO (or lets this value default to NO) and the
data set is not available, allocation of the data set fails, regardless of the PROCESS value specified on
the EXEC statement. If WAITFORDSN=NO, SMP/E does not wait to retry allocation of the data set.
For example, suppose a PTS with a disposition of OLD is already being used by a job, and a second job
tries to access the same PTS data set by allocating it through a DDDEF entry. The DDDEF entry used
by the second job for the PTS specifies WAITFORDSN=NO. As a result, allocation of the PTS fails for
the second job.
DD statements
DD statements define the data sets that can be used in SMP/E processing. For information about the
data sets required for each command, see the chapters on individual SMP/E commands in z/OS SMP/E
Commands.
Note:
1. You can use DDDEF entries, rather than DD statements, to allocate many of the necessary data sets.
For more information, see “How to dynamically allocate data sets to be used during SMP/E processing”
on page 67.
2. To use a target system's instance of SMP/E, you can specify the STEPLIB DD statement. If you specify
the SYS1.MIGLIB and ASM.SASMMOD1 data sets of the target system on the STEPLIB DD statement,
you can safely use the target system's instance of SMP/E and system utilities, such as the assembler
and binder.
• Most of the data sets in the cataloged procedure can be allocated without DD statements. If you use
the methods described for the data sets listed later in this section, you might not need a cataloged
procedure.
– Master CSI data set. The master CSI data set can be specified on the CSI= parameter of the
EXEC statement for GIMSMP, rather than on the SMPCSI DD statement. For more information about
parameters you can specify on the EXEC statement, see “Required JCL statements” on page 84.
– Target and distribution zones. CSI data sets for target and distribution zones are normally
dynamically allocated with zone indexes in the global zone. If you want to use the batch local shared
resources (BLSR) subsystem, you must supply your own JCL statements. For examples of defining
zone indexes and of specifying JCL for BLSR, see the SMPCSI section in z/OS SMP/E Reference.
– Other data sets. Other data sets in the cataloged procedure can be defined with DDDEF entries.
When you use DDDEF entries, only the data sets SMP/E needs for a particular run are allocated.
When you use DD statements, all the data sets defined must be online and allocated. Therefore, you
might want to use a combination of DDDEF entries and a cataloged procedure shorter than the one in
Figure 33 on page 87. For more information about DDDEF entries, see z/OS SMP/E Reference.
• Although they are not shown in the sample cataloged procedure, the following DD statements may also
be required:
– An SMPCNTL DD statement, pointing to the commands that SMP/E processes, is required by all
commands.
– An SMPPTFIN DD statement, pointing to the source of the SYSMODs that are processed, is required
by the RECEIVE command.
– An SMPHOLD DD statement, pointing to the source of the HOLDDATA that is processed, is required by
the RECEIVE command.
– An SMPPTS DD statement should be coded with DISP=SHR. This allows concurrent jobs to share the
PTS as much as possible. For more information about how SMP/E shares data sets, see the topic on
sharing SMP/E data sets in z/OS SMP/E Commands.
– The SMPLTS data set is required when processing load modules with CALLLIBS.
– An SMPMTS DD statement is required for changes to macros that do not reside in a target library.
– An SMPSTS DD statement is required for changes to source code that does not reside in a target
library.
– If any of the SYSMODs being installed contain elements packaged with the LKLIB operand, a
DD statement for the ddname specified on that operand is required by the APPLY and ACCEPT
commands.
– If any of the SYSMODs being installed contain elements or JCLIN packaged with the TXLIB operand,
a DD statement for the ddname specified on that operand is required by the APPLY and ACCEPT
commands.
• If any of the required data sets (such as the SMPPTFIN) are not defined in the cataloged procedure or
by DDDEF entries, they must be specified in the JCL used to call SMP/E.
• For more information about the data sets required by each SMP/E command, see z/OS SMP/E
Commands.
//SMPPROC PROC
//SMP EXEC PGM=GIMSMP
//* ----- SYSOUT data sets --------------------------------
//SMPOUT DD SYSOUT=A
//SMPRPT DD SYSOUT=A
//SMPLIST DD SYSOUT=A
//SMPSNAP DD SYSOUT=A
//SMPDEBUG DD SYSOUT=A
//SYSPRINT DD SYSOUT=A
1 //SMPPUNCH DD SYSOUT=B
//*------ SMP/E data sets ---------------------------------
//SMPLOG DD DSN=SYS1.SMPLOG,DISP=MOD
//SMPLOGA DD DSN=SYS1.SMPLOGA,DISP=MOD
2 //* ----- Master CSI -------------------------------------
//SMPCSI DD DSN=SMPE.SMPCSI.CSI,DISP=SHR
//SMPDATA1 DD DSN=MVSTGT1.SMPDATA1,DISP=MOD
//SMPDATA2 DD DSN=MVSTGT1.SMPDATA2,DISP=MOD
3 //* ----- SMP/E temporary data sets------------------------
//SMPWRK1 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
//SMPWRK2 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
4 //SMPWRK3 DD DSN=data set name,
UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,CATLG),
// DCB=BLKSIZE=3120
//SMPWRK4 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=3120
//SMPWRK6 DD UNIT=SYSDA,SPACE=(CYL,(2,1,5)),DISP=(,DELETE),
// DCB=BLKSIZE=6160
//* ----- Utility data sets -------------------------------
//SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT2 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT3 DD UNIT=SYSDA,SPACE=(CYL,(2,1)),DISP=(,DELETE)
//SYSUT4 DD UNIT=SYSDA,SPACE=(TRK,(2,1)),DISP=(,DELETE)
//* ----- Assembler SYSLIB data set -----------------------
5 //SYSLIB DD DSN=data set name,DISP=SHR
• • •
//* ----- Target libraries --------------------------------
//LINKLIB DD DSN=SYS1.LINKLIB,DISP=OLD
• • •
//* ----- Distribution libraries --------------------------
//AOSC5 DD DSN=SYS1.AOSC5,DISP=OLD
• • •
// PEND
1
SMPPUNCH is required for the GENERATE, REPORT, and UNLOAD commands. Because it might have a
high level of output, SMPPUNCH should be directed to disk or tape.
2
SMPCSI DD statements should be coded with DISP=SHR. This allows SMP/E to share the CSI data
sets as much as possible. If DISP=OLD is specified, no data set sharing is attempted. For more
information about how SMP/E shares data sets, see the section on sharing SMP/E data sets in z/OS
SMP/E Commands.
3
SMPWRK1–SMPWRK6 show only sample sizes for the data sets. The actual size required depends on the
number of SYSMODs being processed and the number of elements within those SYSMODs.
4
SMPWRK3 can be permanently allocated in order to reuse assemblies. For more information, see the
description of the REUSE operand in the APPLY command section in z/OS SMP/E Commands.
5
SYSLIB concatenation depends on how you intend to use the distribution libraries. For details
on which data sets to include and in what order, see “How to determine the appropriate SYSLIB
concatenation” on page 88.
If you use a different SYSLIB concatenation for APPLY and ACCEPT and prefer to use a SYSLIB DD
statement, you should have at least two procedures. If you use DDDEFs to point to the different library
concatenations, you can use one procedure. You can modify the examples to use the appropriate
procedure.
The following job uses the cataloged procedure in Figure 33 on page 87 to call SMP/E.
During ACCEPT processing, the macros in the SMPMTS and in the target macro libraries are not
considered to have been tested. The SMPMTS is, therefore, not concatenated. Figure 35 on page 89
shows the proper SYSLIB concatenation for ACCEPT.
If you are applying a SYSMOD that contains a MOD element that gets linked into a load module that
resides in a UNIX file system directory, and that load module has any of the attributes listed in the
following table, then you must run the SMP/E job with a user ID that has at least the corresponding access
privileges, or be UID 0. The attributes for a load module are defined using binder options specified on the
SETOPT binder control statement. The SETOPT control statement is specified in the JCLIN that defines
the load module.
If the user ID does not have the appropriate access, then the SMP/E operation will fail with either the
BPXCOPY or binder link-edit failure.
For more information about the EXTATTR binder option, see the section on EXTATTR in z/OS MVS Program
Management: User's Guide and Reference. For a description of the BPXCOPY options, see z/OS UNIX
System Services Command Reference.
• The RECEIVE exit routine enables you to scan statements in the SMPPTFIN data set during RECEIVE
processing.
• The retry exit routine enables you to control retry processing when a data set runs out of space during
RETRY can be specified on the ACCEPT, APPLY, LINK LMODS, LINK MODULE, and RESTORE commands.
processing. (In retry processing, the data set is compressed and the utility that failed is called again.)
See z/OS SMP/E Reference for more informaton about SMP/E exit routines.
You can use Internet Service Retrieval to submit requests for PTFs and HOLDDATA to a remote IBM server
and automatically download the packages that result when those requests are fulfilled. Use the RECEIVE
ORDER command to submit an Internet Service Retrieval request to the IBM Automated Delivery Request
server. SMP/E uses the hypertext transfer protocol and Secure Sockets Layer (HTTPS) to communicate
with the server and HTTPS or FTP to download the packages. To support the HTTPS communication
infrastructure, SMP/E uses the capabilities of Java and x.509 certificates to identify you to the server and
perform SSL authentication. To use both Java and x.509 certificates, you need to perform some one-time
configuration steps before you can actually use the SMP/E RECEIVE ORDER command.
This chapter gives you an overview of using x.509 certificates to establish identity and authenticity for
client-server communications and also defines the steps you need to take to accomplish the following
tasks:
• Obtain a user certificate
• Set up the z/OS Security Server to work with certificates and install the user certificate
• Define the ORDERSERVER input for the RECEIVE ORDER command
• Define the CLIENT input for the RECEIVE ORDER command, including information necessary to allow
SMP/E to use Java.
After downloading the certificate file to your workstation, you need to upload it to your z/OS system and
add the certificate to your security product data base. SMP/E obtains the certificate from your security
product data base and uses it during communications with IBM’s Automated Delivery Request server.
Note:
1. UPDATE access is required to the IRR.DIGTCERT.CONNECT profile in the FACILITY class in order to
connect a certificate authority (CA) certificate to your key ring. See “Displaying certificate authority
certificates” on page 93 for details of CA certificates.
2. To use the SMP/E RECEIVE ORDER command, access is required only to the IRR.DIGTCERT.LIST and
IRR.DIGTCERT.LISTRING profiles. Access to the other profiles is required to create and manipulate key
rings and certificates.
When your user ID has the proper authorization, continue with “Creating key rings” on page 93.
where ring-owner is the user ID that will own the key ring and keyringname is a name that you chose for
the key ring.
RACDCERT CERTAUTH
LIST(SERIALNUMBER(083BE056904246B1A1756AC95991C74A))
If the certificate is found in your RACF database, you should see the certificate information, like this:
If the certificate is found but does not have a status of TRUST, then you must use the following RACF
command to trust the DigiCert Global Root CA certificate:
RACDCERT CERTAUTH +
ALTER(LABEL(’DigiCert Global Root CA’)) TRUST
If the certificate is not found, you will need to add the DigiCert Global Root CA certificate to your RACF
database.
where ca-cert.dataset.name is the name of the sequential data set used to store the certificate received
from the DigiCert Web site.
where certificate-owner is the user ID that you choose to own the certificate, user.certificate.dataset.name
is the data set name used to store the PKCS12 certificate package obtained from ShopzSeries, SMPE
Client Certificate is the label you choose to identify this certificate (32 characters or less), and pass
phrase is the encryption pass phrase you specify when generating the PKCS12 certificate package on
ShopzSeries.
Note: After you issue the preceding RACDCERT command, RACF should return this message:
"certificate authority not defined to RACF. Certificate added with TRUST
status." This is the expected response and is acceptable.
where SMPE Client Certificate is the label you choose in the previous step to identify this certificate,
keyringname is the name of the key ring you choose in “Creating key rings” on page 93, and ring-owner is
the user ID that created the key ring.
Note: To enable the user certificate to be easily shared by other user IDs without requiring unnecessarily
high levels of access for those other user IDs, the user certificate must be connected to the key ring
as a certificate authority (CA) certificate (USAGE CERTAUTH). Connecting a user certificate to a keyring
with USAGE CERTAUTH is not typical for SSL/TLS client authentication. However, the user certificate in
this case is not used for this purpose. The user certificate in this case is merely a secure container for
customer identity information to be presented by SMP/E to the IBM Automated Delivery Request server.
Connecting the user certificate to the keyring with USAGE CERTAUTH enables SMP/E when running under
a user ID that is not the certificate or keyring owner to access the certificate, as long as the user ID has
read access to keyrings.
Permitting USER2 UPDATE access to the IRR.DIGTCERT.LISTRING FACILITY class is not a security
exposure. It is true that USER2 will have the ability to read anyone’s key ring. However, that only allows
the ability to extract and use the certificates from the key ring. It does not allow use of the private keys
associated with those certificates. Therefore, USER2 cannot masquerade as another user ID.
After USER2 has the appropriate permission, in order for USER2 to use the certificate for the SMP/E
RECEIVE ORDER command, you must ensure SMP/E finds the certificate in the correct key ring when
running the command. To do this, USER2 must specify not only the key ring name, but also the user
ID associated with the key ring, USER1, on the keyring attribute in the ORDERSERVER data set for the
RECEIVE ORDER command as follows:
keyring="USER1/keyringname"
See “Defining the ORDERSERVER input for RECEIVE ORDER” on page 97 for further information about
the keyring attribute and the ORDERSERVER data set.
where ring-owner is the user ID that created and owns the key ring.
• To list the certificate authority (CA) certificate:
or
RACDCERT CERTAUTH
LIST(SERIALNUMBER(083BE056904246B1A1756AC95991C74A))
If you have RACLISTed the DIGTCERT or DIGTRING classes, you need to refresh the in-storage profiles
before the updates can take affect. You can use the following RACF command:
If you have not RACLISTed the DIGTCERT or DIGTRING classes, you do not need to refresh the in-storage
profiles.
<ORDERSERVER
url="https://eccgw01.boulder.ibm.com/services/projects/ecc/ws"
keyring=”SMPEKeyring”
certificate=”SMPE Client Certificate”>
</ORDERSERVER>
url
Specifies the Uniform Resource Locator (URL) for the order server. The actual URLs
for the IBM Automated Delivery Request server are https://eccgw01.boulder.ibm.com/
services/projects/ecc/ws and https://eccgw02.rochester.ibm.com/services/
projects/ecc/ws
keyring
Identifies the RACF key ring that contains the user certificate required for access to the order server. If
the key ring is owned by a user ID other than that used to run SMP/E, then the key ring name must be
prefixed with the associated user ID. The user ID and key ring name must be separated by a forward
slash. For example,keyring="USER1/SMPEKeyring".
certificate
Specifies the label to identify the user certificate used for access to the order server. This is the
certificate obtained from ShopzSeries and added to your security product data base.
<CLIENT
javahome="/usr/lpp/java/J6.0"
classpath="/usr/lpp/smp/classes"
javadebugoptions="-Dcom.ibm.smp.debug=severe -showversion" downloadmethod="ftp">
<HTTPPROXY host=”local.httpproxy.com”>
</HTTPPROXY>
<FTPOPTIONS>-v -f "//'USER1.FTP.DATA'"</FTPOPTIONS>
Not all tags and attributes shown in the example are required for every user, but are explained later in this
section. The options of the CLIENT data set can be grouped into three categories: options that affect Java,
options that affect HTTPS, and options that affect downloads.
javahome="/usr/lpp/java/J6.0"
classpath="/usr/lpp/smp/classes"
If the SMP/E Java application classes are not installed on the driving z/OS system’s UNIX file system, you
can use appropriate mount points and directory structure to point to a target system’s directories where
SMP/E is installed. This is useful if you use STEPLIB to access a target system’s base SMP/E programs in
order to ensure the base SMP/E programs and the application classes are at the same service level. For
example:
classpath="/TGTSYS/usr/lpp/smp/classes"
As an alternative to the javahome and classpath attributes in the CLIENT data set, you can also use the
SMPJHOME and SMPCPATH DD statements or DDDEF entries to specify the location of the Java run time
and the SMP/E application classes. If specified, the SMPJHOME and SMPCPATH DD statements override
any values specified on the javahome and classpath attributes. For example:
//SMPJHOME DD PATH=’/usr/lpp/java/J6.0’
//SMPCPATH DD PATH=’/usr/lpp/smp/classes’
The javadebugoptions attribute is used to specify any Java command-line parameters, including debug
and trace options. Such options determine what debug and trace information should be produced when
SMP/E invokes its Java application classes. The debug and trace information is written to the PRINT file
for the HFSCOPY utility (SYSPRINT is the default). Although it is not necessary all of the time, it is a good
idea when first using the RECEIVE ORDER command, to specify the following value to ensure that basic
debug and trace information is produced for reference:
javadebugoptions="-Dcom.ibm.smp.debug=severe -showversion"
Although it is not necessary, it is also possible to specify other Java command-line parameters that affect
the operation of the Java Virtual Machine (JVM). For example, if you encounter a Java error that indicates
there is insufficient space in the Javaheap, you can specify an option to override the default maximum
Java heap size:
javadebugoptions="-Xmx128m"
The <HTTPPROXY> and <HTTPSOCKSPROXY> tags are optional, and should be specified only if the HTTP
requests to the Internet from your z/OS system are required to pass through a specific HTTP or SOCKS
proxy server. For example, if you must specify a proxy server in your Internet browser configuration
to allow you access to websites on the Internet, then you might need to specify the <HTTPPROXY>
or <HTTPSOCKSPROXY> tag in the CLIENT data set. If your HTTP or SOCKS proxy server requires
authentication, the user and pw attributes can be used to specify the proxy server user ID and password.
Also, if your HTTP or SOCKS proxy server listens on a port other than the ports 80 and 1080, the port
attribute can be used to specify an alternate port value. For example:
<HTTPPROXY host=”local.httpproxy.com”
user=”userid” pw=”password” port=”8080”> </HTTPPROXY>
See z/OS SMP/E Commands for complete details of the <HTTPPROXY> and <HTTPSOCKSPROXY> tags
and attributes, and consult your network administrator for help determining what, if anything, you must
specify for an HTTP or SOCKS proxy server.
Note: Although the NSLOOKUP command can be run from the OMVS shell, this sample job runs the
command in an environment similar to that in which SMP/E runs.
If your name server is set up properly, the nslookup command returns the IP address for the server. The
output of the command is similar to the following output:
Non-authoritative answer:
Name: eccgw01.boulder.ibm.com
Address: 207.25.252.197
If an IP address for the eccgw01.boulder.ibm.com server is not returned, then verify that your name
server setup and resolver configuration file are proper. See the section titled "Diagnosing resolver
problems" in z/OS Communications Server: IP Diagnosis Guide for details about using the Trace Resolver
debug facility.
Summary
The steps described in this chapter help you to configure your system to enable the SMP/E RECEIVE
ORDER command. After you perform the described tasks, you can run the RECEIVE ORDER command
to order and download PTFs and HOLDDATA from the IBM Automated Service Delivery server. Here is a
summary of the steps:
1. Obtain a user certificate:
a. Go to ShopzSeries to generate a user certificate and download the certificate file to your
workstation.
b. Transfer the certificate file to your z/OS system as binary data and store as a sequential data set
with RECFM=VB and LRECL=256 or greater.
2. Set up z/OS security server (RACF):
a. Ensure that your user ID has appropriate RACF access to create key rings and add certificates.
b. Create a RACF key ring.
c. Add the DigiCert Global Root CA to your RACF data base if it does not already exist.
d. Connect the DigiCert CA certificate to your key ring.
e. Add the user certificate to the RACF data base.
f. Connect the user certificate to your key ring.
3. Setup for using Java:
Example
After you complete the necessary steps to configure your system to enable the SMP/E RECEIVE ORDER
command, you can run an SMP/E RECEIVE ORDER job like the following:
Note: An alternative URL for the IBM Automated Delivery Request server is https://
eccgw02.rochester.ibm.com/services/projects/ecc/ws.
This sample job instructs SMP/E to order and then download all recommended (RSU) PTFs that are
applicable to the target zones defined in your global zone. See the RECEIVE chapter in z/OS SMP/E
Commands for details of the RECEIVE ORDER command.
z/OS product and service offerings can be downloaded directly from IBM's servers to your z/OS system.
SMP/E provides capabilities to perform these download operations using the RECEIVE command and the
GIMGTPKG service routine. SMP/E supports secure and encrypted download operations using FTPS (FTP
over SSL/TLS) and HTTPS (HTTP over SSL). However, using either of these download methods requires
preparation and one-time setup.
Note: Support for HTTP and HTTPS downloads is added to SMP/E V3.5 and V3.6 with APAR IO20858, and
additional fixes to support changes to IBM's secure delivery servers are added to SMP/E V3.5 and V3.6
with APAR IO22326.
This topic provides an overview of using SMP/E for secure internet download operations, in particular from
IBM's secure delivery servers, and the one-time steps you need to take to prepare.
• SSL overview
• Enable certificate authority certificates
• Define CLIENT input for RECEIVE and GIMGTPKG
The quick and easy method to enable secure download operations is to instruct the SMP/E RECEIVE
command and GIMGTPKG service routine to use the HTTPS download method and certificate authority
(CA) certificates managed by the default z/OS Java truststore. To do so, simply specify the SMP/E
<CLIENT> tag with the following attributes:
<CLIENT
downloadmethod=”https”
downloadkeyring=”javatruststore”
javahome="/usr/lpp/java/J6.0"
>
</CLIENT>
If you want to understand the background and details of the above attributes, or if you want to explore
other options such as FTPS or using CA certificates stored in your z/OS security manager database,
then read on. Otherwise, you can skip the rest of this topic.
If the certificate is found in your RACF database, you should see the certificate information, like this:
If the certificate is found but does not have a Status of TRUST, then you must use the following RACF
command to trust the DigiCert Global Root CA certificate:
RACDCERT CERTAUTH +
ALTER(LABEL(’DigiCert Global Root CA’)) TRUST
If the certificate is not found, you will need to add the DigiCert Global Root CA certificate to your RACF
database.
where ca-cert.dataset.name is the name of the sequential data set used to store the certificate received
from the DigiCert Web site.
If the RDATALIB class is used, for any real keyring, READ access to keyring-owner.keyring-name.LST
is required. For CERTAUTH virtual keyring, READ access to CERTIFAUTH.IRR_VIRTUAL_KEYRING.LST is
required.
If you have used RACLIST for the DIGTCERT or DIGTRING classes, you need to refresh the in-storage
profiles before the updates can take affect. You can use the following RACF command:
If you have not used RACLIST for the DIGTCERT or DIGTRING classes, you do not need to refresh the
in-storage profiles.
<CLIENT
downloadmethod=”https”
downloadkeyring=”javatruststore”
javahome="/usr/lpp/java/J6.0"
>
<HTTPPROXY host=”local.httpproxy.com”>
</HTTPPROXY>
</CLIENT>
downloadmethod
Identifies the network protocol to use for downloading files from the remote server to the local z/OS.
The IBM secure delivery server supports values of either https or ftp. Specify a value of https to
indicate files will be downloaded using HTTPS.
downloadkeyring
Identifies the location of the certificate authority certificates required for the SSL handshake with the
HTTPS server. The name for a security manager keyring, or the keyword javatruststore may be
specified.
If you choose to manage certificate authority certificates with your z/OS security manager, you can
specify a real or virtual keyring. The simplest keyring specification is to use the CERTAUTH virtual
keyring, *AUTH*/*. Using the CERTAUTH virtual keyring indicates all of the trusted CA certificates
defined in the security manager database are available for use during the SSL handshake. This
includes the required DigiCert Global Root CA certificate described in the topic “Enabling certificate
authority certificates” on page 104.
If you specify the keyword javatruststore, then all of the certificate authority certificates in the
default Java truststore are available for use. A Java truststore is a Java keystore file containing the
collection of trusted certificate authority certificates. The default Java truststore includes the required
<HTTPPROXY host=”local.httpproxy.com”
user=”userid” pw=”password” port=”8080”></HTTPPROXY>
See z/OS SMP/E Commands for complete details of the <HTTPPROXY> and <HTTPSOCKSPROXY> tags
and attributes, and consult your network administrator for help determining what, if anything, you
must specify for an HTTP or SOCKS proxy server.
<CLIENT
downloadmethod=”ftp”
>
<FTPOPTIONS>-v -f "//'USER1.FTP.DATA'"</FTPOPTIONS>
<FIREWALL>
<SERVER host="local.ftpproxy.com"> </SERVER>
<FIRECMD>&REMOTE_USER;@&REMOTE_HOST;</FIRECMD>
<FIRECMD>&REMOTE_PW;</FIRECMD>
</FIREWALL>
</CLIENT>
downloadmethod
Identifies the network protocol to use for downloading files from the remote server to the local z/OS.
The IBM secure delivery server supports values of either https or ftp. Specify a value of ftp to
indicate files will be downloaded using FTP. This is the default if the attribute is not specified at all.
Firewall servers
In order for SMP/E to login to the IBM secure delivery server using FTP, it may be necessary to navigate a
local FTP firewall server. If so, optional tags are available in the CLIENT data set to describe information
necessary to navigate your local FTP firewall server.
The <SERVER> tag is used to identify the FTP firewall server. You can also specify a user ID and password
if your firewall server requires authentication. The <FIRECMD> tags are used to identify the FTP client
commands necessary to navigate your firewall server. The commands you specify in the <FIRECMD> tags
should be the same as those you use with the z/OS Communications Server FTP client (PGM=FTP). The
//jobname JOB …
//FTP EXEC PGM=FTP,PARM='testcase.boulder.ibm.com'
//OUTPUT DD SYSOUT=*
//INPUT DD *
anonymous ; user ID for remote FTP server
email_address ; password for remote FTP server
cd mvs/toibm ; simple change directory command
quit ; done, so log off
/*
This sample job logs into the IBM Testcase FTP server, and assumes that there are no special commands
or login procedures required to navigate a local firewall server. If such a job works for you, then no
firewall server information needs to be specified in your CLIENT data set for the RECEIVE command or
GIMGTPKG service routine. However, if you have a local firewall server that requires such commands or
login procedures, you must account for them. For example, if your working FTP job is like this:
//jobname JOB …
//FTP EXEC PGM=FTP,PARM='local.ftpproxy.com'
//OUTPUT DD SYSOUT=*
//INPUT DD *
anonymous@testcase.boulder.ibm.com
email_address ; password for remote FTP server
cd mvs/toibm ; simple change directory command
quit ; done, so log off
/*
Then your CLIENT data set should include the following definitions:
<FIREWALL>
<SERVER host="local.ftpproxy.com"> </SERVER>
<FIRECMD>&REMOTE_USER;@&REMOTE_HOST;</FIRECMD>
<FIRECMD>&REMOTE_PW;</FIRECMD>
</FIREWALL>
<FTPOPTIONS>-v -f "//'USER1.FTP.DATA'"</FTPOPTIONS>
Using the -f parameter overrides the default search order used by the FTP client program to find the
FTP.DATA file. If you do not specify the -f parameter, the default search order for the FTP.DATA file is as
follows:
1. $HOME/ftp.data
2. userid.FTP.DATA
3. /etc/ftp.data
SECURE_FTP REQUIRED
SECURE_MECHANISM TLS
TLSRFCLEVEL RFC4217
TLSMECHANISM ATTLS
SECURE_DATACONN PRIVATE
EPSV4 TRUE
SECURE_FTP
This statement specifies whether a security mechanism is optional or required by the FTP client.
ALLOWED indicates a security mechanism is optional and the FTP client will allow both secure traffic
and non-secure traffic. REQUIRED indicates a security mechanism is required and the FTP client will
allow only secure traffic. Either ALLOWED or REQUIRED must be specified.
SECURE_MECHANISM
This statement specifies which security mechanism to use when a session with the server is
established. The TLS parameter must be specified.
TLSRFCLEVEL
Use this statement to specify the level of RFC 4217 that FTP operations will support. RFC4217 allows
the client and IBM's download server to communicate properly and must be specified.
TLSMECHANISM
Use this statement to specify whether TLS is implemented by AT-TLS or by FTP. ATTLS indicates
TLS processing is performed by AT-TLS, and must be specified in order to support TLS 1.2 which is
required by IBM's download server.
SECURE_DATACONN
This statement indicates the minimum level of security to be used for data connections by the FTP
client. NEVER indicates data must never be enciphered during transfer. CLEAR indicates data may be
transferred either with no security or may be enciphered, and is the default value. PRIVATE indicates
data must be transferred enciphered. The IBM secure delivery FTP server requires that data be
transferred enciphered. Therefore, you must specify PRIVATE for the SECURE_DATACONN statement.
EPSV4
This statement directs the FTP client to use the EPSV and EPRT FTP commands during an FTP
session. If you have trouble establishing a secure and encrypted data connection to the secure
FTP server through a Network Address Translation (NAT) firewall, specifying TRUE for the EPSV4
statement can help.
Note: The KEYRING statement is ignored when TLSMECHANISM is ATTLS. The certificate authority to be
used during the TLS handshake is defined by TCPIP AT-TLS policy, not in the FTP.DATA file. Be sure the
policy indicates to use the DigiCert Global Root CA certificate. If this certificate is not already present in
the security manager database, add the certificate as described in the previous topic “Enabling certificate
authority certificates” on page 104.
For information about the contents of the FTP.DATA file and the -f parameter, see z/OS Communications
Server: IP User's Guide and Commands
Example
Here is an example job using the SMP/E GIMGTPKG service routine to download a product or service
package from the IBM secure delivery server using the HTTPS protocol:
This sample job instructs the GIMGTPKG service routine to download the package files using the HTTPS
protocol, using the certificate authority certificates in the default Java truststore. The package of files
resides on an IBM server, described by the <SERVER> information, which is unique for a particular order
and is provided by IBM.
This chapter discusses the method you use to install a new function. It describes:
• Sources of new functions and sources of installation information
• An example of installing a function
Introduction
The primary purpose of SMP/E is to help you install SYSMODs in your target and distribution libraries. To
do this, SMP/E provides three basic commands: RECEIVE, APPLY, and ACCEPT.
This chapter summarizes the general steps you follow to install a function. You should look at the
installation materials that arrive with a function to find out about special requirements and procedures for
installing the function. Table 10 on page 111 lists sources of new functions and places where you can find
information for installing the new functions.
RECEIVE-APPLY-ACCEPT method
RECEIVE-APPLY-ACCEPT is the standard installation method. It uses SMP/E RECEIVE, APPLY, and
ACCEPT commands to install functions onto a subsystem. Usually, you do not have to do any special
processing outside SMP/E to install your functions. The JCLIN needed to set up the load modules for the
function is sent along with the function.
In this method of installation, you:
1. Use the RECEIVE command to get the SYSMODs from the input data set and put them in the SMP/E
data sets (the PTS and global zone within the CSI).
2. Use the APPLY command to install the SYSMODs in the target system libraries; then test them as
required.
3. Use the ACCEPT command to install the SYSMODs into the distribution libraries.
Note: You can use either the SMP/E dialogs or JCL jobs to receive, apply, and accept functions. The basic
steps to follow are the same. If you have access to the SMP/E dialogs, you should use them. Otherwise,
you can use the steps described in this chapter as examples.
7. Create a backup for the volumes affected. This is a important step that should not be overlooked.
Without a current backup copy, a serious system failure during installation means not only redoing the
installation in process but also means going to the last backup level and redoing all the work done
since then.
8. Estimate the time required for APPLY and ACCEPT processing. Make sure that enough time is
available to allow these jobs to run to completion.
The program directory or installation guide might contain information to help you estimate the time
required.
• Because the SMP/E overhead and the number of invocations of the system utilities are reduced, overall
processing time is decreased.
Therefore, although SMP/E supports the separate installation of a new function and its service, the
common installation method is preferred unless the product program directory for other unique
installation requirements directs otherwise. This is the method illustrated in subsequent examples. For
more information about the APPLY command operands, see z/OS SMP/E Commands.
When you are updating the target libraries, there are actually three distinct SMP/E jobs to be run:
• Receive additional HOLDDATA. Before starting the APPLY, you should contact the IBM Support Center
to get additional HOLDDATA from the product PSP file or the CORPE PSP file. Obtaining and receiving
additional HOLDDATA is covered in “Processing HOLDDATA from PSP files” on page 148. The other two
steps are covered in more detail in the following sections.
• Run the APPLY CHECK job. This is a nonupdating mode of APPLY. Its purpose is to help resolve any
problems that may prevent the APPLY from completing processing successfully.
• Apply the SYSMOD updates. This installs the new function and service into the target libraries.
Support Center. Although you can also avoid these conditions by using the BYPASS operand, you are
advised not to do this because the regressions have not been resolved.
Note: Obtaining a product in a CBPDO greatly reduces the amount of work needed to find requisite
PTFs, because CBPDOs include all the service for products applicable to the selected SREL.
• Some elements might not have been selected for installation. For each such element, if the current
functional owner (that is, FMID) is an IBM product, there may not be a problem; this condition is
common and occurs because there are multiple functions with common elements. Check the program
directory or installation guide for the product you are installing to determine whether this condition is
normal or if it indicates a problem.
If the FMID is not one for an IBM product, further research is necessary. Contact the current owner of
the element to determine how that product is related to the one you are installing.
• Some of the PTFs might not have been selected for installation because of exception SYSMOD
conditions identified by the ++HOLD MCSs. When installing a new function, you may want to research
these PTFs further. You can use the reason ID and the comments specified in the ++HOLD MCS to
determine which of the following actions is most appropriate:
– Bypass the condition using the BYPASS(HOLDERR) operand
– Do not install the PTF
– Obtain a fix for the APAR
If you obtained additional APAR fixes or USERMODs, you should either specify each of these SYSMODs in
the SELECT operand, or if all applicable APARs and USERMODs are to be applied, specify the APARS and
USERMODS operands.
Note: For most products, you do not have to do any additional processing to get the elements into
executable format. However, some products may require you to run additional utilities or to perform extra
steps after applying the SYSMODs. See your product documentation for more information.
Note: If you obtained additional APAR fixes or USERMODs, you should either specify each of these
SYSMODs in the SELECT operand or, if all applicable APARs and USERMODs are to be installed, specify
the APARS and USERMODS operands.
This chapter describes the steps for installing preventive service. After an introduction to preventive
service and a summary of the preventive service process, it discusses the following topics:
• Preparing your system
• Staging the SYSMODs with the RECEIVE command
• Requesting preventive service with the RECEIVE ORDER command
• Updating the target libraries with the APPLY command
• Testing the new service level
• Updating the distribution libraries with the ACCEPT command
Introduction
You install preventive service through the use of the SMP/E preventive service process. The process uses:
• The preventive service SYSMODS received as either a CBPDO package, an expanded service options
(ESO) tape, or a package downloaded from the IBM Server as a result of a RECEIVE ORDER request.
• A well-defined set of steps that you should follow to install each service level in order to bring your
system up to the current service level.
ESOs are used as input to the software manufacturing database for the service to be included in CBPDOs.
As a result, there are many similarities between these two offerings.
If you receive service and HOLDDATA from both CBPDO and ESO tapes, make sure you install them in
service level order (for example, service level 0701, followed by service level 0702, and so on). Each PTF
that is currently available on a service level has a corresponding source ID. After you have received PTFs
from one of these service offerings (ESO or CBPDO), do not try to receive them again from the other.
CBPDO packages
CBPDO packages can be ordered periodically, as you decide to update your system. A CBPDO package
contains the PTFs, HOLDDATA, and PSP upgrade files to bring your system up to a service level that you
select. A CBPDO is ordered for a particular feature (CICS, database system, MVS, or NCP). These features
correspond to the SRELs to which products are applicable.
When ordering a CBPDO, you will get products plus service. You will automatically receive service for
products for which you are already licensed under a single customer number for a single feature.
The CBPDO package is a standard label (SL) tape, with files arranged as shown in Table 11 on page 119.
ESO tapes
As an IBM customer, you may periodically receive a customized ESO tape based on your IBM software
distribution profile. This tape has the PTFs, HOLDDATA, ++ASSIGN statements, and UCLIN data needed to
bring your system up to the current service level.
Service levels are identified according to when they were available correctively. For example:
The ESO tape is a nonlabeled (NL) tape, with files arranged as shown in Table 12 on page 120.
• If you used the RECEIVE ORDER command to request a preventive service package and did not specify
TRANSFERONLY, the process downloaded the SYSMODS directly into the SMP/E database (the global
zone and SMPPTS), so you can skip this step.
Note: If multiple ESO service tapes are being RECEIVED, the additional tape volumes must be
concatenated under the SMPPTFIN DD card. For more information, see File 2 of an ESO tape.
In CBPDO and ESO tapes, PTFs are assigned SOURCEID values by ++ASSIGN statements. You can assign
an additional value by specifying it on the RECEIVE command. The SOURCEID operand is used with the
MCS operand on the LIST command to list the PTF cover letters. This is used rather than the LIST operand
on the RECEIVE command because the output is in a more usable format.
• For ESO tapes, you should substitute a meaningful value for xxxxxxxx in each command shown
previously. The value must be unique and easily tied to an ESO.
• For CBPDO packages, the recommended format is PDOyyww, where yy is the year and ww the week of
the CBPDO package.
The DCB values shown for SMPHOLD and SMPPTFIN are those used for preventive service when this
publication was written. If these values change, use the ones defined for the ESO.
For both CBPDO and ESO tapes, you should call the IBM Support Center to obtain additional HOLDDATA
(unless you just received your tape). For additional information, see “Processing HOLDDATA from PSP
files” on page 148. You can use the SMP/E dialogs or the following sample job to process the data set with
the HOLDDATA obtained from the IBM Support Center.
The HOLDDATA you obtain from the IBM Support Center should be in SMP/E format. If not, or if you are
creating your own HOLDDATA, see z/OS SMP/E Reference to review the syntax for the ++HOLD statements.
require special processing, such as a fix that must be concurrently installed on all processors in a
network.
These PTFs contain a ++HOLD statement that automatically places them into HOLD for SYSTEM action
status; that is, SMP/E does not allow them to be installed unless you take some direct action, such as
specifying BYPASS(HOLDSYS) on the APPLY command. These PTFs should not be processed immediately;
you should attempt to install all PTFs not requiring such actions and then return to process these. For
additional information about these PTFs, see “Installing PTFs that need special processing” on page 126.
When installing preventive service, you are concerned with two groups of PTFs:
• All PTFs from the CBPDO, ESO, or requested service package you are installing
• Any other PTFs that are required to install these PTFs
SMP/E provides operands (SOURCEID and GROUP or GROUPEXTEND) on the APPLY command that
facilitate the installation of all required PTFs by use of one APPLY command. Installing all PTFs with
one APPLY command provides several advantages:
• It eliminates the need to run the APPLY command several times in order to install the complete set of
PTFs required.
• It reduces the risk of running out of space, because you are replacing elements in the target libraries
less often.
• It decreases overall processing time, because there is less SMP/E overhead and the system utilities are
invoked less often.
When you update the target libraries, there are three distinct SMP/E jobs to be run:
1. Receive additional HOLDDATA. Before starting the APPLY, you should contact the IBM Support Center
to obtain any additional HOLDDATA for the CBPDO or ESO you are installing. This step is required if:
a. You did not obtain the additional HOLDDATA from the IBM Support Center during the staging phase.
b. There was a delay between the RECEIVE and APPLY staging phase and the target update phase.
We will not discuss this first step further here. If you need to perform this step, see “Staging the
SYSMODs: The RECEIVE process” on page 121.
2. Run the APPLY CHECK job. This second step is a nonupdating mode of APPLY, referred to as the
APPLY CHECK run. Its purpose is to assist in resolving any problems that prevent the APPLY itself from
completing processing successfully.
3. Run the APPLY job. This third step is the updating mode of APPLY, in which the preventive service is
installed into the target libraries.
The following sections describe the last two steps as well as the processing of PTFs that require special
processing.
The following sample job shows how to do an APPLY CHECK for preventive service:
You may be able to improve SMP/E performance by including the source IDs for previous service levels
within the SOURCEID operand. The following job provides an example of an APPLY CHECK job for PTFs in
service level 0703:
Note: This form of the SOURCEID operand can also be used to group service levels initially in one APPLY
command.
If you want to install preventive service only on selected functional areas of the system, you can also
specify the FORFMID operand on the APPLY command, specifying either specific function identifiers
(FMIDs) or the name of one or more FMIDSETs.
2. Repeat the APPLY CHECK. This gives you an updated status report to determine that all regression
conditions have been addressed.
3. If a USERMOD or APAR is necessary, compare the PTF just flagged by APPLY CHECK with the APAR
or USERMOD that caused the regression. You may need microfiche or a dump of the module. If any
changes are needed, follow the steps listed later in this section. Otherwise, continue with the APPLY
step.
• Do one of the following:
– For a USERMOD, add the REWORK operand to the ++USERMOD MCS. The REWORK operand
allows the updated SYSMOD to be automatically rereceived, as long as it is more recent than the
version that has already been received. This takes the place of rejecting the SYSMOD and receiving
it.
– For an APAR or USERMOD, reject the prior copy from the SMPPTS.
The SMP/E REJECT job removes the USERMOD or APAR from the SMPPTS. This prevents the prior
copy from being applied again.
A sample REJECT job follows:
• Receive the USERMODs or APARs. This loads the SYSMODs into the SMPPTS.
• If you have obtained additional APAR fixes or USERMODs, you should either specify each of these
SYSMODs in the SELECT operand or, if all applicable APARs and USERMODs are to be installed, specify
the APARS and USERMODS operands.
• If any of the SYSMODs specified in the SELECT list have already been applied and you want to reinstall
them, you must also specify the REDO operand on the APPLY command.
• If you want to install preventive service only on selected functional areas of the system, you can also
specify the FORFMID operand on the APPLY command, specifying either specific function identifiers
(FMIDs) or the name of one or more FMIDSETs.
See z/OS SMP/E Reference for a detailed description of the ++HOLD statement syntax. The comment
text within the ++HOLD statement, or in the PTF cover letter, contains a description of all the special
processing necessary to install this PTF.
Use the SMP/E dialogs or the following sample job to do an ACCEPT CHECK for preventive service. This
example is an ACCEPT CHECK job for PTFs in service level 0703:
Note: This example can be used for PTFs from either a CBPDO or an ESO.
If you want to install preventive service only on selected functional areas of the system, you can also
specify the FORFMID operand on the ACCEPT command, specifying either specific function identifiers
(FMIDs) or the name of one or more FMIDSETs.
Note:
1. If you have obtained additional APAR fixes or USERMODs, you should either specify each of these
SYSMODs in the SELECT operand or, if all applicable APARs and USERMODs are to be installed, specify
the APARS and USERMODS operands.
2. If you want to install preventive service only on selected functional areas of the system, you can also
specify the FORFMID operand on the ACCEPT command, specifying either specific function identifiers
(FMIDs) or the name of one or more FMIDSETs.
This chapter describes the steps for installing corrective service. It discusses these topics:
• An introduction to corrective service
• Building and checking a corrective service fix
• Preparing your system
• Staging the SYSMODs with the RECEIVE command
• Requesting corrective service with the RECEIVE ORDER command
• Updating the target libraries with the APPLY command
• Testing the corrective service
• Updating the distribution libraries with the ACCEPT command
Introduction
Corrective service is the process of installing a SYSMOD to resolve a specific problem in your system. The
problem has usually been brought to your attention because the system has not functioned as expected
(for example, an abend has occurred, or jobs are not running as expected).
The first task is to investigate the problem, so that the failing component and module can be identified.
z/OS SMP/E Messages, Codes, and Diagnosis provides helpful information about diagnosing and handling
SMP/E problems. This can be done in conjunction with the IBM Support Center. SMP/E can help you work
with the IBM Support Center to isolate and obtain a fix for the problem. Useful information includes:
• The function and service level of the module involved
• The service level of your system—that is, the specific SYSMODs that have been installed
• Any USERMODs involved
• The affected load modules
After determining the cause of the error, you want a fix for the problem. There are several possibilities:
1. The problem has already been reported, and a PTF has been created to fix the module. That PTF may
not have been shipped on an ESO. If it has been shipped, you should have it in your shop (already
received). If not, the IBM Support Center can help you get a copy of it, or you can use ShopzSeries and
the RECEIVE ORDER command to order the PTF from the Automated Service Delivery server.
2. The PTF identified by the Support Center may have been received but not yet applied. Use the LIST
command or the SMP/E Query dialog to check the status of the PTF.
3. The problem has been previously reported. No PTF has been created, but an APAR fix is available
either to fix or to bypass the problem.
4. The problem is a new one, and no fix is available. In this case, you have to work with the IBM Support
Center to construct a fix for your system.
No matter where you obtain the fix, the installation of that fix is said to be in corrective mode.
Note: You can use either the SMP/E dialogs or JCL jobs to build, receive, apply, and accept corrective
service. The basic steps to follow are the same. If you have access to the SMP/E dialogs, you should use
them. Otherwise, you can use the steps described in this chapter as examples.
If the fix obtained is not a PTF, you should make sure it was constructed accurately. This is true even if the
fix obtained from the IBM Support Center is already in SMP/E format (that is, you received a ++APAR type
SYSMOD).
If you have to build the fix yourself, see Standard Packaging Rules for z/OS-based Products
(publibz.boulder.ibm.com/epubs/pdf/gimpkg80.pdf) for rules for constructing APAR SYSMODs and z/OS
SMP/E Reference for details on MCS syntax. (To get started, you might find Chapter 18, “Building a user
modification,” on page 173 helpful.) The general format of all ++APAR fixes is:
You should perform the following checks to ensure the accuracy of the fix:
1. Make sure the value xxxxxxx in the ++APAR statement is equal to the APAR number associated with
the problem you are fixing.
2. Make sure the system release value (SREL) in the ++VER statement matches one of those defined as
an SREL subentry in the TARGETZONE entry for your target zone.
3. Make sure the FMID value aaaaaaa in the ++VER statement matches the FMID value in the
appropriate element entry in your target zone. You can determine this value by listing the appropriate
entry.
4. If the element entry in your target zone has an RMID value different from its FMID value, make sure
it is a prerequisite of the APAR fix (that is, make sure the bbbbbbb value is accurate). If the RMID and
FMID values are equal, the bbbbbbb value need not be specified.
5. If the element entry in your target zone has any UMID values, you should first make sure the fix itself
was constructed so that it works correctly in that environment.
You should then make sure each of the UMID values is specified in the PRE operand in place of the
ccccccc values shown in the example. This is not absolutely required, but if it is not done, SMP/E issues
warning messages during installation indicating that these SYSMODs may have an intersection with
the one you are installing, and therefore may be regressed. Putting the UMID values in the PRE list
suppresses these messages.
6. If this SYSMOD is to fix multiple problems, each of the additional APARs that are being fixed should be
specified in the SUP operand (ddddddd values in the example).
7. Make sure the name in the ++ZAP, ++MACUPD, or ++SRCUPD statement is correct.
8. Make sure the value eeeeeeee specified in the DISTLIB operand matches the DISTLIB value in the
target zone entry.
Note: The DISTLIB value is optional, but it is a good idea to specify it to make sure there is no mistake
about which element you are dealing with.
Once you have made sure the SYSMOD is accurate, you are ready to start the actual installation process.
Note: No source ID was assigned. This is because the SYSMOD is installed selectively in the APPLY step. If
you want to assign a common value or tag the SYSMOD with some sort of identifier (such as programmer
initials), you can use the SOURCEID operand.
If the input data set contains only the SYSMODs you are installing for this corrective service problem, you
can omit the SELECT operand. SMP/E then attempts to process all the SYSMODs in the SMPPTFIN input
data set.
) /* ..requisites.. */
FORTGTZONES(ZOS14) /* ..for this target zone */
).
/*
//ORDRSRVR DD *
<ORDERSERVER
url="https://eccgw01.boulder.ibm.com/services/projects/ecc/ws/"
keyring="MRWKYRNG"
certificate="SMPE Client Certificate">
</ORDERSERVER>
/*
5. If necessary, contact the IBM Support Center to obtain a corrective fix for the PTF. If, in the preceding
step, you decided that the PTF should be installed immediately to fix your problem, you should
perform this step at some later date.
) /* */
CHECK /* In check mode only. */.
This chapter describes the steps for installing a user modification (USERMOD). After an introduction to
USERMODs, it describes the following processes:
• Preparing your system
• Staging the USERMOD with the RECEIVE command
• Updating the target libraries with the APPLY command
• Testing the USERMOD
• Updating the distribution libraries with the ACCEPT command
Introduction
A USERMOD is a SYSMOD used to make a modification to some IBM-supplied software element (module,
macro, source, or data element) to implement a new function or to provide a hook into a user program
that provides that function.
A USERMOD should not be confused with an APAR SYSMOD (corrective fix), even if you built the initial
version of that fix to fix a problem immediately. For a description of how to construct USERMODs, see
Chapter 18, “Building a user modification,” on page 173. For details on the syntax of the MCS statements
used in constructing USERMODs, see z/OS SMP/E Reference. The Standard Packaging Rules for z/
OS-based Products (publibz.boulder.ibm.com/epubs/pdf/gimpkg80.pdf) contains additional information
about when a USERMOD should be used. The rest of this chapter assumes that you have properly
constructed the USERMOD and are now ready to install it.
Note: You can use either the SMP/E dialogs or JCL jobs to receive, apply, and accept USERMODs. The
basic steps to follow are the same. If you have access to the SMP/E dialogs, you should use them.
Otherwise, you can use the steps described in this chapter as examples.
Note: No source ID was assigned, because the SYSMOD is installed selectively in the APPLY step. If you
want to assign a common value to all the USERMODs or tag each of them with some sort of identifier
(such as programmer initials), you can use the SOURCEID operand.
If the input data set contains only USERMODs that you want to receive now, you can omit the SELECT
operand. SMP/E then attempts to process all SYSMODs in the SMPPTFIN input data set.
Note: At times, it may be necessary to reinstall a USERMOD; for example, after the installation of a PTF.
If you are reinstalling it, the APPLY REDO operand is necessary. You may also have to specify one of
the BYPASS operands; that depends on the relationship between your USERMOD and the PTF that was
installed.
++HOLD(usermod) USER
REASON(NOUSERM)
COMMENT(do not accept this usermod).
2. Run the SMP/E RECEIVE command to read in the ++HOLD statement. Use the SMPHOLD DD statement
to point to the file or data set containing the ++HOLD statement.
Because of the user hold, this USERMOD can be accepted only if you bypass the specific user reason ID.
The SYSMOD will not be automatically accepted if you specify USERMOD or the specific SYSMOD ID on
the ACCEPT command without bypassing the user reason ID.
Be aware that if you receive the ++HOLD statement before applying the USERMOD, you must bypass the
user hold reason ID in order to apply the USERMOD.
This chapter explains how SMP/E manages SYSMODs that require special processing. It discusses these
topics:
• An introduction to exception SYSMODs
• What SMP/E does with HOLDDATA
• Sources of HOLDDATA
• Steps for processing the data
Introduction
Most SYSMODs you receive from IBM can be installed without additional considerations; you can simply
receive, apply, and then accept them. For some SYSMODs, however, this is not possible. Examples of such
SYSMODs are:
• SYSMODs that were sent out to correct a problem but that either have not fixed the problem or have
introduced a new problem. These are called PTFs in error, or PE PTFs.
• SYSMODs that require special installation processing, such as a fix that must be concurrently installed
on all processors in a network.
• SYSMODs that introduce changes into the system that you should be made aware of, such as changes to
operator messages or critical documentation changes.
In SMP/E terms, these SYSMODs are called exception SYSMODs. SMP/E supplies a function to automate
the management of exception SYSMODs. SMP/E supports three categories of exception SYSMODs:
• Error. PTFs in error (PE PTFs).
• System. SYSMODs identified by IBM as requiring special processing or notification.
• User. Any SYSMODs that you identify as requiring special processing.
• Text describing why the SYSMOD is being put into exception status. This field is only for ++HOLD
statements.
• An alternative way to release the exception SYSMOD. This field is only for ++HOLD statements.
Every ++HOLD statement specifies a HOLD category of ERROR, SYSTEM, or USER. In addition to one
of these categories, a ++HOLD statement may include a HOLD CLASS, which is an alternative way to
release a held SYSMOD. For example, an exception SYSMOD may fix a problem more severe than the
problem it introduces. The ++HOLD statement for that SYSMOD would have an ERROR reason ID that
matches an APAR ID and a CLASS of ERREL.
++HOLD statements provided within a SYSMOD identify the same information. However, even though
these internal holds are effective against the containing SYSMOD, the SYSMOD ID specified on the hold
may be different from that of the containing SYSMOD, as long as the SYSMOD ID specified on the hold is
superseded by the containing SYSMOD.
SMP/E then manages exception SYSMODs by actually managing the resolution of the problems described
by the reason ID specified on the ++HOLD statement.
Subsequent sections of this chapter describe how SMP/E uses HOLDDATA during the installation of a
SYSMOD, where the exception SYSMOD statements come from, and how to process them. The chapters
on the RECEIVE command, the APPLY command, and the ACCEPT command in z/OS SMP/E Commands
contain a much more detailed explanation of the material covered here.
2. A SYSMOD entry is created (or modified) in the global zone. This entry contains information that
describes the exception SYSMOD conditions.
For each ++HOLD statement processed, SMP/E updates the global zone SYSMOD entry to add a HOLD
reason ID subentry. There are three types of HOLD reason ID subentries, HOLDERROR, HOLDSYSTEM,
and HOLDUSER, corresponding to the three categories of exception SYSMODs.
Note: When a ++RELEASE statement is processed, SMP/E removes the corresponding reason ID from
the global zone SYSMOD entry. Do not use the ++RELEASE statement to install a SYSMOD with an
unresolved reason ID. Use the appropriate BYPASS operand instead.
In summary, SMP/E ensures that no known problems are introduced into your system by managing those
problems at the level of the individual problem, rather than the SYSMOD level. It is, therefore, important
that SMP/E have the most current information about exception SYSMODs. For more information about the
importance of having current HOLDDATA and what you must do to provide that information to SMP/E, see
“How to process HOLDDATA” on page 146.
Sources of HOLDDATA
Besides the data you create, these are the main sources of HOLDDATA provided by IBM:
• CBPDO packages
• Expanded service options (ESO) tapes
• Preventive service planning (PSP) information
• IBM service web pages
• Automated Service Delivery server as a result of a RECEIVE ORDER command
This section describes these sources.
CBPDO packages
One of the primary means of obtaining HOLDDATA is CBPDO packages. IBM custom-builds these tapes to
provide the products and service you request, taking into consideration whether this is your first CBPDO
order.
• If you select a particular service level, you get HOLDDATA for all service from that level to the current
level.
• If you do not select a service level and this is your first CBPDO order, you get HOLDDATA for all the
service shown on the order checklist.
• If you do not select a service level and you have ordered a CBPDO before, you get HOLDDATA for service
following the last service level that was shipped in your previous CBPDO.
The HOLDDATA on a CBPDO package has been customized to your product set. That is, it contains only
data applicable to PTFs for those products within a given feature for which you are licensed under
a single customer number. However, it does not reflect the contents of any specific system within the
establishment defined by that customer number.
The HOLDDATA on the CBPDO package should be processed immediately on receipt of the tape. You
can use either the SMP/E dialogs or the RIMLIB jobs provided with the CBPDO package to receive the
HOLDDATA. For more information, see the documentation that came with the CBPDO package.
ESO tapes
Another way to obtain HOLDDATA is through ESO tapes. IBM regularly creates the service levels shipped
on these tapes, then custom-builds ESOs for users and makes the tapes available through either
subscription orders or special request orders.
The HOLDDATA on an ESO tape has been customized to your product set. That is, it contains only
data applicable to PTFs for those products within a given feature for which you are licensed under
a single customer number. However, it does not reflect the contents of any specific system within the
establishment defined by that customer number.
The HOLDDATA on the ESO should be processed immediately on receipt of the tape. For more information
about processing the ESO, see “Processing HOLDDATA from an ESO” on page 147 and “Example of
processing HOLDDATA” on page 148.
PSP information
Once a service level has been created, there is no further opportunity to change the HOLDDATA on that
tape, even though new errors are reported. It is, however, important that you have this error information
when you are about to install a CBPDO or an ESO. Otherwise, you may direct SMP/E to install a PE PTF,
thus introducing a problem while fixing one. To solve this problem, PSP files have been set up to hold this
additional HOLDDATA. Within each SREL, there is one PSP file for each service level.
When a service level is created, a PSP file is also created. As problems (APARs) are reported, appropriate
++HOLD statements are added to the applicable PSP files. IBM determines the applicable PSP files as
follows:
1. Determine the PTF that introduced the APAR.
2. If the PTF is not yet assigned a monthly service level, add a ++HOLD statement to the CORPE PSP file
as well as the most current monthly bucket.
Note: The CORPE PSP file is for PE PTFs available correctively, but not yet assigned to a monthly
service level. The current monthly bucket will contain ++HOLD statements for corrective service PTFs
as well as those assigned to a monthly service level.
3. If the PTF is available on a service level, determine the service level on which that PTF was first
shipped.
4. Add a ++HOLD statement to the PSP file corresponding to that service level.
5. Add a ++HOLD statement to each PSP file corresponding to any service levels shipped after the one
determined in the previous step, up to the current service level.
6. Add a ++HOLD statement for the next service level.
7. No further PSP files are updated.
Before installing a CBPDO package, an ESO tape, or PTFs in corrective mode, use IBMLINK or contact
the IBM Support Center to get the information in the applicable PSP file. For more information about how
to use the PSP information, see “Processing HOLDDATA from PSP files” on page 148 and “Example of
processing HOLDDATA” on page 148.
contains a ++RELEASE for the same PTF. If the tapes are processed in the wrong order, the RELEASE
statement is processed first, and then the HOLD statement. As a result, the PTF remains held.
By receiving the HOLDDATA as soon as possible, you make sure SMP/E has the most current
information available. Therefore, if you try to install any PTF in response to a problem on your system
and that PTF is in error, SMP/E knows this and warns you so you can balance the effect of installing the
known problem against the effect of fixing the problem you have encountered.
2. Receive the SYSMOD file of the ESO as soon as you get the tape using the SMP/E dialogs or the
following sample job:
This makes sure that all available PTFs are ready to be installed. If you find a problem in your system
and determine that a PTF must be installed in corrective mode, you have a better chance of having that
PTF and all its requisites readily available on the SMPPTS.
Note: The SOURCEID operand is optional. All PTFs in an ESO are assigned SOURCEID values by
++ASSIGN statements.
Although the procedures for receiving the SYSMOD and the HOLDDATA file are shown as separate jobs,
they can be done in one RECEIVE command by specifying both the SYSMODS and HOLDDATA operands.
In fact, this is the preferred method and is the default if neither operand is specified.
By following these procedures, you are essentially making a trade-off: system resources as increased
DASD space for the SMPPTS against the time the system programmer would spend on searching for the
service level with the required PTF and on fixing problems caused by installing PE PTFs.
One important part of this procedure is that the HOLDDATA on each ESO and CBPDO must be received
in chronological order. SMP/E processes the ++HOLD and ++RELEASE statements in the order in which
they are encountered. Therefore, there can be an exposure if you receive the data out of sequence. For
instance, the tapes may be set up so that one contains a ++HOLD for a PTF and a subsequent one
contains a ++RELEASE for the same PTF. If the tapes are processed in the wrong order, the RELEASE
statement is processed first, and then the HOLD statement. As a result, the PTF remains held.
You should also use IBMLINK or contact the IBM Support Center to get PSP information whenever you
are installing corrective service. Before installing a PTF in corrective mode, determine the service level
on which it was initially shipped. Then contact the IBM Support Center to get the PSP data associated
with that service level to determine whether there are any ++HOLD statements for that PTF. If so, process
them and install the PTF.
4. You are now trying to install PTFs at service level 0701. The amount of processing you have to do
before installing 0701 service level PTFs depends on what you did with PTFs in 0702 and 0703 service
levels.
• If you received the HOLDDATA for service levels 0701, 0702, and 0703, you have to process only the
one ++HOLD statement for PTF UR00001 from the PSP file for service level 0703.
• If you received only the HOLDDATA for service level 0702, you have to process the two ++HOLD
statements for PTFs UR00001 and UR00005 from the PSP file for service level 0702.
• If you decided not to process any data for particular service levels until you are ready to install them
(that is, if you did nothing with service level 0702 or 0703), you have to process the four ++HOLD
statements for PTFs UR00001, UR00002, UR00003, and UR00005 from the PSP file for service level
0701.
Note: In each case, you used the PSP file associated with the last service level for which you received
the HOLDDATA, but if you had kept current in processing the exception SYSMOD files from the service
levels, you would have had less information to obtain from the IBM Support Center.
In this example, the number of PTFs and HOLDDATA was small and, thus, the data seems manageable.
However, with a real service level with hundreds of PTFs, the amount of manual work involved in
getting the ++HOLD statements from IBMLINK or the IBM Support Center, and then keying them into
a data set and receiving them could be very time-consuming. So, the cost of the increased DASD
space necessary to store the HOLDDATA each month is commonly paid back in increased programmer
productivity when the service level is to be installed.
This chapter discusses the LINK MODULE command, with an emphasis on when and how to use it.
Therefore, SMP/E can use the target library version of ADMABCD to update CICS load module DFHWXYZ.
(If a module does not reside in a target library as a single-CSECT load module, SMP/E uses the related
distribution zone copy of the module to update the load module.)
The following commands can be used to have SMP/E install and track the installation of GDDM module
ADMABCD in the CICS load module:
These commands cause GDDM module ADMABCD to be linked into CICS load module DFHWXYZ. SMP/E
also adds cross-zone subentries to the affected entries:
• An XZLMOD subentry is added to the ADMABCD MOD entry in target zone GDDTZN so that if ADMABCD
is updated, it can be automatically replaced in the CICS load module.
Note: The CICS load module is automatically updated only if the XZLINK subentry was previously set
to AUTOMATIC in the TZONE entry for zone CICTZN. Here is an example of the commands that can be
used to do this:
• An XZMOD subentry is added to the CICS DFHWXYZ LMOD entry in target zone CICTZN to indicate that:
– DFHWXYZ now contains ADMABCD.
– Any updates for ADMABCD should be accepted only from zone GDDTZN.
• TIEDTO subentries are added to the TZONE entries for CICTZN and GDDTZN to indicate that there is a
relationship between modules and load modules in these zones.
For more information about the LINK MODULE command and cross-zone updating during APPLY and
RESTORE processing, see the LINK MODULE chapter in z/OS SMP/E Commands.
This chapter discusses the LIST command. After an introduction, it discusses these topics:
• Listing all the SMP/E data
• Listing by specific entry type
• Listing specific entries
• Listing by FMID or FMIDSET
• Listing to compare two zones
Introduction
The SMP/E database contains much information that is useful to you at certain times. For instance, when
a problem is encountered in your system:
• You need to know the functional and service level of the module with the error.
• You may also want to know when that module was last changed: a recent change may have caused the
problem.
• After reporting the problem, you can start working with the IBM Support Center to debug the problem.
They may want to know the status of other specific PTFs: have you installed them; are they available on
your system; is anything stopping them from being installed?
• After identifying the problem in the module, you may want to know whether any other parts of the
system are affected by that module.
All of this information is available in the SMP/E database. You can obtain the information by using the
SMP/E dialogs as you debug the problem. You can also use the SMP/E LIST command to create hardcopy
listings of the information.
With the LIST command, you can display all entries of a specified type or specific entries. The following
sections demonstrate the flexibility of the LIST command. For a complete description of all the LIST
command operands, go to z/OS SMP/E Commands.
Because the global zone contains data used to process each of the target zones and distribution zones,
you may want to list that data more often. The following job lists all the data in the global zone, including
the SYSMOD entries and the MCS entries:
If you do not require a listing of the SYSMOD and MCS entries, you can use the LIST operands that enable
you to list only specific entry types. For additional information, see “Listing by specific entry type” on page
154.
SMP/E also provides support to list all the entries for all the zones defined in the GLOBALZONE entry.
This enables you to display all data for all systems with one SMP/E command. Here is an example of this
option:
Note:
1. The ALLZONES operand should be used with caution; it may produce a large amount of output.
2. This function can also be qualified by other LIST operands to limit the entries listed from each zone.
For example, the following job will list only the SYSMOD entries from all zones:
.
/*
For a complete list of all the operands corresponding to the various entry types, see the LIST command
section in z/OS SMP/E Commands.
Note: Not all entry types are valid for each zone type. For example, requesting a listing of the OPTIONS
entries in a target zone results in an error, because OPTIONS entries exist only in the global zone. For a
summary of the types of entries contained in each type of zone, see Table 3 on page 65 and Table 4 on
page 65.
Sometimes, the various entry-type operands can be further qualified to process only a subset of all
existing entries. The most common type for which this can be done is the SYSMOD entries. There are
numerous operands to qualify SYSMOD entries. The LIST command section in z/OS SMP/E Commands
describes all of them in detail.
One of the most common uses of this function is to determine the functions (or FMIDs) that have been
installed. The following job can be used to list:
• The function SYSMODs installed on TGT1
• Those PTFs that have been applied to TGT1 but not yet accepted to DLIB1
You receive a listing of the required information for the two modules. If SYSMOD UR12345 was installed,
it should be listed; otherwise, you receive a message saying that the entry was not found (meaning it has
not been installed).
Chapter 12. Displaying the data managed by SMP/E: The LIST command 155
LIST command
Another common use for this function is to list the cover letters for specific PTFs. The following job shows
an example of a job for listing the cover letters for PTFs UR00001, UR00002, and UR00003:
Note: The names within the FORFMID operand can be names of FMIDSET entries. In this case, SMP/E
lists all the entries associated with any of the FMIDs defined in the FMIDSET entry.
/* in zone TGT1 */
NOAPPLY(TGT2) /* that have not been */
/* applied to TGT2. */
/* */.
SET BDY(TGT2) /* Set to target zone TGT2. */.
LIST SYSMODS /* List the SYSMODs */
/* in zone TGT2 */
NOAPPLY(TGT1) /* that have not been */
/* applied to TGT1. */
/* */.
/*
By comparing the two resulting listings, you can see the differences between the two zones.
In this second example, the same product is installed in different zones. You want to compare the
service to make sure both copies of the product are at the same level. For example, assume that product
PVT1102 is installed in two target zones and two distribution zones:
You want to make sure that PVT1102 is at the same service level in all the zones. To do this, you can use
the LIST command and compare which SYSMODs are installed in which zones.
To compare the service levels of product PVT1102 in the two distribution zones, you can use the
commands in the following example:
Similarly, to compare the service records for the target zone copies of PVT1102, you can use LIST with the
NOAPPLY operand.
Summary
The LIST command enables you to:
• Compare two target zones using the NOAPPLY operand.
Chapter 12. Displaying the data managed by SMP/E: The LIST command 157
LIST command
• Compare two distribution zones using the NOACCEPT operand in place of the NOAPPLY operand.
• Compare a target zone and a distribution zone using both the NOAPPLY and NOACCEPT operands.
This gives you the ability to compare all combinations of zone types, keeping in mind that the zone for
the NOAPPLY operand must be a target zone, and that the zone for the NOACCEPT operand must be a
distribution zone.
This chapter discusses the UCLIN command, with an emphasis on how and when to use it.
Introduction
The SMPCSI and associated data sets contain basically two types of information:
• Information added as a result of installing SYSMODs. Generally, this type is managed completely by
SMP/E; that is, appropriate entries are added, changed, or deleted as SYSMODs are installed. You need
not make any modification to the database to record this information. You may, however, need to make
changes to do the following:
– Record changes made outside SMP/E
– Delete information no longer required
– Recover from an SMP/E or system error
• Information added by you to control the installation of SYSMODs. You must manually add this
information to the database before processing any SYSMODs. You may later need to modify the
information to reflect new processing information.
The UCLIN command helps you to make these changes.
To use UCLIN effectively, you should have a detailed understanding of how it works and what it can do.
z/OS SMP/E Commands has information about UCLIN. z/OS SMP/E Reference provides details about SMP/E
data set entries. Read them before trying to run any UCLIN commands. The following sections describe, at
a very high level, what UCLIN is.
Change the structure of your system Standard Packaging Rules for z/OS-based
Products (publibz.boulder.ibm.com/epubs/pdf/
(For example, to add, delete, move, or rename
gimpkg80.pdf): section on how to avoid UCLIN by
elements or their aliases)
using the appropriate MCSs and operands
2. If you are not the originator of the UCLIN, make sure you understand exactly what is being done and
why. If you are not sure, find out before making the update.
3. Make sure the UCLIN is being done in the correct sequence in the process—before or after the
installation of the SYSMOD.
4. Make sure all the data is correct.
5. List the entry before changing it. This makes sure you know what the original entry looked like in case
an error is reported during the UCLIN or the modification causes an error.
6. After you have done all of these steps, if you have been given directions for installing the UCLIN
(for example, in the PTF cover letter or in the program directory for a new function), follow those
directions.
… /* UCL */
UCL statements /* statements */
… /* to make modifications. */
ENDUCL /* Marks end of UCLIN. */.
Where:
ADD|REP|DEL
Specifies the action to be taken on the entry or operands specified.
In general, ADD means add the entry or operand only if it is not already present; REP means replace
the operand if it is already present, otherwise add it; and DEL means delete the entry or operand if
it exists. For a more detailed description of the functions provided by ADD, REP, and DEL, see the
chapter on the UCLIN command in z/OS SMP/E Commands.
type(name)
Specifies the entry type (such as MOD, MAC, ORDER, SRC, data element type, SYSMOD) and name of
the entry (such as GIMMPDRV, HELP, ORD000034, MYSRCMOD, MYCLIST, UR12345).
operand
Specifies the individual data items in the entry that are to be modified.
The data items can be:
• Single operands, such as RENT or REUS or COPY
• Single value subentries, such as DISTLIB(AOS12), where only one value can be placed within the
parentheses
• Multiple value subentries, such as LMOD(LMOD01,LMOD02,LMOD3) or MAC(MAC01,MAC02), where
more than one value can be specified within the parentheses
Chapter 13. Changing the data SMP/E manages: The UCLIN command 161
UCLIN command
This chapter contains information about using the REPORT CROSSZONE command to check for requisites
between zones. It discusses these topics:
• How to define the zones to be processed
• How to run the REPORT CROSSZONE command
• How to install the SYSMODs, using the output from the REPORT CROSSZONE command
Introduction
Your system may contain products that are packaged and installed separately, but which have service
level or interface dependencies. For example, an interface error in one product may require a change
to another product that used the interface. When this happens, a unique PTF is generated for each
product. The relationship between the PTFs can be specified in a conditional requisite (++IF) modification
control statement in the PTFs. If you have completed the steps listed in “Specifying automatic cross-zone
requisite checking” on page 81, SMP/E automatically checks the requisites during APPLY, ACCEPT, and
RESTORE processing, whether the products are in the same zone or in separate zones. However, if
you have not completed these steps and the products are in separate zones, the requisites are not
automatically checked in any other zones. In this case, to make sure these requisites are installed where
they are needed, you must:
1. Identify a set of zones to be checked for conditional requisites. These zones may be defined in
the same global zone or in different global zones. You may also define groups of zones by creating
ZONESET entries in the global zone.
Note: When defining a ZONESET, all the zones in the ZONESET must be defined by ZONEINDEX
subentries in the same global zone as the ZONESET entry.
2. Run the REPORT CROSSZONE command to get a list of the SYSMODs that must be installed and the
zones where they are needed.
3. Install the SYSMODs in the indicated zones.
Note: If you just want to check service levels for products, you should use the REPORT SYSMODS
command or the LIST command. See Chapter 17, “Comparing the SYSMODs installed in two zones: The
REPORT SYSMODS command,” on page 171 and “Listing to compare two zones” on page 156 for more
information.
As a second example, assume that you have the same four zones, but BASEABC and PRODABC are
defined in one global zone and BASEXYZ and PRODXYZ are defined in a second global zone. Because each
zone in a ZONESET must be defined by a ZONEINDEX subentry in the same global zone as the ZONESET
entry, the following ZONESETs may each be defined in their respective global zone:
that is, both target and distribution zones are identified. If this is the case, you need to specify which type
of Cross-Zone report you want generated.
You can limit which SYSMODs SMP/E reports on by specifying any combination of these operands on the
REPORT CROSSZONE command:
• FORZONE: to list only SYSMODs needed in specific zones being processed.
• FORFMID: to list only SYSMODs needed for specific FMIDs in the set of zones to be processed.
• DLIBZONE or TARGETZONE: to tell SMP/E which zones you want a report on (if the zones being
processed are mixed)
Note:
1. DLIBZONE and TARGETZONE are mutually exclusive operands.
2. FORZONE is mutually exclusive with the ZONES operand.
For more information about the REPORT CROSSZONE command, see z/OS SMP/E Commands.
To continue the example where all four zones are defined in the same global zone, assume that you
applied a number of SYSMODs to the zones in ZONESET ZONEA. Some of these SYSMODs named
conditional requisites. To find out which zones are affected by these requisites, you can use the following
commands:
To continue the example where the zones are defined in two separate global zones, assume that you
applied a number of SYSMODs to the zones in ZONESET ZONEA defined in global zone 1 and also to
PRODXYZ defined in global zone 2. Some of these SYSMODs named conditional requisites. To find out
which zones are affected by these requisites, you can use the following commands:
Chapter 14. Identifying cross-zone requisites: The REPORT CROSSZONE command 165
REPORT CROSSZONE command
to run the REPORT CROSSZONE command and install SYSMODs until all the needed SYSMODs have been
installed in both ZONESETs.
For the example in this chapter where the zones are defined in two different global zones, follow these
steps for ZONESET ZONEA and PRODXYZ, and also for ZONESET ZONEX and PRODABC because both
contain zone PRODXYZ. You can continue to run the REPORT CROSSZONE command and install SYSMODs
until all the needed SYSMODs have been installed in the required zones.
This chapter contains information about using the REPORT ERRSYSMODS command to check for installed
SYSMODs affected by error holds that were later received. It discusses these topics:
• How to run the REPORT ERRSYSMODS command
• How to use output from the REPORT ERRSYSMODS command for installing the SYSMODs
Introduction
In the course of maintaining your system, you can apply or accept service and later receive HOLDDATA
that affects that service. If any of that HOLDDATA was for an error reason ID, you should install a resolving
SYSMOD so that the error does not occur on your system. However, SMP/E does not automatically write
any reports during RECEIVE processing to help you do this. To see if any installed SYSMODs are affected
by error holds that were later received, you must:
1. Run the REPORT ERRSYSMODS command to get a list of the SYSMODs that must be installed and the
zones where they are needed.
2. Install the resolving SYSMODs in the indicated zones.
3. Determine whether any resolving SYSMODs are available for held SYSMODs.
This chapter contains information about using the REPORT SOURCEID command to list the source IDs
assigned to SYSMODs in a given zone or ZONESET. It discusses these topics:
• How to run the REPORT SOURCEID command
• How to list SYSMODs using the output from the REPORT SOURCEID command
Introduction
In the course of maintaining your system, you may need to find out which source IDs are assigned to
SYSMODs in a given zone. For example, assume you install service using CBPDOs, which assign source
IDs to the service SYSMODs they contain. You can use the REPORT SOURCEID command to determine the
latest service level you have installed in a particular zone. To determine the service level based on source
IDs, follow these steps:
1. Run the REPORT SOURCEID command to get a list of which source IDs are assigned to SYSMODs in a
given zone.
2. If desired, list the SYSMOD entries for the SYSMODs with those source IDs.
SET BDY(GLOBAL).
REPORT SOURCEID
ZONES(TGT1)
SYSMODIDS.
This chapter contains information about using the REPORT SYSMODS command to check if SYSMODs
installed in one zone are applicable to and installed in a second zone. It discusses these topics:
• How to run the REPORT SYSMODS command
• How to install SYSMODs using the output from the REPORT SYSMODS command
Introduction
In the course of maintaining your system, you may need to compare the function and service level of two
zones. For example, if you have installed the same products in different zones, you may want to make
sure that both copies of these products are at the same level. SMP/E does not do this kind of checking
automatically. To compare the SYSMODs installed in two zones, you must:
1. Run the REPORT SYSMODS command to get a list of the SYSMODs that are installed in the first zone
and that are applicable to the second zone but are not yet installed there.
2. Install the applicable SYSMODs in the second zone.
Suppose we modify this example slightly and assume that TGZONE1 and TGZONE2 are serviced by
different global zones. TGZONE1 is serviced by the global zone in SYS1.GLOBAL1.CSI and TGZONE2 is
serviced by the global zone in SYS1.GLOBAL2.CSI. You can use the following commands:
Because TGZONE1 and TGZONE2 are serviced by different global zones, an SMPCSI DD statement will be
generated at the top of the SMPPUNCH output. This DD statement must be moved to your job before the
SMPPUNCH output can be used.
1. Research the report to determine which of the identified SYSMODs you want to install into the
comparison zone.
2. Find and receive any applicable SYSMODs that were not available and that you want to install. The
source ID in the report identifies some possible sources for obtaining the SYSMODs.
3. Tailor the SMPPUNCH output to install the set of SYSMODs that you deem appropriate; then run the
commands to install the desired SYSMODs.
This chapter discusses steps and considerations for building a user modification (USERMOD). It provides
the following information:
• How to choose between building a SYSMOD as a USERMOD and building it as a function
• How to create modification control statements
• Examples of USERMODs
SMP/E reports on changes attempted by PTFs, SMP/E does not report on changes attempted by
APARs, or USERMODs. PTFs, APARs, or USERMODs.
Other SYSMODs for the same function can update Because the SYSMOD owns the element, SYSMODs
the elements. for other functions cannot update the element
without also changing the owner of the element.
Better for small changes that affect only a few Better for major additions to the system.
elements.
for guidelines on when to use USERMODs. See the section on SMP/E modification control statements in
z/OS SMP/E Reference for more information about MCS syntax.
++USERMOD(sysmod_id) /* */.
The data following the ++ZAP statement is a set of superzap control statements. The general format of
the ++ZAP statement is:
The superzap control statements are the same as you would use if you were calling the superzap utility.
The only exception is that on the NAME statement, you should specify only the CSECT name within the
distribution library module, rather than the load module name and the CSECT name. When SMP/E installs
the SYSMOD, it determines all the load modules into which this distribution module was link-edited
and then calls the superzap utility for each of these load modules, modifying the NAME statement as
appropriate.
The data following the ++MACUPD statement is the control statements that would have been used if you
called the IEBUPDTE utility. The general format of the ++MACUPD statement is:
To be packaged inline, a program element must be unloaded along with its aliases into a sequential
data set and then transformed with GIMDTS into the required fixed-block-80 record format before it is
packaged. Later, when SMP/E installs the element, it is changed back to its original format. For more
information about using GIMDTS, , see z/OS SMP/E Reference.
To be packaged inline, a data element must contain fixed-block 80 records. If the original format of
the element is not fixed-block 80 records, you can use GIMDTS, a service routine provided with SMP/E,
to transform the element into the required format before packaging it. Later, when SMP/E installs the
element, it is reconverted to its original format. For more information about using GIMDTS, see z/OS
SMP/E Reference.
To be packaged inline, a hierarchical file system element must contain fixed-block 80 records. If the
original format of the element is not fixed-block 80 records, you can use GIMDTS, a service routine
provided with SMP/E, to transform the element into the required format before packaging it. Later, when
SMP/E installs the element, it is reconverted to its original format. For more information about using
GIMDTS, see z/OS SMP/E Reference.
Examples of USERMODs
This section contains examples of USERMODs that:
• Update a module
• Replace a module
• Add new modules
• Replace a macro or source code
• Update a macro or source code
• Add new source code
• Add source code that uses an IBM-supplied macro
• Add a module that uses an IBM-supplied macro
Note:
1. You should verify each location that you are going to update.
2. You can specify only one name in the NAME statement.
3. The changes made by the REP statements are explained by the preceding comment lines.
Note: There are no PRE operands on the ++VER statement, because this module has not been modified
since its initial installation. Therefore, only the ++VER FMID operand is required.
Note:
1. The ++JCLIN statement is required because the SYSMOD provides new modules and a new load
module.
2. This SYSMOD could have been packaged as a ++FUNCTION, because each of the modules is user-
written.
3. This SYSMOD could have been packaged as three separate SYSMODs, each containing one module. In
that case, each SYSMOD would then need to specify the ++VER REQ operand so the SYSMODs would
be installed as a set.
/* */.
...
... macro replacement
...
Note:
1. No JCLIN is required to install a new macro; all necessary information can be specified on the ++MAC
statement.
2. You can follow this example to add new source code, with the following exceptions:
• The ASSEM operand is not required for source code. If SMP/E understands where source code is to
be installed, it automatically tries to assemble the new version of the source code after replacing the
old version.
• To define how the source code should be installed, you should include a ++JCLIN statement
followed by JCLIN data. The JCLIN data should be similar to that in the example of adding a new
module.
Note:
1. The ++VER PRE operand specifies the previous SYSMOD that replaced the macro.
2. You can follow this example to update source code, with the following exceptions:
• The ASSEM operand is not used for source code.
• Because the SYSMOD adding the source code defined how the module should be installed, there is
no need to repeat that information about a ++JCLIN statement in the USERMOD.
PDS member • DDDEF entry or DD statement for APPLY and ACCEPT processing:
REPLACE DD DSN=…
IFBSRC DD DSN=SYS1.IFBSRC
LPALIB DD DSN=SYS1.LPALIB
AIFBSRC DD DSN=SYS1.AIFBSRC
AOS23 DD DSN=SYS1.AOS23
The following is a sample USERMOD that can be used to package the source code. The numbers associate
items in the SYSMOD with the information listed in Table 16 on page 180.
SRCPART refers to an IBM-supplied macro (IBMMAC), which was packaged in its owning product with a
++MAC statement. You want SRCPART to be automatically reassembled every time IBMMAC is updated or
replaced with service. To accomplish this, your USERMOD must contain a JCLIN assembly step in addition
to the necessary SMP/E MCS statements. (This means you need to supply the same SRCPART definition as
part of the JCLIN input, as well as after the ++SRC statement.) Your USERMOD might look something like
this:
++USERMOD(UMOD001).
++VER(srel) FMID(fmid).
++JCLIN.
//STEP1 EXEC PGM=IEUASM
//SYSPUNCH DD DSN=&&PUNCH(SRCPART),DISP=(PASS);
//SYSIN DD *
SRCPART CSECT
IBMMAC
BR 14
END
//LINK EXEC PGM=IEWL
//SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR
//SYSLIN DD *
INCLUDE SYSPUNCH(SRCPART)
NAME LOADMOD1
/*
++SRC(SRCPART) SYSLIB(tgtlib) DISTLIB(dlib).
SRCPART CSECT
IBMMAC
BR 14
END
When the assembly step in the JCLIN is processed, a GENASM subentry is added to the MAC entry
for IBMMAC indicating SRCPART is to be assembled whenever IBMMAC is updated. So, if you install a
SYSMOD that updates IBMMAC, SMP/E automatically reassembles SRCPART and link-edits the new copy
into LOADMOD1.
Note: Remember, when a link-edit step contains a SYSLMOD DD statement, SMP/E uses the low-level
qualifier of the data set name to determine the ddname of the load module's target library (and, by
extension, the name of the DDDEF entry to use when allocating this library). In this USERMOD, for
example, SMP/E looks for a DDDEF entry named LINKLIB in order to allocate the SYSLMOD data set.
++USERMOD(UMOD001).
++VER(srel) FMID(fmid) PRE(macrmid).
++JCLIN.
//LINK EXEC PGM=IEWL
//SYSLMOD DD DSN=SYS1.LINKLIB,DISP=SHR
//SYSLIN DD *
INCLUDE DLIB1(SRCPART)
NAME LOADMOD1
/*
++MAC(IBMMAC).
…
macro source
…
++MOD(SRCPART) DISTLIB(dlib).
…
module object deck
…
Because you specified the macro's RMID and UMIDs, when IBMMAC is serviced, the APPLY will get a
MODID error for the USERMOD. You will have to restore the USERMOD to successfully apply the service.
Then you can rework the USERMOD and apply it again.
Note: Remember, when a link-edit step contains a SYSLMOD DD statement, SMP/E uses the low-level
qualifier of the data set name to determine the ddname of the load module's target library (and, by
extension, the name of the DDDEF entry to use when allocating this library). In this USERMOD, for
example, SMP/E looks for a DDDEF entry named LINKLIB in order to allocate the SYSLMOD data set.
This chapter describes root cause analysis and provides examples of how to use the causer SYSMOD
information in the Causer SYSMOD Summary report and the SYSMOD Status report to determine the
cause of SYSMOD failure.
Introduction
A causer SYSMOD is a SYSMOD whose failure led to the failure of other SYSMODs. To identify causer
SYSMODs, SMP/E performs root cause analysis for the ACCEPT, APPLY, and RESTORE commands. The
types of errors SMP/E analyzes to determine causer SYSMODs include the following:
• Held SYSMODs
• Missing requisite SYSMODs
• Utility program failures: copy, update, assembler, link, zap
• Out-of-space conditions: x37 ABENDs
• Missing DD statements and other allocation errors
• ID errors (a SYSMOD does not supersede or specify as a prerequisite an RMID or a UMID of an element)
• JCLIN errors (syntax errors)
The results of SMP/E's root cause analysis are presented in two reports:
• SYSMOD Status report
This report summarizes the processing done for each eligible SYSMOD. For SYSMODs that failed, the
report lists the causer SYSMODs.
After you check the SYSMOD Status report to determine the results of processing, use the Causer
SYSMOD Summary report to determine which errors need to be corrected.
• Causer SYSMOD Summary report
This report lists the causer SYSMODs along with a brief summary of the related messages, descriptions
of the errors that caused the SYSMODs to fail, and, when feasible, some causes for those errors.
Example
Suppose you ran the following command:
and the SYSMOD Status report included the results shown in Figure 36 on page 186.
NOTE: '-' INDICATES THE REQUISITE SYSMOD OR HOLD CONDITION IS NOT SATISFIED
'*' INDICATES THE NON SATISFIED REQUISITE SYSMOD OR HOLD CONDITION IS BYPASSED
'#' INDICATES THE SUPERSEDING SYSMOD WAS NOT PROCESSED
SYSMOD STATUS TYPE FMID REQUISITE SYSMODS, SUPBY SYSMODS, HOLD REASON-IDS, AND CAUSER
SYSMODS
In this case, the report indicates that APPLY processing failed for SYSMODs UR00001 and UR00002
because of unresolved error holds. The causer SYSMOD for both PTFs is UR00002. Next, you look up
UR00002 in the Causer SYSMOD Summary report, shown in Figure 37 on page 186.
Figure 37. Causer SYSMOD summary report: sample report for APPLY
That report shows that APPLY processing failed because error hold AR00003 was not resolved for
SYSMOD UR00002. By resolving this hold, you will fix the errors listed in the SYSMOD Status report.
This chapter is a guide to packaging Java Archive files (JAR files) and updates for JAR files in SMP/E.
The intended audience for this section is anyone who will be exploiting this function, including product
packagers and service teams. This guide provides information and examples about packaging a product
release using the ++JAR MCS and building subsequent PTFs to service that release using the ++JARUPD
MCS.
/u/pezk/TicTacToe/TicTacToe.class
/audio/beep.au
/ding.au
/yahoo.au
/images/cross.gif
/not.gif
To build a JAR file element for the complete TicTacToe applet, you would first make your working directory
the TicTacToe directory where the applet files reside, and then run the following jar command:
cd /u/pezk/TicTacToe/
jar cvf ABCTTT.jar *
Specified in this way, the jar command takes all files in the working directory (/u/pezk/TicTacToe), and all
files within subdirectories of the working directory, and creates a JAR file named ABCTTT.jar.
Your product release, or FMID, can then contain this single JAR file, which is the complete TicTacToe
applet. You can do this using the ++JAR MCS as seen in the following example:
/u/apars/ow12345/TicTacToe/TicTacToe.class
/images/new.gif
You can instruct SMP/E to add new files to a JAR file, and replace files in an existing JAR file by using the
++JARUPD MCS. If files TicTacToe.class and new.gif were to be packaged and archived together in a JAR
file of their own, then that file, in SMP/E terms, would be considered a JAR update file. For example, given
the preceding directory structure for the new and updated files, the jar command could be used to create
the JAR update file as follows:
cd /u/apars/ow12345/TicTacToe/
jar cvf ABCTTT.jarupd *
The resultant JAR file ABCTTT.jarupd would be packaged as a ++JARUPD in a PTF as in the following
example:
++PTF(UW12345).
++VER(Z038) FMID(fmid).
++JARUPD(ABCTTT)
PARM(PATHMODE(0,6,4,4)) JARPARM(0M)
LINK('../TicTacToe.jar')
SYMLINK('../../../../../usr/lib/TicTacToe.jar')
SYMPATH('../../usr/lpp/abc/bin/TicTacToe.jar').
Suppose now another defect (APAR) is discovered against the TicTacToe applet, and you must update
the /audio/beep.au file within the archive. Again, you can use the ++JARUPD MCS to describe an update
to the archive. Assuming the replacement audio file resides in a directory as follows:
/u/apars/ow54321/TicTacToe/audio/beep.au
The following jar command could create the necessary JAR update:
cd /u/apars/ow54321/TicTacToe/
jar cvf ABCTTT.jarupd *
The resulting JAR file ABCTTT.jarupd would be packaged as a ++JARUPD in a PTF as in the following
example:
++PTF(UW54321).
++VER(Z038) FMID(fmid) PRE(UW12345).
++JARUPD(ABCTTT)
PARM(PATHMODE(0,6,4,4)) JARPARM(0M)
LINK('../TicTacToe.jar')
SYMLINK('../../../../../usr/lib/TicTacToe.jar')
SYMPATH('../../usr/lpp/abc/bin/TicTacToe.jar').
Notice the second PTF has a prerequisite for the first PTF. Such a relationship is required by SMP/E
because both PTFs update the same JAR file.
++PTF(UW87654).
++VER(Z038) FMID(fmid) SUP(UW12345 UW54321).
++JAR(ABCTTT) DISTLIB(AABCBIN) SYSLIB(SABCBIN)
PARM(PATHMODE(0,6,4,4)) JARPARM(0M)
LINK('../TicTacToe.jar')
SYMLINK('../../../../../usr/lib/TicTacToe.jar')
SYMPATH('../../usr/lpp/abc/bin/TicTacToe.jar').
Notice this PTF supersedes both PTFs that supplied updates for the JAR file. Again, such relationships
(either supersede or prerequisite) are required by SMP/E, because both PTFs provided updates for the
JAR file contained in the current PTF.
Migration overview
Your plan for migrating to the new level of SMP/E should include information from various sources. These
sources of information describe topics such as coexistence, service, migration procedures, and interface
changes.
The following documentation, which is supplied with your product order, provides information about
installing your z/OS system. In addition to specific information about SMP/E, this documentation contains
information about all of the z/OS elements.
• z/OS Planning for Installation
This book describes the installation requirements for z/OS at a system and element level. It includes
hardware, software, and service requirements for both the driving and target systems. It also describes
any coexistence considerations and actions.
• SMP/E Program Directory
This document, which is provided with your SMP/E product order, leads you through the specific
installation steps for SMP/E.
• ServerPac Installing Your Order
This is the order-customized installation book for using the ServerPac installation method. Be sure to
review "Appendix A. Product Information", which describes data sets supplied, jobs or procedures that
have been completed for you, and product status. IBM may have run jobs or made updates to PARMLIB
or other system control data sets. These updates could affect your migration.
Within this book, you can find information about the specific updates and considerations that apply to this
release of SMP/E.
• “SMP/E V3R5 overview” on page 194
This section describes the specific updates that were made to SMP/E for the current release. For each
item, this section provides an overview of the change, a description of any migration and coexistence
tasks that may be considered, and where you can find more detailed information in the SMP/E library or
other element libraries.
unit=unit-type
dataclas=data-class
mgmtclas=management-class
storclas=storage-class
catalog=YES | NO
To identify a volume and/or device unit for the allocation of temporary work data sets, the following
optional tag may be included in the GIMUNZIP SYSIN:
<TEMPDS
volume=volser
unit=unit-type >
</TEMPDS>
See the GIMZIP service in the z/OS SMP/E Reference for further information about these new attributes
and tags.
Coexistence considerations
SMP/E releases before SMP/E V3R5 cannot process a JCLIN input stream containing an INCLUDE
statement that has a utility input value that is longer than 8 characters or contains a character other
than uppercase alphabetic (A-Z), numeric (0-9) and national (@,#,$). An error message is issued if an
unsupported utility input value is encountered.
Additionally, unless the required PTF is installed, SMP/E releases before SMP/E V3R5 cannot process an
LMOD entry containing an unsupported UTIN subentry. If installed, the PTF updates the SMP/E Query
Dialogs and the GIMAPI to retrieve and display information about the UTIN subentries created with
SMP/E V3R5 or higher. For the LIST and UNLOAD commands, if the zone contains an unsupported UTIN
Migration tasks
An application program that uses the GIMAPI to query the UTIN subentry of an LMOD entry might need
to be updated to allow for the longer length for these UTIN values. Additionally, because the comma is
used as the separator between the ddname and the file name in the UTIN value and because it is also a
valid character in the UTIN file name, the application program might have to change the manner in which
it extracts the ddname from the value.
Coexistence considerations
SMP/E releases before V3R5 cannot process the MCS input that is developed specifically for V3R5, nor
can they process data in the SMPCSI data set.
In SMP/E V3R4, if your SOURCEID value meets either of the following conditions, a message is shown to
indicate that your operand contains a value that cannot be processed by the current release of SMP/E:
• Your SOURCEID value is 9 to 64 characters in length.
• Your SOURCEID value contains a character other than uppercase alphabetic (A-Z), numeric (0-9), or
national (@,#,$).
ZONEMERGE command
SMP/E V3R5 has modified the ZONEMERGE command to automatically check for incompatible changes
between the originating and destination zones before allowing the merge. This requires that a zone
definition entry be present in the destination zone. If a zone entry is not present in the destination zone,
or if it is present, but incompatible changes exist between the originating zone and the destination zone,
an error message is issued. Additionally, during CONTENT processing, the SREL subentry of the zone
definition entry is merged.
Coexistence considerations
Unless the required PTF is installed, SMP/E releases before SMP/E V3R5 will not merge the SREL subentry
of the zone definition entry, nor will they automatically check for incompatible changes between the
originating and destination zones. If installed, the PTF causes SMP/E to merge the SREL data during
CONTENT processing and to check for incompatible changes between the two zones.
Migration tasks
If the zone entry does not exist in the destination zone, it must be created using either UCLIN or the
SMP/E dialogs. If the zone entry is present, but incompatible changes exist between the two zones, the
user must run the UPGRADE command against the destination zone. The user must use the level of SMP/E
that is equal to or higher than the UPGLEVEL subentry found in the zone entry of the originating zone. That
is, if the UPGLEVEL subentry of the zone entry in the originating zone is 34.00, the UPGRADE command
must be run against the destination zone using SMP/E 3.4 or higher.
Migration tasks
To change APPLY and ACCEPT command processing to write Warning messages for bypassed SYSTEM
HOLD conditions as was done in prior SMP/E releases, use the new COMPAT(WARNBYPASS) execution
parameter for program GIMSMP. For example:
ZONEEDIT enhancement
The ZONEEDIT command now allows subentries to be added as well as changed. You can add the UNIT,
VOLUME, and WAITFORDSN subentries of the DDDEF entry, and the PRINT subentry of the UTILITY entry
using the ZONEEDIT command.
Coexistence considerations
SMP/E releases before SMP/E V3R4 cannot process the new ORDER entry or the new ORDERRET subentry
of the OPTIONS entry. A toleration PTF provides:
• LIST, GZONEMERGE, GIMAPI and Query Dialog support for the ORDERRET subentry and causes SMP/E
to ignore the subentry in all other instances.
• GZONEMERGE, GIMAPI and Query Dialog support for the ORDER entry and causes SMP/E to issue a
warning message if ORDER entries exist in the zone when the LIST command is requested. The ORDER
entry is ignored in all other instances.
Migration tasks
1. SMP/E will now use the FTP.DATA configuration data set to allow the client to specify local site
parameters. Two of the values specified in the FTP.DATA data set are FWFriendly and FTPKEEPALIVE.
These values correspond to the pasv and keepalive attributes in the CLIENT data set. Therefore, these
attributes should no longer be specified in the CLIENT data set. If the pasv and keepalive attributes are
specified in the CLIENT data set, they will be ignored. If required, these values must be specified in
the FTP.DATA data set. Refer to z/OS Communications Server: IP User's Guide and Commands for more
information about the statements that can be coded in the FTP.DATA data set.
2. To enable TLS security, SOCKS firewall support, and IPv6 addressing, ensure that z/OS
Communications Server V1R2 (or higher) is installed.
3. If you previously specified FTP commands to navigate your local firewall using the <FIRECMD> tag of
the CLIENT data set, then you may need to update them. Specifically, subcommands such as USER,
PASS, and ACCT should no longer be specified in <FIRECMD>. The commands you specify in the
<FIRECMD> tags should be the same as those you use with the z/OS Communications Server FTP
client, and should contain only the actual values (or the appropriate substitution variables) for user ID,
password, and account.
UPGRADE command
New releases of SMP/E must sometimes make changes to SMP/E data sets that cannot be properly
processed by prior SMP/E releases. SMP/E usually makes incompatible changes only when necessary to
provide new and improved capabilities. For example, a new type of element requires a new entry type
in SMPCSI data sets and these new entry types are typically not understood or processed correctly by
SMP/E levels that have not been specifically updated to do so.
The UPGRADE command allows you to specify when SMP/E is permitted to make incompatible changes to
SMP/E data sets. This, in turn, allows you to make the trade-off between exploiting new SMP/E functions
and preserving compatibility with prior SMP/E releases. For more information about the UPGRADE
command, see z/OS SMP/E Commands.
Coexistence considerations
A toleration PTF will enable OS/390 V2R7 SMP/E, z/OS V1R2 SMP/E, and SMP/E V3R1 to automatically
check for incompatible changes made by a higher level of SMP/E. A toleration PTF will also provide a
warning message should a user try to issue an UPGRADE command on a release of SMP/E prior to V3R2.
Coexistence considerations
SMP/E releases prior to SMP/E V3R2 cannot process GIMZIP output that contains segmented archive
files. A toleration PTF will issue an error message should a user try to process GIMZIP output that
contains segmented archive files on a release of SMP/E prior to V3R2.
Coexistence considerations
Unless the required PTF is installed, SMP/E releases prior to SMP/E V3R2 cannot process GIMZIP
packages that exploit user-defined subdirectories.
Coexistence considerations
SMP/E releases prior to SMP/E V3R2 cannot process JAR replacement files or JAR update files, nor can
they process the data entries for these elements. A toleration PTF will cause SMP/E to issue an error
message if it encounters an unsupported JAR element or data entry.
Coexistence considerations
The SMPLTS data set used by SMP/E V3R2 may not contain the base version of load modules with
CALLLIBS subentries. Because of this, once the SMPLTS has been modified by SMP/E V3R2, you cannot
use certain commands from older levels of SMP/E that depend on the base version of a load module
being in the SMPLTS data set. Specifically, if any of the following updates were made to a zone with load
modules containing CALLLIBS but no XZMOD subentries, the target zone is marked:
• CLEANUP command is run against the zone
• GENERATE command is run against the zone
Coexistence considerations
Unless the required PTF is installed, SMP/E releases prior to SMP/E V3R2 cannot process SYSMOD input
that uses the SYSDEFSD DUMMY enhancement, nor can they process the data entries for these elements.
For more information about SYSDEFSD DUMMY, see z/OS SMP/E Reference.
Migration tasks
All dialog customization formerly specified on panel GIM@UPRM must now be specified using Option 0 on
the SMP/E Primary Option Menu. When you move to a new release of SMP/E and continue to use the same
ISPF profile data set, no migration actions are required to use the options previously entered and saved.
For more information about SMP/E dialog customization, refer to the tutorial panels that accompany the
SMP/E dialogs.
GIMUTTBL removal
Module GIMUTTBL and load module GIMUTTBL are no longer supplied as part of SMP/E. Macro GIMDFUT,
which was used to replace the IBM-supplied copy of GIMUTTBL, is also no longer supplied. GIMUTTBL
was formerly used to specify which utility programs SMP/E can call.
Migration tasks
You can specify which utility programs SMP/E can call by using the PROGRAM class of the z/OS Security
Server (RACF). Refer to z/OS Security Server RACF Security Administrator's Guide for more information
about how to use this function.
Migration tasks
If you have existing exit routines defined in GIMMPUXD or wish to create new exit routines, you must
define them in a GIMEXITS member. Any exit routines defined in GIMMPUXD will be ignored by SMP/E
For more detailed information about this change, see z/OS SMP/E Reference.
Migration tasks
If you have used GIMMPDFT to define data sets for dynamic allocation, you must create new definitions in
GIMDDALC. SMP/E will ignore any definitions in GIMMPDFT.
For more information about this change, see z/OS SMP/E Reference.
Coexistence considerations
Unless the required PTF is installed, SMP/E releases prior to SMP/E V3R1 cannot process a SYSMOD
containing a hierarchical file system element MCS that specifies a LINK value longer than 64 characters,
nor can they process a hierarchical file system element entry containing a LINK subentry, or an LMOD
entry containing an LMODALIAS subentry, created by SMP/E V3R1, or higher. If installed, the PTF will
update the SMP/E Query dialogs and the GIMAPI to retrieve and display information about LINK or
LMODALIAS subentries created by SMP/E V3R1, or higher. For all other SMP/E processing, the PTF will
cause SMP/E to issue an error message if it encounters an unsupported LINK value or LINK or LMODALIAS
subentry.
Migration tasks
An application program that uses the SMP/E Alias Record Type 0 (A0) library change record may need to
be updated to handle alias and link values of up to 1023 characters to avoid truncating data. For more
information about this change, see the chapter on Library Change File Records in z/OS SMP/E Reference.
An application program that uses the GIMAPI to query the LINK subentry of a hierarchical file system
element entry or the LMODALIAS subentry of an LMOD entry may need to be updated to allow for the
longer length of these subentries. For more information about this change, refer to the description of
these subentries in the GIMAPI chapter in z/OS SMP/E Reference.
Migration tasks
An application program that uses the GIMAPI to query the NUCID subentry of an OPTIONS entry must
be updated because this subentry no longer exists. For more information about the GIMAPI, refer to the
GIMAPI chapter in z/OS SMP/E Reference.
Coexistence considerations
Unless the required PTF is installed, SMP/E releases prior to SMP/E V3R1 cannot process JCLIN input that
contains the special JCL comments used to skip over parts of the JCLIN input. If installed, the PTF will
cause SMP/E to issue an error message if the unsupported JCL comments are encountered.
Coexistence considerations
Network delivery of SMP/E input requires a new packaging format for that input and new operands on the
RECEIVE command. SMP/E releases prior to z/OS SMP/E cannot process this new packaging format and
do not recognize the new RECEIVE command operands.
Selected SMP/E data sets may now reside in a UNIX file system
SMP/E V3R1 allows the following data sets to reside in a UNIX file system:
• SMPCNTL
• SMPDEBUG
• SMPHOLD
• SMPJCLIN
Coexistence considerations
Releases of SMP/E prior to OS/390 Version 2 Release 7 cannot process the DEIINST and HFSINST jobs
created by the GENERATE command of SMP/E V3R1 or z/OS SMP/E. Also, an HFSINST job created by the
GENERATE command from a release of SMP/E prior to OS/390 Release 7 cannot be processed by z/OS
SMP/E or by OS/390 V2R7 (or later) SMP/E.
Rerun the GENERATE job using the SMP/E release that will be used to process the resulting JCL.
Coexistence considerations
The SMP/E user must be defined to the security class BPX.SUPERUSER for this process to work properly.
Product data
The ++PRODUCT and ++FEATURE MCS can be used to add, replace, or delete additional product and
feature data.
Coexistence considerations
Releases of SMP/E prior to OS/390 Version 2 Release 7 cannot process the DEIINST and HFSINST jobs
created by the GENERATE command of SMP/E V3R1 or z/OS SMP/E. Also, an HFSINST job created by the
GENERATE command from a release of SMP/E prior to OS/390 Version 2 Release 7 cannot be processed
by z/OS SMP/E or by OS/390 V2R7 (or later) SMP/E.
Rerun the GENERATE job using the SMP/E release that will be used to process the resulting JCL.
CBIPO dialogs
The CBIPO installation dialogs formerly included with SMP/E were removed from SMP/E in OS/390 V2R5
SMP/E. Customers who want to install a CBIPO on an OS/390 system can still do so using bootstrap
dialogs provided with the CBIPO.
Coexistence considerations
Enhanced hierarchical file system element MCS cannot be used by SMP/E releases before OS/390 V2R5
SMP/E, unless the required PTF is installed.
Coexistence considerations
OPTIONS entries that contain the CHANGEFILE subentry cannot be used by SMP/E releases prior to
OS/390 V2R5 SMP/E, unless the required PTF is installed.
Coexistence considerations
LMOD entries that contain the RETURN CODE subentry cannot be used by SMP/E releases before OS/390
V2R5 SMP/E, unless the required PTF is installed.
Performance improvements
OS/390 V2R5 (or later) SMP/E provides for multitasking of link-edit operations during APPLY, ACCEPT, and
RESTORE processing.
Coexistence considerations
• Compacted SMPPTS data created by OS/390 V2R5 (or later) SMP/E cannot be used by releases before
OS/390 V2R5 SMP/E, unless the required PTF is installed.
• OPTIONS entries that contain the COMPACT subentry cannot be used by SMP/E releases before OS/390
V2R5 SMP/E, unless the required PTF is installed.
Coexistence considerations
OPTIONS entries that contain the MSGWIDTH and MSGFILTER subentries cannot be used by SMP/E
releases before OS/390 V2R5 SMP/E.
Coexistence considerations
Application programs cannot use the VERSION command of the GIMAPI programming interface on
releases of SMP/E prior to OS/390 V2R5 (or later) SMP/E, unless the required PTF is installed.
Coexistence considerations
Releases of SMP/E prior to OS/390 V1R3 SMP/E cannot perform the cross-zone requisite checking
requested by the XZREQCHK(YES) subentry of a ZONESET entry and will ignore the request.
Coexistence considerations
• The REPORT ERRSYSMODS command in SMP/E releases before OS/390 V1R3 cannot display IBM z/OS
Enhanced HOLDDATA as intended. OS/390 V1R3 and V2R4 require the installation of the appropriate
SPE.
• The format of the HOLDDATA provided by the SMARTMVS service in Europe or the Electronic HOLDDATA
service in the U.S. is not compatible with z/OS Enhanced HOLDDATA and does not take advantage of
the enhanced REPORT ERRSYSMODS command. Customers who currently use these services, and who
wish to make full use of the REPORT ERRSYSMODS command, must refresh their CSI's HOLDDATA with
z/OS Enhanced HOLDDATA.
Coexistence considerations
Releases of SMP/E before OS/390 V1R3 SMP/E cannot:
• Correctly install products and service that were developed for installation using the INCLUDE
statements in JCLIN that identify UTILITY INPUT for a load module, the SYSDEFSD DD statements
in JCLIN that identify the definition side deck library for a load module, and the FILL, HOBSET,
RMODE=SPLIT, and EXITS link-edit attributes on the LEPARM operand on the ++MOD MCS and in JCLIN.
• Use target and distribution zones containing LMOD or MOD entries updated by OS/390 V1R3 (or later)
with FILL, HOBSET, RMODE=SPLIT, EXITS, ALIASES, or DYNAM link-edit parameters in the MOD and
LMOD entries, the UTILITY INPUT subentry list, or the SIDE DECK LIBRARY subentry in the LMOD
entries.
BUILDMCS command
The BUILDMCS command provides a process for copying products from one pair of target and distribution
zones and libraries, to another pair of target and distribution zones and libraries. This command generates
the MCS and JCLIN required to reinstall the specified FMIDs.
Coexistence considerations
SYSMOD input (modification control statements) created by the BUILDMCS command cannot be
processed by SMP/E releases prior to OS/390 V1R2 SMP/E, unless the required PTF is installed.
FMIDSET selection
SMP/E provides additional granularity of FMIDSET specification on the SELECT operand of the APPLY,
ACCEPT, RESTORE, and RECEIVE commands to allow you to install sets of FMIDs.
Recommended Service Upgrade (RSU) is a preventive service philosophy that applies to z/OS. RSU is
intended to reduce the volume of PTFs customers must apply for preventive maintenance and to reduce
the chance of encountering a PTF in error (PE), resulting in a more stable system.
IBM recommends that customers APPLY all RSU PTFs as preventive maintenance on their z/OS systems.
However, customers must make the final decision as to what maintenance they will install.
The recommended service for the following products is tested in the Consolidated Service Test (CST)
cycle:
• z/OS
• CICS Transaction Server for z/OS
• Db2® for z/OS
• IMS
• MQ for z/OS
Recommended Service Upgrades, with an SMP/E SOURCEID of RSUyymm, are available:
• Quarterly, with all PTFs that completed Consolidated Service Test (CST) testing during the prior quarter,
including severity 1 through severity 4 APARs.
• Monthly, with high impact or pervasive (HIPER) PTFs, PTF-in-error (PE) PTFs, and other recommended
PTFs (security or integrity fixes) that have been CST tested.
For information about the latest recommended level of service, see Consolidated Service Test and the
RSU (www.ibm.com/support/docview.wss?uid=isg3T1027575).
Note: Although all CST-tested PTFs become RSU PTFs, not all RSU PTFs are tested in CST. Only the
following systems or applications are included in the CST testing: z/OS, CICS, Db2, IMS, and MQSeries®.
The RSUyymm SOURCEIDs are provided in all z/OS product and PTF offerings, like Shopz and SMP/E
RECEIVE ORDER.
Accessible publications for this product are offered through IBM Documentation (www.ibm.com/docs/en/
zos).
If you experience difficulty with the accessibility of any z/OS information, send a detailed message to
the Contact the z/OS team web page (www.ibm.com/systems/campaignmail/z/zos/contact_z) or use the
following mailing address.
IBM Corporation
Attention: MHVRCFS Reader Comments
Department H6MA, Building 707
2455 South Road
Poughkeepsie, NY 12601-5400
United States
Accessibility features
Accessibility features help users who have physical disabilities such as restricted mobility or limited vision
use software products successfully. The accessibility features in z/OS can help users do the following
tasks:
• Run assistive technology such as screen readers and screen magnifier software.
• Operate specific or equivalent features by using the keyboard.
• Customize display attributes such as color, contrast, and font size.
The following paragraph does not apply to the United Kingdom or any other country where such
provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION
PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR
IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of
express or implied warranties in certain transactions, therefore, this statement may not apply to you.
This information could include technical inaccuracies or typographical errors. Changes are periodically
made to the information herein; these changes will be incorporated in new editions of the publication.
IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this
publication at any time without notice.
This information could include missing, incorrect, or broken hyperlinks. Hyperlinks are maintained in
only the HTML plug-in output for IBM Documentation. Use of hyperlinks in other output formats of this
information is at your own risk.
Any references in this information to non-IBM websites are provided for convenience only and do not in
any manner serve as an endorsement of those websites. The materials at those websites are not part of
the materials for this IBM product and use of those websites is at your own risk.
IBM may use or distribute any of the information you supply in any way it believes appropriate without
incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose of enabling: (i) the
exchange of information between independently created programs and other programs (including this
one) and (ii) the mutual use of the information which has been exchanged, should contact:
IBM Corporation
Site Counsel
2455 South Road
Such information may be available, subject to appropriate terms and conditions, including in some cases,
payment of a fee.
The licensed program described in this document and all licensed material available for it are provided by
IBM under terms of the IBM Customer Agreement, IBM International Program License Agreement or any
equivalent agreement between us.
Any performance data contained herein was determined in a controlled environment. Therefore, the
results obtained in other operating environments may vary significantly. Some measurements may have
been made on development-level systems and there is no guarantee that these measurements will be
the same on generally available systems. Furthermore, some measurements may have been estimated
through extrapolation. Actual results may vary. Users of this document should verify the applicable data
for their specific environment.
Information concerning non-IBM products was obtained from the suppliers of those products, their
published announcements or other publicly available sources. IBM has not tested those products and
cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of
those products.
All statements regarding IBM's future direction or intent are subject to change or withdrawal without
notice, and represent goals and objectives only.
This information contains examples of data and reports used in daily business operations. To illustrate
them as completely as possible, the examples include the names of individuals, companies, brands, and
products. All of these names are fictitious and any similarity to the names and addresses used by an
actual business enterprise is entirely coincidental.
COPYRIGHT LICENSE:
This information contains sample application programs in source language, which illustrate programming
techniques on various operating platforms. You may copy, modify, and distribute these sample programs
in any form without payment to IBM, for the purposes of developing, using, marketing or distributing
application programs conforming to the application programming interface for the operating platform
for which the sample programs are written. These examples have not been thoroughly tested under
all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these
programs. The sample programs are provided "AS IS", without warranty of any kind. IBM shall not be
liable for any damages arising out of your use of the sample programs.
Applicability
These terms and conditions are in addition to any terms of use for the IBM website.
Personal use
You may reproduce these publications for your personal, noncommercial use provided that all proprietary
notices are preserved. You may not distribute, display or make derivative work of these publications, or
any portion thereof, without the express consent of IBM.
Commercial use
You may reproduce, distribute and display these publications solely within your enterprise provided
that all proprietary notices are preserved. You may not make derivative works of these publications, or
Rights
Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either
express or implied, to the publications or any information, data, software or other intellectual property
contained therein.
IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use
of the publications is detrimental to its interest or, as determined by IBM, the above instructions are not
being properly followed.
You may not download, export or re-export this information except in full compliance with all applicable
laws and regulations, including all United States export laws and regulations.
IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS
ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
AND FITNESS FOR A PARTICULAR PURPOSE.
Notices 225
products. Therefore, z/OS and its product publications (for example, panels, samples, messages, and
product documentation) can include references to hardware and software that is no longer supported.
• For information about software support lifecycle, see: IBM Lifecycle Support for z/OS (www.ibm.com/
software/support/systemsz/lifecycle)
• For information about currently-supported IBM hardware, contact your IBM representative.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
Copyright and Trademark information (www.ibm.com/legal/copytrade.shtml).
UNIX is a registered trademark of The Open Group in the United States and other countries.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
Glossary 229
cross-zone requisite
A conditional requisite that must be installed in one zone because of another SYSMOD that is installed
in a different zone. The REPORT command can be used to check information saved from ++IF
statements and determine where any cross-zone requisites should be installed.
CSI
Consolidated software inventory data set. See SMPCSI.
D
data element
An element that is not a macro, module, or source—for example, a dialog panel or sample code.
DDDEF entry
An SMP/E entry containing the information SMP/E needs in order to dynamically allocate a particular
data set.
DEBUG
The SMP/E command used to obtain additional information for problem determination—for example,
to trace messages or take dumps.
debug
In SMP/E, to obtain additional information for problem determination—for example, to trace messages
or take dumps. This is done with the DEBUG command.
definition side deck
A file in a UNIX file system, a member of a partitioned data set, or a sequential data set that contains
binder IMPORT control statements.
deleted function
In SMP/E, a function that was removed from the system when another function was installed. This
is indicated by the DELBY subentry in the SYSMOD entry for the deleted function. See also explicitly
deleted function and implicitly deleted function.
deleting function
A function that removes other functions from the system. This is done by specifying them on the
DELETE operand of the ++VER statement.
dependent function
A function that introduces new elements or redefines elements of the base level system or other
products. A dependent function cannot exist without a base function. Dependent functions are
identified to SMP/E by the ++FUNCTION statement.
dialog
The interactive support provided by SMP/E through ISPF. Instead of entering specific commands and
operands, you can use panels to specify the desired processing.
distribution library (DLIB)
A library that contains the master copy of all the elements in a system. A distribution library can be
used to create or back up a target library.
distribution zone
In SMP/E, a group of records in a CSI data set that describes the SYSMODs and elements in a
distribution library.
DLIB
Distribution library.
DLIB entry
An SMP/E entry describing a distribution library that has been totally copied into a target library.
DLIBZONE entry
An SMP/E entry containing information used by SMP/E to process a specific distribution zone and the
associated distribution libraries.
DLL
Dynamic link library
E
Glossary 231
firewall
A firewall is an intermediate server that functions to isolate a secure network from an insecure
network.
FTP
File Transfer Protocol.
FTP.DATA
Configuration data set used to change local site default values for the z/OS FTP Client.
FMID
Function modification identifier.
FMIDSET
A group of FMIDs to be used in processing an SMP/E command—for example, to indicate that
SYSMODs applicable to certain functions should be installed.
FMIDSET entry
An SMP/E entry defining an FMIDSET.
function
In SMP/E, a product (such as a system component or licensed program) that can be installed in
a user's system if desired. Functions are identified to SMP/E by the ++FUNCTION statement. Each
function must have a unique FMID.
function modification identifier (FMID)
The SYSMOD ID of a function SYSMOD. It identifies the function that currently owns a given element.
functionally higher SYSMOD
A SYSMOD that uses the function contained in an earlier SYSMOD (called the functionally lower
SYSMOD) and contains additional functions as well.
functionally lower SYSMOD
A SYSMOD whose function is also contained in a later SYSMOD (called the functionally higher
SYSMOD).
G
GENASM
A subentry in the MAC entry that lists the ASSEM or SRC entries that must be assembled if the macro
is replaced or updated.
GENERATE
The SMP/E command used to create a job stream that builds a set of target libraries from a set of
distribution libraries.
generate
In SMP/E, to create a job stream that builds a set of target libraries from a set of distribution libraries.
This is done with the GENERATE command.
GIMUNZIP
An SMP/E service routine used to extract files contained in network transportable packages that were
built using GIMZIP.
GIMZIP
An SMP/E service routine used to produce network transportable packages.
global zone
A group of records in a CSI data set used to record information about SYSMODs received for a
particular system. The global zone also contains information that (1) enables SMP/E to access target
and distribution zones in that system, and (2) enables you to tailor aspects of SMP/E processing.
GLOBALZONE entry
An SMP/E entry containing information that SMP/E uses to process the global zone, the associated
target and distribution zones, and SMPPTS.
GTF
Generalized trace facility.
H
Glossary 233
inline JCLIN
The JCL statements associated with a ++JCLIN statement. Inline JCLIN may immediately follow
the ++JCLIN statement, or it may be in the RELFILE or TXLIB data set pointed to by the ++JCLIN
statement. Inline JCLIN is used to update the target zone when a SYSMOD is applied, or the
distribution zone when a SYSMOD is accepted. Contrast with JCLIN input.
inner macro
A macro invoked by another macro. In particular, inner macros are those that SMP/E does not detect
during JCLIN processing of assembler job steps.
install
In SMP/E, to apply a SYSMOD to the target libraries or to accept a SYSMOD into the distribution
libraries.
internal HOLDDATA
++HOLD statements contained within a SYSMOD. Contrast with external HOLDDATA.
I/O
Input or output.
IOGEN
Input/output device generation.
IPL
Initial program load.
IPv6
Internet Protocol Version 6.
ISMD
IBM Software Manufacturing and Delivery (formerly called PID).
ISPF
Interactive System Productivity Facility.
ISPF/PDF
Interactive System Productivity Facility/Program Development Facility.
IVP
Installation verification procedure.
J
JAR
The SMP/E entry or MCS that describes a Java ARchive (JAR) file. Also, the abbreviation for Java
ARchive (see Java ARchive(JAR)).
JARUPD
The SMP/E MCS used to describe an update to a JAR element.
JCL
Job control language.
JCLIN
The SMP/E command used to process data from SMPJCLIN.
The ++JCLIN statement, which is associated with JCLIN data that is included in a SYSMOD.
SMPJCLIN. See SMPJCLIN.
See also inline JCLIN and JCLIN data.
JCLIN data
The JCL statements associated with the ++JCLIN statement or saved in the SMPJCLIN data set. They
are used by SMP/E to update the target zone when the SYSMOD is applied. Optionally, SMP/E can use
JCLIN data to update the distribution zone when the SYSMOD is accepted.
JCLIN input
The JCL statements contained in SMPJCLIN and used as input for the JCLIN command. Contrast with
inline JCLIN.
Glossary 235
master CSI
The CSI data set that contains the global zone.
MCS
Modification control statement.
MCS entry
An SMP/E entry containing a copy of a SYSMOD exactly as it was received from SMPPTFIN. MCS
entries are in SMPPTS, which is used to store SYSMODs.
MOD
The SMP/E entry or MCS that describes an object module or a single-module load module.
MODID
Modification identifier.
modification
In SMP/E, an alteration or correction to a system control program, licensed program, or user program.
Synonymous with system modification (SYSMOD).
modification control statement (MCS)
An SMP/E control statement used to package a SYSMOD. MCSs describe the elements of a program
and the relationships that program has with other programs that may be installed on the same
system.
modification identifier (MODID)
A list of SYSMOD IDs, including the last SYSMOD that totally replaced the element (RMID), any
subsequent partial updates to the element (UMIDs), and the function that owns the element (FMID).
MODIDs are contained in element entries.
modification level
A distribution of all temporary fixes that have been issued since the previous modification level. A
change in modification level does not add new functions or change the programming support category
of the release to which it applies. Contrast with release and version.
Note: Whenever a new release of a program is shipped, the modification level is set to 0. When the
release is reshipped with the accumulated services changes incorporated, the modification level is
incremented by 1.
module
Synonym for object module or single-module load module.
MTS
Macro temporary storage data set. See SMPMTS.
MTSMAC entry
An SMP/E entry that is a copy of a macro that resides only in a distribution library but is needed
temporarily during APPLY processing. MTSMAC entries are in the SMPMTS data set.
MVS
Multiple Virtual Storage.
MVS Custom-Built Product Delivery Offering (CBPDO)
A software delivery offering used to add products or service to an existing MVS, NCP, CICS, or IMS
system.
N
NCP
Network Control Program.
negative prerequisite (NPRE)
In SMP/E, a function that is mutually exclusive with another function. It is defined by the NPRE
operand on the ++VER statement.
NPRE
Negative prerequisite.
O
Glossary 237
program error PTF (PE-PTF)
A PTF that has been found to contain an error. A PE-PTF is identified on a ++HOLD ERROR statement,
along with the APAR that first reported the error.
program object
An executable program stored in a PDSE program library. It is similar to a load module, but has fewer
restrictions. For SMP/E purposes, program objects are referred to as load modules.
program packaging
See packaging.
program product
The former term for licensed program.
program temporary fix (PTF)
A temporary solution or bypass of a problem that may affect all users and that was diagnosed as the
result of a defect in a current unaltered release of the program. In the absence of a new release of a
system or component that incorporates the correction, the fix is not temporary but is the permanent
and official correction mechanism. New elements can also be defined in a PTF. PTFs are identified to
SMP/E by the ++PTF statement.
program update tape (PUT)
The former vehicle for preventive service. See expanded service options.
PSP
Preventive service planning.
PSW
Program status word.
PTF
Program temporary fix.
PTS
PTF temporary store data set. See SMPPTS.
PTFIN
PTF input. See SMPPTFIN.
PUT
See expanded service options.
R
RACF
Resource Access Control Facility.
RECEIVE
The SMP/E command used to read in SYSMODs and other data from SMPPTFIN and SMPHOLD.
receive
In SMP/E, to read SYSMODs and other data from SMPPTFIN and SMPHOLD and store them on the
global zone for subsequent SMP/E processing. This is done with the RECEIVE command.
regressed SYSMOD
A SYSMOD one or more of whose elements are modified by subsequent SYSMODs that are not related
to it.
regressing SYSMOD
A SYSMOD that causes regression of previous modifications when it is installed.
regression
In SMP/E, the condition that occurs when an element is changed by a SYSMOD that is not related to
SYSMODs that previously modified the element.
REJECT
The SMP/E command used to remove SYSMODs from the global zone and SMPPTS.
reject
In SMP/E, to remove SYSMODs from the global zone and SMPPTS and delete any related SMPTLIB
data sets. This is done with the REJECT command.
Glossary 239
RESTORE
The SMP/E command used to remove applied SYSMODs from the target libraries.
restore
In SMP/E, to remove applied SYSMODs from the target libraries by use of the RESTORE command.
restore group
All the SYSMODs that have a direct or indirect relationship with a SYSMOD being restored by use of
the GROUP operand.
RIM
Related installation material.
RMID
Replacement modification identifier.
RMF
Resource measurement facility.
root cause analysis
Processing done by SMP/E for the ACCEPT, APPLY, and RESTORE commands to identify causer
SYSMODs (SYSMODs whose failure has led to the failure of other SYSMODs). The types of errors
SMP/E analyzes to determine causer SYSMODs include the following:
• Held SYSMODs
• Missing requisite SYSMODs
• Utility program failures: copy, update, assembler, link, zap
• Out-of-space conditions: x37 abends
• Missing DD statements and other allocation errors
• ID errors (a SYSMOD does not supersede or specify as a prerequisite an RMID or a UMID)
• JCLIN failures (syntax errors)
RPL
Request parameter list.
RTM2WA
Recovery termination manager 2 work area.
S
SCDS
Save control data set. See SMPSCDS.
SCP
System control program.
select-mode processing
In SMP/E, processing that includes individually selected SYSMODs.
service
PTFs and APAR fixes.
service level
The FMID, RMID, and UMID values for an element. The service level identifies the owner of the
element, the last SYSMOD to replace the element, and all the SYSMODs that have updated the
element since it was last replaced.
service order relationship
A relationship among service SYSMODs that is determined by the PRE and SUP operands, and the type
of SYSMOD.
service SYSMOD
Any SYSMOD identified by an ++APAR or ++PTF statement.
service update
The integration of available service into the current release of a function. Since this is not a new
release of the function, it does not change the function's FMID.
Glossary 241
SMPLIST
The SMP/E data set or file in a UNIX file system that contains the output of all LIST commands.
SMPLOG
The SMP/E data set that contains time-stamped records of SMP/E processing. The records in this data
set can be written automatically by SMP/E or added by the user through the LOG command.
SMPLOGA
A secondary log data set for SMP/E processing. If SMPLOGA is defined, it is automatically used when
the SMPLOG data set is full.
SMPLTS
The SMP/E data set used as a target load module library to maintain the base version of a load module
that specifies a SYSLIB allocation in order to implicitly include modules.
SMPMTS
The SMP/E data set used as a target library for macros that exist only in a distribution library, such as
macros in SYS1.AMODGEN. The SMPMTS enables the current version of these macros to be used for
assemblies during APPLY processing.
SMPNTS
The SMPNTS is a directory structure and associated files contained in a UNIX file system used
for temporary storage of network transported packages that were received during SMP/E RECEIVE
processing.
SMPOBJ
The SMP/E data set used for source-maintained products. SMPOBJ contains preassembled modules
that can be used to avoid reassembling those modules. These modules must be in load module format
—that is, in the same format as modules residing in the distribution library.
SMPOUT
The SMP/E data set or file in a UNIX file system that contains messages issued during SMP/E
processing. It might also contain a dump of the VSAM RPL, if a dump was taken. In addition, it
might contain LIST output and reports if SMPHRPT, SMPLIST, and SMPRPT are not defined.
SMPPARM
The data set that contains members to define parameters, such as macros, assembler operation
codes, GIMDDALC control statements, and exit routines.
SMPPTFIN
SMPPTFIN is the source of SYSMODs and ++ASSIGN statements to be processed by the RECEIVE
command. SMPPTFIN may be a tape file, a data set, or one or more files in a UNIX file system.
SMPPTS
The SMP/E data set that contains SYSMODs received from SMPPTFIN. SMPPTS is the source of
SYSMODs that are installed in the target and distribution libraries.
SMPPTS spill data sets
Optional SMP/E data sets that can be used to store SYSMODs when the SMPPTS data set becomes
full.
SMPPUNCH
The SMP/E data set or file in a UNIX file system that contains output from various SMP/E commands.
This output generally consists of commands or control statements.
• GENERATE: A job stream for building target libraries
• REPORT: Commands for installing or listing SYSMODs
• UNLOAD: UCLIN statements for recreating the entries that were unloaded
SMPRPT
The SMP/E data set or file in a UNIX file system that contains the reports produced during SMP/E
processing.
SMPSCDS
The SMP/E data set that contains backup copies of target zone entries that are created during APPLY
processing. These backup copies are made before the entries are (1) changed by inline JCLIN, a
++MOVE MCS, or a ++RENAME MCS, or (2) deleted by an element MCS with the DELETE operand. The
Glossary 243
SRCUPD
The MCS used to update a source.
SREL
System release identifier.
Storage Management Subsystem (SMS)
A DFSMS/MVS facility used to automate and centralize the management of storage. Using SMS, a
storage administrator describes data allocation characteristics, performance and availability goals,
backup and retention requirements, and storage requirements to the system through data class,
storage class, management class, storage group, and ACS routine definitions.
STS
Source temporary store data set. See SMPSTS.
STSSRC entry
An SMP/E entry that is a copy of source that resides only in a distribution library but is needed
temporarily during APPLY processing. STSSRC entries are in the SMPSTS data set.
stub entry
An element entry or LMOD entry that does not contain the basic information SMP/E requires in order
to process the element or load module (such as FMID, RMID, or library names), but does contain other
information, such as subentries describing cross-zone relationships.
stub load module
A load module that does not contain the modules needed to perform its basic functions, but does
contain other modules, such as cross-zone modules.
subentry
A field in an SMP/E entry. Each subentry has associated with it a type and a value. The same subentry
type may occur several times in a single entry, each time with a different value. For example, the
modules supplied by a PTF are saved as MOD subentries in the PTF's SYSMOD entry. Some subentries
occur only once within an entry, such as the FMID subentry in a target zone MOD entry.
subentry indicator
A subentry that does not have a data value associated with it. An example of an indicator is the ERROR
indicator in the SYSMOD entry. An indicator is either on or off.
subentry list
Multiple occurrences of the same subentry type in an entry, each with a different value. For example,
the modules supplied by a PTF are saved as names in the MOD subentry list within the SYSMOD entry
for that PTF.
SUP
Supersede.
superseded-only SYSMOD
A SYSMOD that has not been installed, but that has been superseded by another SYSMOD that has
been installed.
superseded SYSMOD
In SMP/E, a SYSMOD that is contained in or replaced by the SYSMOD or requisite set of SYSMODs
currently being processed. This is indicated by the SUPBY subentry in the SYSMOD entry for the
superseded SYSMOD. A superseded SYSMOD is functionally lower than the SYSMOD that superseded
it.
superseding SYSMOD
In SMP/E, a SYSMOD that contains all the functions in another SYSMOD and is recognized as
the equivalent of that other SYSMOD. The superseding SYSMOD uses SUP operand on its ++VER
statement to specify the superseded SYSMOD.
superzap
A generic term for the process performed by IMASPZAP. It can also refer to the module updates
processed by IMASPZAP.
SVC
Supervised call.
Glossary 245
target zone
In SMP/E, a group of records in a CSI data set that describes the SYSMODs, elements, and load
modules in a target library.
TARGETZONE entry
An SMP/E entry containing information used by SMP/E to process a specific target zone and the
associated target libraries.
TCP/IP
Transmission Control Protocol/Internet Protocol (TCP/IP) is a hardware independent communication
protocol used between physically separated computers. It was designed to facilitate communication
between computers located on different physical networks.
temporary data set
A work data set (SMPWRK1–SMPWRK6) or utility data set (SYSUT1–SYSUT4). Temporary data sets
are allocated when processing for an SMP/E command begins, and deleted when processing is
finished.
text library (TXLIB)
A data set containing JCLIN input or replacements for macros, source, or object modules that have
not been link-edited. It is used when the JCLIN or elements are provided in partitioned data sets
rather than inline or in relative files.
TGTLIB
Target library.
TIEDTO relationship
A cross-zone relationship between two target zones created when the LINK command updates a load
module in one of the zones to include modules from the other zone. This relationship is established
through the TIEDTO subentry in the zone definition entries for each of the zones.
TIEDTO zone
See cross-zone.
TLIB
Temporary library. See SMPTLIB.
transformed data
Data processed by the GIMDTS service routine so that it can be packaged inline in fixed-block 80
records.
Transport Layer Security (TLS)
A protocol that provides communications privacy over the Internet.
TSO
Time-sharing option.
TXLIB
Text library.
U
UCL
Update control language.
UCL statement
An SMP/E control statement used to define or change information in an SMP/E data set entry. UCL
statements are coded between the UCLIN and ENDUCL commands. The UCL statement specifies the
action to be taken (ADD, REP, or DEL), the entry to be modified, and any indicators and subentries to
be changed.
UCLIN
The SMP/E command used to mark the beginning of UCL statements, which are used to make changes
to entries in SMP/E data sets.
UMID
Update modification identifier.
unconditionally coexisting functions
Functions that coexist and must be in the same zone.
Glossary 247
ZONEMERGE
The SMP/E command used to copy one zone into another, or to merge two zones into one.
ZONERENAME
The SMP/E command used to change the name of a zone.
ZONESET
A group of zones to be used when processing an SMP/E command. For example, it may define the
zones that the REPORT command is to check for cross-zone requisites. A ZONESET may also define a
group of zones to be checked or ignored by the REJECT command.
ZONESET entry
An SMP/E entry defining a ZONESET.
z/OS UNIX System Services (z/OS UNIX)
The set of functions provided by the Shell and Utilities, kernel, debugger, file system, C/C++ Run-Time
Library, Language Environment, and other elements of the z/OS operating system that allow users to
write and run application programs that conform to UNIX standards.
Index 249
B commands (continued)
UCLIN 46
BACKUP entry 23 ZONECOPY 47
base functions 39 ZONEDELETE 48
binder 70 ZONEEDIT 47
Binder LONGPARM options 193 ZONEEXPORT 47
Binder RMODE=64 options 193 ZONEIMPORT 48
BPX.SUPERUSER security class ZONEMERGE 48
coexistence considerations 208 ZONERENAME 48
COMPACT
coexistence considerations 210
C comparing two zones
CALL LIST command 156
effect of CALLLIBS subentry on 70 REPORT CROSSZONE command 163
calling SMP/E 84 COMPAT
cataloged procedure for SMP/E 85 parameter
catalogs EXEC statement for GIMSMP 84
alias defined for user catalog 61, 62 COMPAT=PM4 link edit parameter 206
for CSI 61 compress utility
listing 66 default values 70
causer SYSMODs 185 compressing a CSI 66
CBPDO concatenating dialog libraries 76
Recommended Service Upgrade 217 conditional JCLIN processing
CBPDO package coexistence considerations 206
format 119 consolidated software inventory data set (SMPCSI) 13
functions, source of 111 contact
HOLDDATA z/OS 219
processing 146 CONTROLINTERVALSIZE
source of 144 for CSI data set 62
preventive service, source of 119 copy utility
CHANGEFILE default values 70
coexistence considerations 210 copy utility parameter
CHECK operand CMWA 200
on REJECT command 200 SPCLCMOD 200
CISIZE corrective service
for CSI data set 62 description of 40
CLEANUP command 47 installation
CLIENT data set ACCEPT CHECK processing 135
changes to 197 ACCEPT processing 136
migration tasks 200 APPLY CHECK process 134
CLIST data set for SMP/E dialogs, LIBDEF restrictions 76 APPLY processing 135
CMWA construct the fix 131
copy utility parameter 200 deciding whether to accept 135
commands prepare 133
ACCEPT 45 RECEIVE ORDER processing 133
APPLY 45 RECEIVE processing 133
CLEANUP 47 research the ACCEPT CHECK reports 136
DEBUG 48 research the APPLY CHECK reports 134
GENERATE 45 summary 131
JCLIN 47 test 135
LINK LMODS 48 corrective service (APAR SYSMODs) 6
LINK MODULE 48 cover letters, listing 156
LIST 45 Cross Global Zone Reporting 194
LOG 47 cross-product load modules
RECEIVE 44 example 151
RECEIVE ORDER 44 cross-zone load modules
REJECT 46 example 151
REPORT CROSSZONE 45 cross-zone requisite checking 163
REPORT ERRSYSMODS 45 Cross-Zone Requisite SYSMOD report 164
REPORT SOURCEID 46, 169 cross-zone requisites
REPORT SYSMODS 46, 171 bypassing unsatisfied 83
RESETRC 49 checking for 82
RESTORE 46 resolving 83
SET 43 unsatisfied 83
Index 251
exception data (HOLDDATA) 14 G
exception SYSMOD data
Automated Service Delivery Package GENERATE command
source of 145 summary 45
CBPDO package generated JCL, saving for SMP/E dialogs 77
source of 144 GIM@PARM (SMP/E Dialog Settings) 78, 204
exception SYSMOD management GIM@PRIM (SMP/E Primary Option Menu) 78
++HOLD MCS GIM@UPRM
operands 141 removal of 204
++RELEASE MCS GIMDFOG
operands 141 ORDER RETENTION subentry 199
categories of HOLDDATA 141 GIMDFUT
examples of 141 removal of 204
HOLDDATA GIMGTPKG service routine 199
CBPDO package, processing 146 GIMMPDFT
ESO, processing 147 migration tasks 205
obtaining 144 GIMMPUXD
processing example 148 migration tasks 204
PSP files, processing 148 GIMSAMPU 64
introduction 141 GIMSMP 84, 85
processing GIMUNZIP 206
ACCEPT 144 GIMUNZIP extensions 192
APPLY 143 GIMUTTBL
RECEIVE 142 migration tasks 204
REJECT 144 removal of 204
RESTORE 144 GIMXSID 201
exception SYSMOD report 167 GIMXTRX 207
EXEC statement GIMZIP
COMPAT=NOWARNBYPASS 84 archive segmentation
COMPAT=WARNBYPASS 84 coexistence considerations 202
CSI=dsname 84 overview 201
DATE=date 84 network delivery of SMP/E input
PARM 84, 85 coexistence considerations 206
PROCESS=END 85 overview 206
PROCESS=WAIT 85 user defined subdirectories
exit routines coexistence considerations 202
migration tasks 204 overview 202
Expanded Service Option (ESO) global zone
Recommended Service Upgrade 217 defining 63
exporting a CSI data set 66 description of 13, 41
HOLDDATA entries 19
ORDER entry 198
F SYSMOD entries 19, 23, 27, 31
feedback xvii GLOBALZONE entry 63
FILL
coexistence considerations 213 H
fixing an element 6
function SYSMODs HEWLH096 utility 70
installation HFSINST job
ACCEPT CHECK processing 116 coexistence considerations 208
ACCEPT processing 117 hierarchical file system
APPLY CHECK processing 114 copy utility
APPLY processing 115 default values 70
choosing the update mode 113 hierarchical file system element MCS
get additional SYSMODs 115 coexistence considerations 209
preparation 112 USERMODs 177
RECEIVE function 113 HOBSET
RECEIVE processing 113 coexistence considerations 213
research the ACCEPT CHECK reports 117 HOLDDATA
research the APPLY CHECK reports 114 CBPDO package
summary 111 processing 146
test the new function 116 checking effect on installed SYSMODs (REPORT
summary 39 ERRSYSMODS) 167
functions in a system 1 ESO
J M
Java Archive (JAR) files master application menu for ISPF 78
building 187 master catalog, alias for user catalog 61, 62
coexistence considerations 202 master CSI
in FMIDs 187 definition of 57
in PTFs 187, 188 specified on DD statement 86
using 187 specified on EXEC statement 84, 86
JCL generated by SMP/E dialogs, saving 77 MCS entry, created during RECEIVE 142
JCLIN command methods of installation 111
summary 47 migration
JOB statement OS/390 V1R2 SMP/E summary 213
customizing 79 OS/390 V1R3 SMP/E summary 211
Index 253
migration (continued) preventive service (continued)
OS/390 V2R5 SMP/E summary 209 installation (continued)
OS/390 V2R7 SMP/E summary 207 research the APPLY CHECK reports 124
overview 189 test 127
recommended steps for 190 PTF SYSMODs 5
SMP/E V3R1 summary 204 RECEIVE ORDER requests 120
terminology 189 PROCESS parameter, EXEC statement for GIMSMP 85
modification control statement (MCS) 3, 18 products (function SYSMODs) 3
modification identifiers program element MCS
function (FMID) 10 USERMODs 177
replacement (RMID) 10 program temporary fix (PTF) 5
update (UMID) 10 programming control facility (PCF) 76
MSGFILTER PSP files
coexistence considerations 211 HOLDDATA
MSGWIDTH processing 148
coexistence considerations 211 source of 145
multiple-CSI zone structure 54, 58 PTF
multitasking using GIMDDALC SYSPRINT allocation 193 introduction 119
Recommended Service Upgrade 217
summary 40
N PTF cover letters, listing 156
navigation PTF SYSMODs 5
keyboard 219 PTS, summary 67
NCAL PUT 145
effect of CALLLIBS subentry on 70
network delivery of SMP/E input Q
coexistence considerations 206
NUCID Query dialog
migration tasks 205 description 16
operand of APPLY command 205 example 35
subentry 205
R
O
RACF (z/OS Security Server)
object module, link-editing into a load module 1 regulating SMP/E utility programs with 204
OPTIONS entry RC
ORDER RETENTION subentry 198 coexistence considerations 210
ORDER entry reason IDs 141
global zone 198 RECEIVE command
ORDER RETENTION assigning source IDs to SYSMODs 200
OPTIONS entry subentry 198 corrective service 133
ORDERSERVER description 15
data set 197 entries created
HOLDDATA entry 142
MCS entry 142
P SYSMOD entry 142, 143
pasv attribute examples 20
migration tasks 200 functions 113
PCF (programming control facility) 76 preventive service 121
prerequisites for SYSMODs 8 processing 18
preventive service reports produced 22
CBPDO packages 119 summary 44
description of 40 USERMODs 137
ESO tapes 120 RECEIVE ORDER command
installation corrective service 133
ACCEPT CHECK processing 127 summary 44
ACCEPT processing 128 RECEIVE ORDER request
APPLY CHECK processing 123 preventive service, source of 120
APPLY processing 126 RECEXZGRP
get additional SYSMODs 126 coexistence considerations 211
preparation 121 Recommended Service Upgrade (RSU) 217
RECEIVE processing 121 RECORDSIZE
research the ACCEPT CHECK reports 128 for CSI data set 62
Index 255
SMPLTS (continued) SYSMODs (continued)
coexistence considerations 202 summary 39
use of 43, 202 USERMOD 7
SMPMTS SYSPRINT
use of 43 default 69
SMPOUT system modifications 2
default 69
SMPPROC (cataloged procedure for SMP/E) 85
SMPPTS
T
coexistence considerations 210 table data sets for dialogs 77
spill data sets 207 target libraries, description of 41
use of 42 target zone
SMPPUNCH output defining 63
REPORT CROSSZONE command 164 description of 13, 41
REPORT ERRSYSMODS command 167 SYSMOD entries 23, 27
SMPSCDS TARGETZONE entry 63
use of 42 temporary fix (APAR SYSMODs) 6
SMPSTS
use of 43
SMPTABL U
description 76
UCLIN command
space allocation 77
general syntax 160
source code, assembling to create an object module 2
introduction 159
SPCLCMOD
samples in GIMSAMPU 64
copy utility parameter 200
summary 46
specifying the zone to be updated (SET command) 15
UNIX file system
standard method of installation 111
identification of data sets 207
summary of changes
SMP/E data sets residing in 206
z/OS SMP/E User's Guide
update utility
xix
default values 70
superzap utility
UPGRADE command
default values 70
coexistence considerations 201
SYS1.LINKLIB 207
overview of 201
SYS1.LPALIB 3
user catalog
SYS1.MACLIB 67
alias in master catalog 61, 62
SYS1.MIGLIB 3, 207
for CSI 61
SYS1.SVCLIB 3
user interface
SYSDEFSD
ISPF 219
DUMMY data set for
TSO/E 219
coexistence considerations 203
user-defined subdirectories
overview 203
coexistence considerations 202
SYSLIB
USERMOD
concatenation 88
creating 173
SYSMOD
examples 178
assigning source IDs to 200
installation
SYSMOD Comparison HOLDDATA Report 194
APPLY CHECK process 138
SYSMOD entries
APPLY process 138
created during RECEIVE 142, 143
prepare 137
distribution zone 31
RECEIVE processing 137
global zone 19, 23, 27, 31
research APPLY CHECK reports 138
target zone 23, 27
summary 137
SYSMODs
test 139
APAR 6
MCS statements
definition of 39
++element (for data elements) 177
description 2
++JCLIN 175
function
++MAC 176
base 4
++MACUPD 176
dependent 4
++MOD 176
hierarchy 39
++PROGRAM 177
listing
++SRC 177
REPORT SOURCEID 169
++SRCUPD 177
SMPPUNCH 169
++USERMOD 174
prerequisites 8
++VER 174
PTF 5
X
XZREQCHK subentry
coexistence considerations 212
use of 81
Z
z/OS Security Server (RACF)
regulating SMP/E utility programs with 204
z/OS SMP/E User's Guide
content, changed xix, xx
content, deleted xix, xx
content, new xix
summary of changes xix
zone entries
impacts 198
zone group
default 81
defining 81
specifying on command 82
ZONEINDEX for 82
zone structures
examples 57
multiple CSIs 54
single CSI 53
ZONECOPY command
alternative to UCLIN 160
summary 47
ZONEDELETE command
Index 257
258 z/OS: z/OS SMP/E User's Guide
IBM®
SA23-2277-50