SMPE
SMPE
SMPE
User’s Guide
SA22-7773-11
IBM SMP/E for z/OS
User’s Guide
SA22-7773-11
Note!
Before using this information and the product it supports, be sure to read the general information under “Notices” on page
225.
Contents v
Enhanced link name values. . . . . . . . 202 Enhanced internal HOLD SYS processing . . . 210
Removal of function to create backup Enhanced ZONEEDIT command . . . . . . 211
IEANUC01 load modules . . . . . . . . 203 Enhancements to the binder utility in
Conditional JCLIN processing . . . . . . . 203 DFSMS/MVS . . . . . . . . . . . . 211
Network delivery of SMP/E input . . . . . 203 System/390 service update facility . . . . . 212
AMODE=64 and COMPAT=PM4 link edit OS/390 version 1 release 2 SMP/E overview . . . 212
parameters . . . . . . . . . . . . . 204 BLOCKSIZE=8800 for SMP/E data sets . . . . 212
Selected SMP/E data sets may now reside in a BUILDMCS command . . . . . . . . . 212
UNIX file system . . . . . . . . . . . 204 Bypassing system holds for specific SYSMODs 212
HFS data set identification . . . . . . . . 204 FMIDSET selection . . . . . . . . . . 212
SMPPTS spill data sets . . . . . . . . . 204 Receiving relative file data sets created from
HOLDDATA summary reports . . . . . . 205 PDSEs . . . . . . . . . . . . . . . 213
SMP/E load modules and service routines SMP/E dialogs: FIND command . . . . . . 213
moved to SYS1.MIGLIB . . . . . . . . . 205 SMP/E GIMOPCDE member moved from
GIMXTRX service routine . . . . . . . . 205 PARMLIB . . . . . . . . . . . . . 213
OS/390 version 2 release 7 SMP/E overview . . . 205 Summary of interface changes . . . . . . . . 213
SMP/E planning and migration assistant . . . 205 Commands . . . . . . . . . . . . . 213
Data element reformatting . . . . . . . . 205 Data sets and files . . . . . . . . . . . 214
Description for a SYSMOD . . . . . . . . 206 Exits . . . . . . . . . . . . . . . 215
Improved protection for UNIX file system files 206 Macros . . . . . . . . . . . . . . 215
Pre-built load module support . . . . . . . 206 Messages . . . . . . . . . . . . . . 215
Product data . . . . . . . . . . . . 206 Panels . . . . . . . . . . . . . . . 215
Sequential data set support . . . . . . . . 206 Programming interfaces . . . . . . . . . 217
Shell script support . . . . . . . . . . 206 Service routines . . . . . . . . . . . 217
Symbolic link support . . . . . . . . . 207 SMPPARM members . . . . . . . . . . 218
OS/390 version 2 release 5 SMP/E overview . . . 207 SYS1.SAMPLIB members . . . . . . . . 218
CBIPO dialogs . . . . . . . . . . . . 207
Client code installation . . . . . . . . . 207 Appendix B. Recommended service
Global zone merge . . . . . . . . . . 207 upgrade (RSU) . . . . . . . . . . . 221
Library change interface . . . . . . . . . 207
Improved load module build processing . . . 208
Load module return code . . . . . . . . 208 Appendix C. Accessibility . . . . . . 223
Performance improvements. . . . . . . . 208 Using assistive technologies . . . . . . . . 223
PTF compaction in SMPPTS data set . . . . 208 Keyboard navigation of the user interface . . . . 223
Enhanced RECEIVE command processing . . . 208 z/OS information . . . . . . . . . . . . 223
Reduced SMP/E message output . . . . . . 209
GIMAPI: All entries and subentries support . . 209 Notices . . . . . . . . . . . . . . 225
GIMAPI: Version support . . . . . . . . 209 Trademarks . . . . . . . . . . . . . . 226
OS/390 version 1 release 3 SMP/E overview . . . 209
API for user access to the CSI . . . . . . . 209 Glossary . . . . . . . . . . . . . 229
Enhanced cross-zone requisite checking . . . 210
Enhanced exception SYSMOD report . . . . 210
Index . . . . . . . . . . . . . . . 243
Enhanced ++IF FMID processing . . . . . . 210
After reading this publication, you should be able to do most SMP/E processes.
You may have to refer to SMP/E Commands for details on commands.
Bibliography
This section tells you more about the SMP/E library.
v The IBM SMP/E for z/OS, V3R4 publications are available as printable PDF files
and BookManager-viewable softcopy at
http://www.ibm.com/servers/eserver/zseries/zos/bkserv/
v Table 1 lists the IBM SMP/E for z/OS, V3R4 publications and briefly describes
each one.
v For information on z/OS publications and more information on the IBM SMP/E
for z/OS, V3R4 books, see z/OS Information Roadmap.
Table 1. Publications for IBM SMP/E for z/OS, V3R4
Title Description
SMP/E Messages, Codes, and Diagnosis, GA22-7770 Explains SMP/E messages and return codes and the
actions to take for each; and how to handle suspected
SMP/E problems.
SMP/E Commands, SA22-7771 Explains SMP/E commands and processing in detail.
SMP/E Reference, SA22-7772 Explains SMP/E modification control statements, data
sets, exit routines, and programming interfaces in detail
and provides additional SMP/E reference material.
SMP/E User’s Guide, SA22-7773 Describes how to use SMP/E to install programs and
service.
New information
In Chapter 4, “Preparing to use Internet service retrieval,” on page 87, a new topic
eTrust CA-Top Secret Security for z/OS users has been added.
In Chapter 4, “Preparing to use Internet service retrieval,” on page 87, a new topic
Debugging keyring and certificate issues has been added.
Summary of changes
for SA22-7773-10 September, 2006
SMP/E Version 3 Release 4
Changed information
In Chapter 4, “Preparing to use Internet service retrieval,” on page 87, a new topic
Replacing a user certificate that has expired has been added.
Summary of changes
for SA22-7773-09 May, 2006
SMP/E Version 3 Release 4
Changed information
You might notice changes in the style and structure of some content in this
document—for example, headings that use uppercase for the first letter of initial
words only, and procedures that have a different look and format. The changes are
ongoing improvements to the consistency and retrievability of information in our
documents.
Changed information
v The last portion of the topic “Options that affect Java” on page 94 has been
updated.
Summary of changes
for SA22-7773-07 September 15, 2005
SMP/E Version 3 Release 4
New Information
v “Refreshing RACF classes” on page 93 has been added.
Changed information
v The notes of “Setting up z/OS security server RACF” on page 89 has been
updated.
Summary of changes
for SA22-7773-07
SMP/E Version 3 Release 4
Changed information
v Added javahome attribute information to “Options that affect Java” on page 94.
v Updated the summary and example at the end of Chapter 4, “Preparing to use
Internet service retrieval,” on page 87.
Summary of changes
for SA22-7773-06
SMP/E Version 3 Release 4
New information
v “What happens during internet service retrieval” on page 15 has been added.
v “Requesting a new PTF order with the RECEIVE ORDER command” on page 18
has been added.
v “Using internet service retrieval to request PTF or HOLDDATA: RECEIVE
ORDER” on page 42 has been added.
Changed information
v Chapter 6, “Installing preventive service,” on page 109 has been updated.
v Chapter 7, “Installing corrective service,” on page 123 has been updated.
v Chapter 9, “Managing exception SYSMODs,” on page 135 has been updated.
v Chapter 11, “Displaying the data managed by SMP/E: The LIST command,” on
page 149 has been updated.
v Chapter 12, “Changing the data SMP/E manages: The UCLIN command,” on
page 155 has been updated.
Moved information
v None.
Deleted information
v None
Summary of changes
for SA22-7773-04
SMP/E Version 3 Release 3
New information
v Figure 18 on page 32 has been updated to reflect the new entry name wildcard
capability of the CSI Query dialog panel (GIMQU1PO).
v “SMP/E V3R3 overview” on page 196 has been added to ″Appendix A.
Migration″. It includes migration information on:
– “SPCLCMOD and CMWA” on page 197
– “Extended RECEIVE SOURCEID processing” on page 197
– “GIMGTPKG service routine” on page 196
– “Enhancements to GIMZIP and GIMUNZIP service routines” on page 196
– “RECEIVE FROMNETWORK FTP interface enhancements” on page 196
– “REJECT CHECK command” on page 197
Changed information
v None.
Moved information
v None.
Deleted information
v None.
Summary of changes
for SA22-7773-03
SMP/E Version 3 Release 2
Summary of changes xv
This revision reflects the deletion, addition, or modification of information to
support miscellaneous maintenance items. A vertical bar ( | ) in the left margin
indicates changes to the text and illustrations.
New information
v “SMP/E V3R2 overview” on page 197 has been added to ″Appendix A.
Migration″. It includes migration information on:
– “LINK LMODS command” on page 197
– “REPORT CALLLIBS command removal” on page 198
– “UPGRADE command” on page 198
– “GIMXSID service routine” on page 198
– “GIMZIP: Archive segmentation” on page 198
– “Java archive files” on page 199
– “Smaller SMPLTS data set” on page 199
– “DUMMY data set for SYSDEFSD” on page 200
– “GIMZIP: User defined subdirectories” on page 199
– “SMP/E dialog customization” on page 201
– “GIMUTTBL removal” on page 201.
v Chapter 19, “Java archive update exploiter’s guide,” on page 187 has been
added.
v “Relinking load modules that use CALLLIBS: LINK LMODS” on page 47 has
been added.
Changed information
v Member GIMSAMPU in SYS1.SAMPLIB has been updated to provide sample job
steps to allocate SMPCSI data sets and SMP/E operational data sets (such as
SMPPTS and SMPLOG) and UCLIN statements to initialize the newly allocated
SMPCSI data sets, as shown in “Allocating a CSI data set” on page 56 and
Table 23 on page 218.
v “Handling cross-zone link-edits: LINK MODULE” on page 47 has been updated.
v “How dynamic allocation works” on page 64 has been updated.
v “Customize the SMP/E dialogs” on page 75 has been updated.
v “Updating target libraries: APPLY” on page 137 has been updated.
v “How to use LINK MODULE” on page 148 has been updated.
v “SMP/E load modules and service routines moved to SYS1.MIGLIB” on page
205 has been updated.
v “GIMXTRX service routine” on page 205 has been updated.
v Appendix B, “Recommended service upgrade (RSU),” on page 221 has been
updated.
Moved information
v None.
Deleted information
v The chapter on using the REPORT CALLLIBS command has been deleted,
because that command is no longer supported.
Summary of changes
for SA22-7773-02
as Updated, March 2002
New information
v An appendix with z/OS product accessibility information has been added.
Changed information
v Table 23 on page 218 has been updated to include GIMCRSAM, GIMPRSAM,
and GIMSAMPU.
Moved information
v None.
Deleted information
v None.
Summary of changes
for SA22-7773-01
SMP/E Version 3
New information
v Appendix A, “Migration,” on page 191 has been added.
v SMPPARM member GIMDDALC in “How to dynamically allocate data sets to
be used during SMP/E processing” on page 62 has been added.
Changed information
v “Example 1: Updating a module” on page 174 has been updated.
Moved information
v None.
Deleted information
v Information related to backup IEANUC01 load modules has been removed.
For example, some of the functions that can appear in a Z/OS system include:
v Base Control Program (BCP)
v C/C++ IBM Open Class Library
v Communications Server (CS z/OS)
v Cryptographic Services
v DCE Application Support
v DCE Base Services
v DFSMSdfp
v DFSORT
v Distributed File Service
v Encina Toolkit Executive
v Hardware Configuration Definition (HCD)
v High Level Assembler (HLASM)
v IBM HTTP Server
v IBM License Manager (ILM)
v Infoprint Server
v ISPF
v JES2 or JES3
v Language Environment
v Managed System Infrastructure (msys) for Setup
v Network File System
v Open Systems Adapter/Support Facility (OSA/SF)
v Resource Measurement Facility (RMF)
To see where the object modules come from, let’s take a look at the example in
Figure 1.
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 may 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.
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.
Both base function SYSMODs and dependent function SYSMODs are used to
introduce new elements into the system.
is intended to prevent, it is wise to install the PTF on your system. The PTF
SYSMOD is used to install the PTF, thereby preventing the occurrence of that
problem on your system.
Usually, PTFs are designed to replace or update one or more complete elements of
a system function. Let’s look at Figure 3.
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.
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:
v PTF SYSMODs may be dependent upon other PTF SYSMODs.
v APAR SYSMODs may be dependent upon PTF SYSMODs and other APAR
SYSMODs.
v USERMOD SYSMODs may be dependent upon PTF SYSMODs, APAR
SYSMODs, and other USERMOD SYSMODs.
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.
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 Figure 8, 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.
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 11
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.
The CSI data sets contain all the information SMP/E needs to track the distribution
and target libraries. As the card catalog contains a card for each book in the library,
the CSI contains an entry for each element in its libraries. The CSI entries contain
the element name, type, history, how the element was introduced into the system,
and a pointer to the element in the distribution and target libraries. The CSI does
not contain the element itself, but rather a description of the element it represents.
Let’s see exactly how these entries are arranged in the CSI.
In addition to the distribution and target zones, the SMP/E CSI also contains a
global zone. The global zone contains:
v Entries needed to identify and describe each target and distribution zone to
SMP/E
v Information about SMP/E processing options
v Status information for all SYSMODs SMP/E has begun to process
v Exception data for SYSMODs requiring special handling or that are in error
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 10? Now look at
Figure 11.
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.
The SET command can also be used to request a particular set of predefined
processing options. For more information about the SET command, refer to SMP/E
Commands.
For more information about the RECEIVE command, refer to “Receiving the
SYSMOD into SMP/E’s data sets” on page 14.
For more information about the APPLY command, refer to “Applying the SYSMOD
to the target libraries” on page 19.
For more information about the RESTORE command, refer to “Restoring the target
libraries to the previous level” on page 23.
For more information about the ACCEPT command, refer to “Accepting the
SYSMOD into the distribution libraries” on page 27.
For more information about displaying SMP/E data, refer to “Displaying SMP/E
data” on page 31.
In this chapter, you will learn about those data sets and the following topics:
v “What happens during RECEIVE processing” on page 15
14 SMP/E V3R4.0 User’s Guide
Receiving the SYSMOD
For more details about packaging, see the z/OS Packaging Rules manual.
During RECEIVE processing, the MCS for each SYSMOD is copied to an SMP/E
temporary storage area called the SMPPTS data set. The MCS entry contains the
MCS and any inline element replacements or updates for the SYSMOD. Relative
files, however, are stored in another temporary storage area called the SMPTLIB
data sets.
We briefly mentioned HOLDDATA earlier in the book (see “The SMP/E zones” on
page 11). HOLDDATA is processed by the RECEIVE command and is stored for
use later on during installation of the affected SYSMODs.
You can use the RECEIVE ORDER command to request HOLDDATA or PTF
service orders based on criteria you specify. When you request HOLDDATA only,
you receive the last two years of Enhanced HOLDDATA for the entire z/OS
platform. You can request two types of PTF service orders:
Corrective
You can order PTFs that resolve specific APARS. The package resulting
from such an order is tailored to your SMP/E environment and contains
the PTFs you requested plus any requisite PTFs not already present in
your environment.
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.
When you issue these commands, SMP/E receives all the SYSMODs and
HOLDDATA on the service tape into the global zone.
Receiving only HOLDDATA: There may be times when you do not want to
receive the SYSMODs from a service tape, but you do want to receive the
HOLDDATA. Because the HOLDDATA provides information about SYSMODs
requiring 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.
Receiving only SYSMODs: Assume you have previously received only the
HOLDDATA from a service tape and are now ready to install the SYSMODs. To
install these SYSMODs (using the APPLY and ACCEPT commands), you must first
receive them. This can be done by specifying the following commands:
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.
Receiving SYSMODs and HOLDDATA for a specific product: You may want to
receive SYSMODs and HOLDDATA for a particular product from the service tape.
You can accomplish this task by specifying the following commands:
SET BDY(GLOBAL).
RECEIVE FORFMID(HOP0001).
Requesting a new PTF order with the RECEIVE ORDER command: Assume
you want to order two specific PTFs (UQ12345 and UQ98765). You can accomplish
this task by specifying the following SMP/E job:
//jobname JOB ...
//RECEIVE EXEC PGM=GIMSMP
//SMPCSI DD DSN=SMPE.GLOBAL.CSI,DISP=SHR
//SMPNTS DD PATH=’/u/smpe/smpnts/’,PATHDISP=KEEP
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDRY(GLOBAL).
RECEIVE SYSMODS HOLDDATA
ORDER( /* Place an order for service */
ORDERSERVER(ORDRSRVR)
CONTENT(
PTFS(UQ12345,UQ98765) /* Get these PTFs, and any.. */
) /* ..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>
/*
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 in SMP/E Commands.
Reporting output
When RECEIVE processing is complete, these reports will help you analyze the
results:
v 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.
v 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.
v 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
SMP/E Reports in SMP/E Commands.
installed or are being installed concurrently and in the proper sequence. For more
information about prerequisites, see “Keeping track of the elements of the system”
on page 7.
Note: Because the APPLY command updates the system libraries, you should
never use it on a live production system. When you process the APPLY
command, you should always use a copy of the target libraries and target
zone. By using a copy, you minimize the risk of new code causing an outage
of your system. This process of copying is called cloning and is explained in
detail in the OS/390 Software Management Cookbook, SG24-4775.
Figure 14 on page 21 shows what you have learned about APPLY processing.
Examples
Let’s look at a few examples of how you might use the APPLY command.
Applying PTF SYSMODs: After you have received the SYSMODs into the global
zone, you can tell SMP/E that you want to install only the PTF SYSMODs. You can
do this by specifying the following commands:
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.
Applying APAR and USERMOD SYSMODs: You may want to install just
corrective fixes (APARs) or user modifications (USERMODs) into the target
libraries. You can accomplish this with the following commands:
SET BDY(ZOSTGT1).
APPLY APARS
USERMODS.
When you issue these commands, SMP/E installs all eligible APARs and
USERMODs into target zone ZOSTGT1.
Applying SYSMODs for selected products: There may be times when you want
to update only certain products on your system with the SYSMODs contained on a
service tape. Assume you want to install all PTFs for a particular product to your
system. This can be accomplished by specifying the following commands:
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.
Assume you want to update a product with all the eligible PTFs and APARs. You
can do this by specifying the following commands:
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.
Applying SYSMODs using the CHECK operand: In the previous example, you
directed SMP/E to automatically include all SYSMODs needed for the specified
product. There may be times when you want to see which SYSMODs are included
before you actually install them. You can do this with the CHECK operand by
issuing the following commands:
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, see APPLY Command in SMP/E Commands.
Reporting output
When APPLY processing is complete, these reports will help you analyze the
results:
v 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.
v 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.
v 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.
v 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 The APPLY Command in
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:
v Selects SYSMODs to install
v Checks that all other required SYSMODs have been (or are being) installed
v Based on SYSMODs, selects elements to install
v Directs SMP/E to call the system utilities to update the target libraries
v Records what is applied:
– Target zone: Creates SYSMOD entries and element entries
– Global zone: Updates SYSMOD entries
– SMPSCDS data set: Creates BACKUP entries
v Reports the results of processing
You can use the RESTORE command to remove SYSMODs from the target libraries
and restore them to a previous level. The RESTORE command reverses APPLY
processing, but has no effect on ACCEPT processing.
SMPTLIB data sets created during RECEIVE processing are also deleted for the
restored SYSMOD. SMP/E automatically performs this global zone clean-up,
unless you specify otherwise.
Examples
Let’s look at a few examples of how you might use the RESTORE command.
Restoring a single SYSMOD: Assume you have applied a SYSMOD and, after
some initial testing, you discover that a PTF SYSMOD is causing problems on your
system. You can remove this SYSMOD by specifying the following commands:
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.
Restoring SYSMODs using the GROUP operand: When you want to remove a
particular SYSMOD, it is not always easy to determine other SYSMODs that need
to be restored in order to remove the bad one. Assume a particular PTF SYSMOD
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.
Restoring SYSMODs using the CHECK operand: In the previous example, you
directed SMP/E to restore any dependent SYSMODs in order to remove the bad
one. There may be times when you want to see which SYSMODs are restored
without actually restoring them. You can do this with the CHECK operand by
issuing the following commands:
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 SMP/E Commands.
Reporting output
When RESTORE processing is complete, these reports will help you analyze the
results:
v 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.
v 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.
v 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.
v 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 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:
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.
the same manner as APPLY and RESTORE) to place the elements into the
distribution libraries described in the distribution zone. The source of the elements
is the SMPTLIB data sets, the SMPPTS data set, or the indirect libraries, depending
on how the SYSMOD was packaged.
Note: When ACCEPT processing has been completed, there is no way it can be
undone.
Examples
Let’s look at a few examples of how you might use the ACCEPT command.
Accepting PTF SYSMODs: After you have applied the SYSMODs into the target
zone, you can define to SMP/E that you want to install only the PTF SYSMODs
into the distribution zone. You can do this by specifying the following commands:
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.
Accepting SYSMODs for selected products: There may be times when you want
to update only certain products on your system with the SYSMODs contained on a
service tape. Assume you want to install all PTFs for a particular product. This can
be accomplished by specifying the following commands:
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.
Assume you want to process all PTFs for a product on your system, and you want
to ensure that all other required SYSMODs are also processed. You can do this by
specifying the following commands:
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 target zone. If SMP/E cannot find a required SYSMOD, it looks
for and uses a SYSMOD that supersedes the required one.
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 The ACCEPT Command in SMP/E Commands.
Reporting output
When ACCEPT processing is complete, these reports will help you analyze the
results:
v 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.
v 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.
v 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.
v 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 The ACCEPT
Command in 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:
v Selects SYSMODs to install
v Checks that all other required SYSMODs have been (or are being) installed
v Based on SYSMODs, selects elements to install
v Directs SMP/E to call the system utilities to update the distribution libraries
v 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.)
v Reports the results of processing
In this chapter, you will learn about the kinds of information that help you manage
your system and the best method by which the information can be obtained.
v Query dialogs: The easiest and fastest way to obtain just the information you
want
v LIST command: When you need an all-inclusive hardcopy listing of information
about your system
v REPORT commands: To check and compare the zone contents and generate
command output that can be used to update your system
v SMP/E CSI application programming interface: To write an application
program to query the contents of your system’s CSI data sets.
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 SMP/E (option 1) on the initial SMP/E
dialog panel (CIDPGV2). Then, on the main menu for SMP/E options
(GIM@PRIM), select Query (option 3). This takes you to the initial Query panel,
shown in Figure 17 on page 32. 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 32.
When the CSI QUERY panel is displayed (see Figure 18), 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 33) 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).
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.
The LIST command can provide you with a listing of this information.
Examples
Let’s look at a few basic examples of how you might use the LIST command.
Listing entries in a particular zone: In the course of managing your system, you
might need to know which SYSMOD entries exist in the global zone. You can find
this out by specifying the following commands:
SET BDY(GLOBAL).
LIST SYSMODS.
By issuing these commands, you direct SMP/E to list all the SYSMOD entries in
the global zone.
Listing Specific Entries: Suppose you discover a problem on your system and
need to determine whether a particular SYSMOD has been installed in the target
zone. You can accomplish this by specifying the following commands:
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.
Listing SYSMODs that are received but not installed: You might have received
service into the global zone and are in the process of installing the service on your
system. You want to see which of the SYSMODs you have received have not yet
been installed in a target zone. This can be accomplished by specifying the
following commands:
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:
v 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.
v 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, see The LIST Command in SMP/E Commands.
One of the REPORT commands (REPORT SYSMODS) is very useful if you want to
compare the SYSMODs installed in two zones. This command allows you to
compare the following:
v One distribution zone to another distribution zone
v One target zone to another target zone
v A distribution zone to a target zone
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:
v 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.
v The File allocation report provides you with a list of the data sets used for
REPORT processing, and supplies information about these data sets.
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:
v Query dialogs: Easy and fast way to obtain information
v LIST command: Best for hardcopy listing
v REPORT commands: Best for checking and comparing zone contents
v SMP/E CSI application programming interface: Best for writing an application
program to query the contents of your system’s CSI data sets.
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:
v Selecting the proper levels of elements to be installed from a large number of
potential changes
v Calling system utility programs to install the changes
v Keeping records of the installed changes
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:
v Products and service provided in CBPDOs and CustomPac offerings
v Products and service from IBM Software Distribution Centers not provided in
CBPDOs or CustomPac offerings
v Service provided in Expanded Service Options (ESOs)
v Other products and service
SMP/E can install software from any of these sources, provided it is packaged as a
system modification, or SYSMOD.
Figure 21 on page 39 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, see The
APPLY Command and The ACCEPT Command in SMP/E Commands.
The CSI data set is a VSAM data set in which SMP/E maintains information
about the system. A CSI can be divided into multiple partitions through the
VSAM key structure. Each partition is referred to as a zone.
There are three types of zones:
– A single global zone is used to record information about SYSMODs that have
been received into the SMPPTS data set. The global zone also contains
information enabling SMP/E to access the other two types of zones,
information about system utilities that SMP/E calls to install elements from
SYSMODs, and information allowing you to tailor SMP/E processing.
– One or more target zones are used to record information about the status and
structure of the operating system (or target) libraries. Each target zone also
points to the related distribution zone, which can be used during APPLY,
RESTORE, and LINK when SMP/E is processing a SYSMOD and needs to
check the level of the elements in the distribution libraries.
– One or more distribution zones are used to record information about the
status and structure of the distribution libraries (DLIBs). Each DLIB zone also
points to the related target zone, which is used when SMP/E is accepting a
SYSMOD and needs to check if the SYSMOD has already been applied.
Figure 22 shows the relationships between SMP/E zones and libraries.
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 on ways to structure
SMPCSI data sets, see the SMP/E Reference manual.
v 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.
v 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 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
on the structure, content, and status of the system. SMP/E provides this
information in reports, listings, and dialogs to help you:
v Investigate function and service levels
v Understand intersections and relationships of SYSMODs (either installed or
waiting to be installed)
v Build job streams for SMP/E processing
Where to begin
You must specify a SET command before SMP/E can process any other commands.
You must tell SMP/E which zone you are working with before it can execute any
other commands. You direct SMP/E processing to a specific zone by coding the
zone name on the SET command.
Installing SYSMODs
The primary purpose of SMP/E is to install SYSMODs. This section describes the
tasks and commands you can use.
Note: The RECEIVE command can also be used to transfer software packages from
a TCP/IP network connected server directly into an SMP/E directory or
data sets.
Requesting a new PTF service order: The RECEIVE ORDER command performs
the following functions:
1. Builds a software inventory based on the target zones specified. If no zones
were specified, then SMP/E uses all target zones.
2. Submits a HOLDDATA or PTF order request to the IBM Automated Delivery
Request server. The order request includes the content criteria specified by the
user and contains the software inventory.
3. The server responds to SMP/E to indicate that the order was accepted.
4. SMP/E records information about the order in the global zone by creating a
new ORDER entry. At this point the order is in a pending state, and remains so
until its package is downloaded.
5. When the server receives the order request, it initiates the manufacturing
processes to fulfill the HOLDDATA or PTF order. The IBM manufacturing
processes use the supplied content criteria and the software inventory
information to build a package containing either PTFs or HOLDDATA, or both,
as specified in the request.
6. SMP/E waits a period of time for the order to be fulfilled. 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 the RECEIVE command
processing ends and the order remains in a pending state.
7. If the order is fulfilled within the allowed time, the server sends SMP/E the
information required to download the resultant package (FTP server name,
directory where the package resides on the FTP server, userid, password, and
the package SHA-1 hash value).
8. 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.
9. 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).
Note: Though the usual order of processing a SYSMOD is RECEIVE, APPLY, and
then ACCEPT, you skip the APPLY step and go directly from RECEIVE to
ACCEPT. For further information, see Chapter 5, “Installing a new
function,” on page 101.
You can also use REJECT after you use NOPURGE to accept a SYSMOD into the
distribution libraries. Using NOPURGE in the OPTIONS entry prevents SMP/E
from deleting the global zone SYSMOD entry and the PTS MCS entry during
ACCEPT processing. Later, you can delete the SYSMOD and MCS entries by using
REJECT.
You can use UCLIN to delete orders from the SMPCSI data set. You can also use
UCLIN to correct errors in entries or to alter processing information (including the
ORDER RETENTION subentry in the OPTIONS entry).
Note: This command should be used with extreme caution; an incorrect change
can cause a SYSMOD to be installed incorrectly later.
UCLIN updates only entries in SMP/E data sets. It does nothing to any elements
or load modules in any product libraries. You must ensure that the appropriate
changes are made to the libraries.
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.
Managing zones
This section describes the tasks and commands you can use to manage zones.
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:
v The single-CSI data set optimizes the use of direct access storage.
v 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.
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:
v 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.
v Your system may need multiple CSIs if the support teams for different
subsystems—such as MVS, CICS, IMS, and NCP—are at different places.
v 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.
Examples of CSI structures: The following examples show several ways to define
a CSI structure describing a sample z/OS system with Job Entry Subsystem 3
(JES3) and an Information Management System (IMS) subsystem. In some of the
examples, a single CSI contains multiple zones. Others show zones that are
separated into multiple CSI data sets. Zones in separate CSIs can be connected by
a single global zone. The CSI that contains the global zone is called the master CSI.
Example 1: Using a separate global zone for each subsystem: In Figure 25, the existing
DASD structure for the libraries is maintained, and a separate global zone is
defined for each of the subsystems (MVS, JES3, and IMS). This CSI structure keeps
control of the three subsystems separate. You might use this structure if the system
programming support for the three subsystems is organizationally separate. A
disadvantage is that there is no single control point (global zone) from which to
manage or query the entire system.
Example 2: Using a single CSI for the whole system: In Figure 26 on page 53, all the
SMP/E control information for the system is contained in a single CSI. The system
structure is reflected by separate zones for MVS, JES3, and IMS. This CSI structure
provides a single control point from which to manage or query the entire system.
Example 3: Using a master CSI and multiple CSIs: In Figure 27 on page 54, 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. 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.
Example 4: Using a master CSI and a separate CSI for each zone: In Figure 28 on page
55, 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
Example 5: Using a master CSI and one CSI per SREL: In Figure 29 on page 56, one
global zone is defined for the entire system in a master CSI, and separate CSIs are
allocated for each SREL (MVS, CICS, NCP, and IMS/DB2). The target zones and
DLIB zones associated with a given SREL are in the same CSI. This CSI structure
provides the advantages of a common control point through one global zone (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 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:
v 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.
v 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 58. 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)
/*
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:
//CREATE JOB ’accounting info’,MSGLEVEL=(1,1)
//ALIAS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
DEFINE ALIAS -
(NAME(SMPE) -
RELATE(SMPECAT)) -
CATALOG(AMASTCAT/password)
/*
If the CSI data sets are cataloged in different user catalogs, they must have
different high-level qualifiers.
Figure 30 on page 59 illustrates how zone definition entries define the relationships
between zones.
After you have defined the zones for your system, you can create other entries.
SMP/E zones contain two basic types of entries:
v Entries controlling SMP/E processing.
You generally define processing control entries through the SMP/E
Administration dialogs or with the UCLIN command. Table 2 summarizes the
information specified in these entries.
v 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 3 on page 60 summarizes the information specified in these entries.
Table 3. Entries describing the status and structure of the target and distribution libraries
Zone where defined
Type of information Entry type Global Target DLIB
Assembler statements that can be assembled to ASSEM X X
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
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.
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.
Each PTS data set must be associated with only one global zone. The allocation of
space and directory blocks for the SMPPTS depends on your plans for installing
and maintaining the functions managed by the global zone. For more information
about allocating the SMPPTS data set, see SMP/E Reference.
Each backup copy of an entry is associated with the SYSMOD that caused the
entry to be backed up. Together, the collection of entries associated with a
SYSMOD is called the BACKUP entry for that SYSMOD. When you process the
SCDS (for example, to list entries), you can specify only BACKUP entries; you
cannot process individual entries within a BACKUP entry.
Each target zone within a CSI must have its own SCDS. The correct SCDS to be
used during processing is determined either by the SMPSCDS DDDEF entry in
each specific target zone or by a DD statement in the JCL. An SCDS can be
allocated the same way as any normal partitioned data set. The allocation of space
and directory blocks for this data set depends on your plans for installing and
maintaining functions. For more information about allocating the SMPSCDS data
set, see SMP/E Reference.
There are some drawbacks to using DD statements. For example, all the data sets
defined by DD statements must be successfully allocated, regardless of whether
they are needed for the command being processed. In addition, if you are running
several SMP/E commands, you must be careful to use the correct DD statements
for each command. If you are processing zones that are in different CSI data sets,
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:
v Permanent data sets, such as target libraries, distribution libraries, and SMP/E
data sets
v Temporary data sets
v SYSOUT data sets
v Work data sets
v Pathnames for elements and load modules residing in a UNIX file system
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.
For more information about DDDEF entries, see the SMP/E Reference manual.
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.
v SMPOUT is allocated either as SYSOUT (for background processing) or to the
terminal (for foreground processing).
v SYSPRINT is allocated as SYSOUT.
– Update
– Superzap
v 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
Figure 31. Relationships of OPTIONS, UTILITY, zone definition entries and the SET
command
For examples of these steps, see “Example: How to request the desired utility
processing” on page 68. For more detailed information, see OPTIONS Entry,
UTILITY Entry, GLOBALZONE Entry, DLIBZONE Entry, and TARGETZONE Entry
in SMP/E Reference, and the SET command in SMP/E Commands.
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.
The following UCL defines the desired UTILITY entry for your program:
SET BDY(GLOBAL) /* Set to global zone. */.
UCLIN /* */.
ADD UTILITY(MYX37) /* Retry/recovery program. */
NAME(USERRCVR) /* Program name. */
PARM(TYPE=FAST) /* PARM value. */
PRINT(X37PRINT) /* SYSPRINT ddname. */
RC(4) /* Highest acceptable */
/* return code. */
LIST(NO) /* No list of member names. */
/* */.
ENDUCL /* */.
Once you have created the desired UTILITY entry, you need to point to it
2 Connect the UTILITY entry to
from an OPTIONS entry. The following UCL defines an OPTIONS entry
an OPTIONS entry.
(MYOPT1) that points to UTILITY entry MYX37:
SET BDY(GLOBAL) /* Set to global zone. */.
UCLIN /* */.
ADD OPTIONS(MYOPT1) /* New OPTIONS entry. */
RETRY(MYX37) /* Connect to retry. */
/* */.
ENDUCL /* */.
You might want your OPTIONS entry to be the default for processing target
3A Use the zone definition entry to
zone TGT1. In this case, the TARGETZONE entry for TGT1 must point to
specify your OPTIONS entry as
your OPTIONS entry. The following UCL updates the existing
the default OPTIONS entry.
TARGETZONE entry for TGT1 so it points to OPTIONS entry MYOPT1:
SET BDY(TGT1) /* Set to target zone, TGT1.*/.
UCLIN /* */.
REP TARGETZONE /* Update zone definition. */
OPTIONS(MYOPT1) /* OPTIONS entry to be used.*/
/* */.
ENDUCL /* */.
Instead of changing the default OPTIONS entry, you might want to override
3B Use the SET command to have
whatever the default might be and use OPTIONS entry (MYOPT1) for
your OPTIONS entry override
processing particular commands or SYSMODs. In this case, the SET
the default OPTIONS entry for
command preceding the commands you want to process must point to your
the zone.
OPTIONS entry. The following UCL points the SET command to OPTIONS
entry MYOPT1:
SET BDY(TGT1) /* Set to target zone, TGT1.*/
. OPTIONS(MYOPT1) /* OPTIONS entry used. */.
.
.
This section explains what you need to define in order to have SMP/E attempt
retry processing for x37 abends.
RETRYDDN(ALL)
EXRTYDD(LINKLIB,MIGLIB,
NUCLEUS)
.
ENDUCL .
You will use the defaults for the retry utility as shown in
3 Decide whether to use the default RETRY UTILITY
Table 4 on page 65.
entry, or to point to and define a RETRY UTILITY
entry that specifies the desired information.
You will use SMP/E’s retry processing instead of writing
4 If desired, define an exit routine for retry
a retry exit routine.
processing.
The Retry Exit Routine section in SMP/E Reference
provides all the information you need about the
interface for this routine and what SMP/E expects
the routine to do.
As indicated in step 2, you have been using OPTIONS
5 Make sure the desired OPTIONS entry is in effect
entry OPT1. Instead of specifying it on the SET
for the zone you are processing.
command, you have defined TZONE entry (TGT1) and
The methods you can use are shown in Figure 31 DZONE entry (DLIB1), which specify OPT1 as the
on page 67. OPTIONS entry to be used. (These zones are already
defined in the global zone by ZONEINDEX subentries.)
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 .
The SMP/E dialogs use the TSO OUTPUT, SUBMIT, and STATUS commands.
Therefore, to support these commands, you must provide a TSO IKJEFF53 user
installation exit routine that does not restrict the TSO OUTPUT and STATUS
commands to job names beginning with the user’s user ID. For details, see z/OS
TSO/E Customization.
Notes:
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:
v Use EDIT CREATE while in the generated JCL to save it in another
(permanent) data set, or
v 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.
v SMP/E uses this table data set to save process status information for the
SYSMOD management dialogs.
Note: Depending on the system you are connecting the dialogs to, you may need
to change your logon procedure, a CLIST, or both. It is common practice to
have a logon procedure call a CLIST every time a user logs on. This is
normally done so that minor changes to concatenations do not require
changes to the logon procedure, or so users with the same logon procedure
can have the CLIST perform different allocations from the ones performed
for other users.
If you make changes only to your logon procedure and the procedure calls a
CLIST that changes a concatenation, you may end up missing changes you
made in your logon procedure. In this case, instead of (or in addition to)
updating the concatenations in your logon procedure, you should update
the concatenations in the CLIST that is called.
Figure 32. Sample logon procedure that concatenates SMP/E and ISPF libraries
Use one of the methods documented in the Program Directory for this level of
SMP/E to use ISR@390 instead of ISR@PRIM. The SMP/E dialogs will then be
accessible through panel ISR@390S.
When you select option 0 (SETTINGS) on the SMP/E Primary Option Menu,
SMP/E displays panel GIM@PARM, which allows you to
v 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.
v 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.
Note: Do not specify a PEMAX value. Allow SMP/E to use its default value of
25,000.
To enable automatic cross-zone requisite checking, you must tell SMP/E which
zones contain software to be checked for requisites. The set of zones identified for
cross-zone requisite checking is called the zone group. SMP/E provides two
methods to identify the zones within the zone group:
1. Define a default zone group
2. Specify the zones directly on the APPLY, ACCEPT, or RESTORE command.
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.
Note: This example assumes a default zone group has been defined and will
therefore be used during APPLY command processing.
You can be broad or very 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 SMP/E Commands.
Note: This example assumes a default zone group has been defined and will
therefore 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 REPORT CROSSZONE Command in SMP/E
Commands for details.
This section describes the types of information you need to provide if you use a
cataloged procedure to invoke SMP/E. It discusses the following:
v Required JCL statements
v A sample cataloged procedure for SMP/E
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, SA22-7598 or z/OS MVS JCL Reference, SA22-7597.
Note: To enable the SMP/E job step to get the maximum space above 16
megabytes. you can specify REGION=0M. Or, if you prefer, you can specify
a more specific region size.
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 82.) The following can be
specified in the EXEC statement PARM parameter:
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.
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.
v 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.
v 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 on obtaining and sharing CSI data sets, see “Sharing
SMP/E Data Sets” in 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 SMP/E Commands.
Note: 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 62.
Note: The SYSLIB concatenations for APPLY and ACCEPT should point to
different libraries.
v 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 below, you
may 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 81.
– 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 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 84. For
more information about DDDEF entries, see SMP/E Reference.
v 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
on how SMP/E shares data sets, see Sharing SMP/E Data Sets in 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.
v 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.
v For more information about the data sets required by each SMP/E command,
see 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=(,CATALOG),
// 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
libraries. For details on which data sets to include and in what order, see
“How to determine the appropriate SYSLIB concatenation.”
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 84 to call
SMP/E.
//SMPJOB JOB ’accounting info’,MSGLEVEL=(1,1)
//SMPSTEP EXEC SMPPROC
//SMPPTFIN DD ... points to the file or data set that contains
//* the SYSMODs to be received
//SMPHOLD DD ... points to the file or data set that contains
//* the HOLDDATA to be received
//SMPTLIB DD UNIT=3380,VOL=SER=TLIB01
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone */.
RECEIVE SYSMOD /* receive SYSMODS and */
HOLDDATA /* HOLDDATA */
SOURCEID(MYPTFS) /* Assign a source ID */
/* */.
LIST MCS /* List the cover letters */
SOURCEID(MYPTFS) /* for the SYSMODs */
/* */.
SET BDY(TARGET1) /* Set to target zone */.
APPLY SOURCEID(MYPTFS) /* Apply the SYSMODs */
/* */.
LIST LOG /* List the target zone log */.
/*
Note: The example shown is for processing a zone for SREL Z038 containing the
z/OS base control program (BCP). For other zones, follow the
recommendations for the products residing in those zones.
Treating the distribution libraries as totally separate from the target libraries
ensures that only the latest tested version of a macro is used during an assembly.
Thus, the SYSLIB concatenation at ACCEPT is different from that at APPLY.
The SMPMTS data set contains macros from SYSMODs that are applied. Therefore,
the proper SYSLIB concatenation for APPLY processing includes the SMPMTS data
set, as is shown in Figure 34 on page 86.
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 shows the proper SYSLIB concatenation for ACCEPT.
For more details, see the “SMP/E Exit Routines” chapter, in SMP/E Reference.
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:
v Obtain a user certificate
v Set up the z/OS® Security Server to work with certificates and install the user
certificate
v Define the ORDERSERVER input for the RECEIVE ORDER command
v Define the CLIENT input for the RECEIVE ORDER command, including
information necessary to allow SMP/E to use Java.
SSL server authentication allows a client application to confirm the identity of the
server application. The client application through SSL uses standard public-key
cryptography to verify that the server’s certificate and public key are valid and
that the certificate has been signed by a trusted Certificate Authority (CA) that is
known to the client application. The client and the server then use the negotiated
session keys and begin encrypted communications.
One of the most important pieces of the SSL server authentication scheme is the
trusted Certificate Authority (CA). Certificate Authorities are trusted organizations
that verify information about servers and then issue digital certificates that may be
accepted by applications as authentication of server identities when used in a
secure handshaking protocol such as SSL. Trusting a certificate issued by a
Certificate Authority is analogous to accepting a passport issued by a national
passport agency as proof of identity. We trust that the agency has taken proper
measures to verify the identity of the bearer of the passport. In a similar manner,
applications may accept certificates signed by a Certificate Authority.
Note: A PKCS12 package contains both a certificate and the associated private
key of the certificate. Because a private key is sensitive and considered
secret, the package must be encrypted to protect it. To encrypt the
package, a one-time encryption key must be used. That encryption key is
also known as the pass phrase. You specify a pass phrase (any phrase
you will remember) in ShopzSeries when you request a certificate to be
generated for you.
5. Download to your workstation the generated PKCS12 certificate file as directed
by ShopzSeries.
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: SMP/E requires either the z/OS Security Server (RACF) or an equivalent
security product on z/OS to store and manage x.509 certificates. The
remainder of this chapter assumes you are using RACF. If you are using an
equivalent security product, you should refer to that product’s
documentation to understand the equivalent actions. See Setting up alternate
security products for further information.
When your userid has the proper authorization, continue with “Creating keyrings”
on page 90.
Enabling the CA Certificate varies depending on the release of z/OS you are using.
Note: Equifax was acquired by GeoTrust, and the server’s certificate was signed by
Equifax before the company’s acquisition. Hence the misleading certificate
name.
Connect the GeoTrust CA certificate to the user’s keyring using the following
RACF command:
RACDCERT ID(userid) CONNECT( CERTAUTH RING(keyringname) +
LABEL(’Equifax Secure CA’) USAGE(CERTAUTH) )
Where keyringname is the name for the keyring you choose in “Creating keyrings.”
Note: There are several different CA certificates to choose from on the GeoTrust
Web site. Make sure you request the Equifax Secure Certificate
Authority root CA certificate.
2. Upload the CA certificate to your z/OS system. There are many ways to
transfer files from your workstation to your z/OS system. For example, you
can upload the certificate file with Personal Communications 3270 or use
TCP/IP FTP. The important things to remember are the certificate file must be
uploaded to z/OS as binary data, the certificate file must be stored in a
sequential data set, and the sequential data set must have RECFM=VB and
LRECL=256 or greater.
Where ca-cert.dataset.name is the data set name used to store the certificate
received from the GeoTrust Web site.
4. Connect the GeoTrust CA certificate to the user’s keyring using the following
RACF command:
RACDCERT ID(userid) CONNECT( CERTAUTH RING(keyringname) +
LABEL(’Equifax Secure CA’) USAGE(CERTAUTH) )
Where keyringname is the name for the keyring you chose in “Creating
keyrings” on page 90.
Where 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 above 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.
After you add the certificate to the RACF data base, you must connect it to the
keyring:
RACDCERT ID(userid) CONNECT(LABEL(’SMPE Client Certificate’) +
RING(keyringname) USAGE(CERTAUTH))
Where SMPE Client Certificate is the label you choose in the previous step to
identify this certificate, and keyringname is the name of the keyring you choose in
“Creating keyrings” on page 90.
Note: To enable the user certificate to be easily shared by other userids without
requiring unnecessarily high levels of access for those other userids, the user
certificate must be connected to the keyring as a Certificate Authority (CA)
certificate (USAGE of CERTAUTH). This allows the user certificate to be
shared without requiring other userids to access the certificate’s associated
private key.
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 keyring when running the command. To do this,
USER2 must specify not only the keyring name, but also the userid associated with
the keyring, USER1, on the keyring attribute in the ORDERSERVER data set for the
RECEIVE ORDER command as follows:
keyring="USER1/keyringname"
See “Define the ORDERSERVER input for RECEIVE ORDER” on page 93 for
further information about the keyring attribute and the ORDERSERVER data set.
Because the new certificate uses the same label as the existing certificate, no other
changes are necessary to ensure that your RECEIVE ORDER command jobs
continue to run as expected.
Not all tags and attributes shown in the example above will be required for every
user, but are explained below. 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 FTP.
Note: Support for the javahome attribute was added to SMP/E V3.4 in APAR
IO01770.
If the SMP/E Java application classes are not installed on the driving z/OS
system’s UNIX file system, you can use appropriate mountpoints 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:
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 runtime 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/J1.4’
//SMPCPATH DD PATH=’/usr/lpp/smp/classes’
Note: Support for the SMPJHOME and SMPCPATH ddnames was added to
SMP/E V3.4 in APAR IO03469.
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 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"
Optional tags are available in the CLIENT data set for the RECEIVE ORDER
command to describe local HTTP or SOCKS proxy servers. A proxy server redirects
HTTP requests to the IBM Automated Delivery Request server on the Internet. The
<HTTPPROXY> tag is used to identify a local HTTP proxy server, and the
<HTTPSOCKSPROXY> tag is used to identify a local SOCKS proxy server. For
example:
<HTTPPROXY host=”local.httpproxy.com”> </HTTPPROXY>
In order for SMP/E to login to the IBM FTP server, 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 a local FTP firewall server.
Note: SMP/E’s use of FTP is the same for the RECEIVE ORDER and RECEIVE
FROMNETWORK commands. Therefore, if you already use the RECEIVE
FROMNETWORK command successfully, you should use the same FTP
options in your CLIENT data set for the RECEIVE ORDER command.
The <SERVER> tag is used to identify the FTP firewall server. You can also specify
a userid and password if your firewall server requires authentication. The
<FIRECMD> tags are used to identify the 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 behavior of firewall servers differ, therefore, the best method to
determine what you should specify in the <FIRECMD> tags is to login to an
external FTP server using the z/OS Communications Server FTP client in a JCL
job, and then specify the same commands in the <FIRECMD> tags. For example:
//jobname JOB ...
//FTP EXEC PGM=FTP,PARM=’testcase.boulder.ibm.com’
//OUTPUT DD SYSOUT=*
//INPUT DD *
anonymous ; userid 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 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 ORDER command. However,
if you have a local firewall server that requires such commands or login
procedures, you will need to 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 *
Then your CLIENT data set for the RECEIVE ORDER command should include
the following:
<FIREWALL>
<SERVER host=”local.ftpproxy.com”> </SERVER>
<FIRECMD>&REMOTE_USER;@&REMOTE_HOST;</FIRECMD>
<FIRECMD>&REMOTE_PW;</FIRECMD>
<FIREWALL
The HTTP and FTP operations performed by SMP/E require host name to IP
address resolution. This is usually accomplished using a Domain Name System
(DNS) name server. A name server is defined using the NSINTERADDR or
NAMESERVER statement within a resolver configuration file (TCPIP.DATA
information). There are several different locations where a resolver configuration
file can be found when using an application such as SMP/E. Because SMP/E uses
a UNIX process for its HTTP and FTP operations, the z/OS UNIX search order is
used to find the resolver configuration file. See the sections titled “Resolver
configuration files” and ″Search orders used in the z/OS UNIX environment″ in
thez/OS Communications Server: IP Configuration Guide for details on specifying the
location of the resolver configuration file. However, because of the asynchronous
UNIX process used by SMP/E for its HTTP and FTP operations, there are two
exceptions to the documented search order: neither the SYSTCPD DD statement,
nor the RESOLVER_CONFIG environment variable can be used to define the
location of the resolver configuration file.
You can verify your name server setup by using the following sample job to
invoke the NSLOOKUP command:
//jobname JOB ...
//NSLOOKUP EXEC PGM=BPXBATCH,
// PARM=’PGM /bin/nslookup eccgw01.boulder.ibm.com’
//STDOUT DD PATH=’/tmp/&SYSUID..bpxbatch.stdout’,
// PATHOPTS=(OWRONLY,OCREAT,OTRUNC),PATHMODE=SIRWXU
Note: Although the NSLOOKUP command may be run simply 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 setup properly, the nslookup command will return the IP
address for the server. The output of the command will be similar to the following:
Defaulting to nslookup version 4
Starting nslookup version 4
Server: local.dns.com
Address: 9.0.2.1
Non-authoritative answer:
Name: eccgw01.boulder.ibm.com
Address: 207.25.252.197
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 your userid has appropriate RACF access to create keyrings and add
certificates.
b. Create a RACF keyring.
c. Alter the GeoTrust CA certificate to mark it trusted.
d. Connect the GeoTrust CA certificate to your keyring.
e. Add the user certificate to the RACF data base.
f. Connect the user certificate to your keyring.
3. Setup for using Java:
a. Ensure IBM SDK for z/OS, Java 2 Technology Edition, Version 1.4 with PTF
UK04987 is installed on your z/OS system (level 1.4.2).
b. Specify the Java runtime directory on the javahome attribute in the CLIENT
data set for the RECEIVE ORDER command.
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:
//jobname JOB ...,REGION=0M
//RECEIVE EXEC PGM=GIMSMP
//SMPCSI DD DSN=smpe.global.csi,DISP=SHR
//SMPNTS DD PATH=’/u/smpe/smpnts/’,PATHDISP=KEEP
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SMPCNTL DD *
SET BDY(GLOBAL).
RECEIVE SYSMODS HOLDDATA
ORDER(ORDERSERVER(ORDSRVR)
CLIENT(MYCLIENT)
CONTENT(RECOMMENDED))
DELETEPKG.
/*
//ORDSRVR DD *
<ORDERSERVER
url="https://eccgw01.boulder.ibm.com/services/projects/ecc/ws/"
keyring="keyringname"
certificate="SMPE Client Certificate">
</ORDERSERVER>
/*
//MYCLIENT DD *
<CLIENT
javahome="/usr/lpp/java/J1.4"
classpath="/usr/lpp/smp/classes"
javadebugoptions="-Dcom.ibm.smp.debug=severe -showversion">
<HTTPPROXY host=”local.httpproxy.com”>
</HTTPPROXY>
<FIREWALL>
<SERVER host=”local.ftpproxy.com”> </SERVER>
<FIRECMD>&REMOTE_USER;@&REMOTE_HOST;</FIRECMD>
<FIRECMD>&REMOTE_PW;</FIRECMD>
<FIREWALL>
</CLIENT>
/*
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 of the SMP/E Commands, SA22-7771 for details of the
RECEIVE ORDER command.
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 9 lists
sources of new functions and places where you can find information for installing
the new functions.
Table 9. Sources for functions and their installation information
Product delivery vehicle Products and service you get Installation materials you can use
CBPDO Products and service (not integrated) Sample jobs to receive products and
on a single logical tape service
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.
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.
input and retries the utility separately for each member. For information
about this retry processing, see “Recovering after errors from utility
processing” on page 69.
5. Allocate any new libraries required. Determine where they are to be allocated
and then allocate them. Remember that the program directory ordinarily shows
how much space will be used—not how much space to allocate for the
libraries. Libraries should be allocated with more space than required to allow
for later modifications. Usually, twice the required space is recommended to
allow for the replacement of every element in the library without running out
of space.
Remember to add the appropriate DDDEF entries to the target zones and DLIB
zones into which you will be installing this function.
6. Check the SMP/E data sets to make sure they have enough space. If
necessary, compress or expand the partitioned data sets. A data set that is easily
overlooked in this process is the SMPSTS, which fills very rapidly when you
are receiving source updates (JES2 and JES3, for example). Reorganize or
expand (if necessary) the CSI data set (using access method services EXPORT
and IMPORT).
7. Create a backup for the volumes affected. This is a very 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
enough time is available to allow these jobs to run to completion.
The program directory or installation guide may contain information to help
you estimate the time required.
The first step in installing the new function is the RECEIVE process, which reads
in the SYSMODs so they can be installed later:
v If you have access to the SMP/E dialogs, you can use the RECEIVE dialog to
receive the function and any related service and HOLDDATA.
v You can use the RIMLIB job included on the CBPDO tape to receive the
function, service, and HOLDDATA shipped on the CBPDO. For more
information, see z/OS and z/OS.e Planning for Installation and the documentation
that was included with the CBPDO.
During RECEIVE processing, the contents of the RELFILEs are placed into the
SMPTLIBs, which are used as temporary storage. SMPTLIBs that are uncataloged
are automatically cataloged by SMP/E. When the RELFILEs are on DASD, SMP/E
checks to ensure that the RELFILE and SMPTLIB names are not the same. If they
are, RECEIVE processing stops.
Note: Do not delete the SMPTLIBs after the RECEIVE step; they must be retained
until after the function is applied and accepted.
When installing a new function, you are concerned with three groups of
SYSMODs:
v The function itself
v All PTFs applicable to the function
v All PTFs applicable to other functions that are specified as requisites of the
function or service applicable to the function
You may be able to apply all the required SYSMODs with one APPLY command.
This method has several advantages:
v It eliminates the need to run the APPLY command several times in order to
install the complete set of SYSMODs required.
v You replace elements in the target libraries less often; therefore, there is less risk
of running out of space.
v Because the SMP/E overhead and the number of invocations of the system
utilities are reduced, overall processing time is decreased.
When you are updating the target libraries, there are actually three distinct SMP/E
jobs to be run:
v 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 under “Processing HOLDDATA from PSP files” on page 143. The other
two steps are covered in more detail in the following sections.
v 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.
v Apply the SYSMOD updates. This installs the new function and service into the
target libraries.
Use the SMP/E dialogs or the following sample job to do an APPLY CHECK for
the function and related SYSMODs:
//APPLY JOB ’accounting info’,MSGLEVEL=(1,1)
//APPLYCHK EXEC SMPPROC
//SMPCNTL DD *
SET BDY(ZOSTGT1) /* Set to target zone. */.
APPLY FORFMID(HXX1200) /* Apply for this FMID */
FUNCTIONS /* the function itself */
PTFS /* and all its PTFs. */
GROUPEXTEND /* Also all requisite PTFS. */
CHECK /* But do not update libs. */
BYPASS(HOLDSYSTEM /* Bypass options */
HOLDCLASS(UCLREL,ERREL)
)
.
/*
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
Getting additional SYSMODs: After doing the research step, you may decide
that additional SYSMODs are needed. If so:
1. Obtain the additional SYSMODs by using CBPDO, ESO, IBMLINK, or the IBM
Support Center.
2. Receive the additional SYSMODs, using the same source ID value as used
when processing the CBPDO tape.
3. Rerun the APPLY CHECK job.
Repeat this process until no new errors are reported.
Note: If a product deletes another product, you cannot use the RESTORE
command to back off the applied product and bring back the deleted one.
Use the SMP/E dialogs or the following sample job to apply the function and any
related SYSMODs:
//APPLY JOB ’accounting info’,MSGLEVEL=(1,1)
//APPLY EXEC SMPPROC
//SMPCNTL DD *
SET BDY(ZOSTGT1) /* Set to target zone. */.
APPLY FORFMID(HXX1200) /* Apply for this FMID */
FUNCTIONS /* the function itself */
PTFS /* and all its PTFs. */
GROUPEXTEND /* Also all requisite PTFs. */
/* No check this time. */
BYPASS(HOLDCLASS(UCLREL,ERREL)/*Bypass options.*/
HOLDSYS(reason-id,...) .
/*
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 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 are doing the installation on a clone of your original system, you
already have a backup—your original system.
2. Do some testing before putting the new function into production. This testing
should include some of the following:
v If the product has supplied installation verification procedures (IVPs), they
should be run.
v If your installation has a test job stream, the tests should be run.
v If the new function could at all affect your ability to IPL the system, try an
IPL at this time.
Only after verifying the new function on a noncritical test system should you put
it into production. You should not consider the test phase completed until you
have run the new function in production mode for some period (as determined by
your installation requirements). Only then, if no errors are found, are you ready to
go to the next step, updating your distribution libraries.
When you are ready to update your distribution libraries, you have the same set of
considerations and SMP/E support as described under “Updating the target
libraries: The APPLY process” on page 104, and the same three-phase operation:
1. Receive additional data. Before starting the ACCEPT process, you should
obtain any additional HOLDDATA for the function you are installing by using
CBPDO, ESO, IBMLINK, or the IBM Support Center. See “Processing
HOLDDATA from PSP files” on page 143 for additional information.
Note: If there is a significant time between the APPLY process and ACCEPT
process, additional problems may have been reported for which
++HOLD statements have been created. If this new data is not obtained,
SMP/E may install PE PTFs into the distribution libraries.
2. Run the ACCEPT CHECK job. This is a nonupdating mode of ACCEPT. Its
purpose is to help resolve any problems that may prevent the ACCEPT from
completing processing successfully.
3. Accept the SYSMOD update. This installs the new function and service into
the distribution library.
Use the SMP/E dialogs or the following sample job to do an ACCEPT CHECK for
the function and related SYSMODs:
//ACCEPT JOB ’accounting info’,MSGLEVEL=(1,1)
//ACCEPTCK EXEC SMPPROC
//SMPCNTL DD *
SET BDY(DLIB1) /* Set to DLIB zone. */.
ACCEPT FORFMID(HXX1200) /* Accept for this FMID */
FUNCTIONS /* the function itself */
PTFS /* and all its PTFs. */
GROUPEXTEND /* Also all requisite PTFs. */
CHECK /* But do not update libs. */
BYPASS(HOLDSYSTEM /* Bypass options */
HOLDCLASS(UCLREL,ERREL)
)
.
/*
Researching the ACCEPT CHECK reports: The ACCEPT CHECK reports should
be researched in the same manner as the APPLY CHECK reports (see “Researching
the APPLY CHECK reports” on page 105).
Note: 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.
Conditional requisites may be for functions that are installed in different zones. If
you have set up automatic cross-zone requisite checking, as described in
“Specifying automatic cross-zone requisite checking” on page 78, SMP/E will
enforce cross-zone requisites during APPLY or ACCEPT processing. Otherwise, you
must use the SMP/E REPORT CROSSZONE command after a function and the
related service has been installed to manually identify cross-zone requisites defined
in the installation logic. To help you install the identified requisites, REPORT
CROSSZONE can also write APPLY and ACCEPT commands to the SMPPUNCH
data set. So, if you have not specified automatic cross-zone requisite checking, and
the function you have installed (or any related service) specifies conditional
requisites, you should run the REPORT CROSSZONE command against the target
and DLIB zones containing that product, as well as against the zones containing
the functions identified on the ++IF statements. For more information about the
REPORT CROSSZONE command, see Chapter 13, “Identifying cross-zone
requisites: The REPORT CROSSZONE command,” on page 159.
Introduction
You install preventive service through the use of the SMP/E preventive service
process. The process uses:
v The preventive service SYSMODS received as either a CBPDO tape, an expanded
service options (ESO) tape, or a package downloaded from the IBM Server as a
result of a RECEIVE ORDER request.
v 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 0301,
followed by service level 0302, 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 tapes
CBPDO tapes can be ordered periodically, as you decide to update your system. A
CBPDO tape 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.
You have two options when ordering a CBPDO: you can get products plus service,
or service only. (If you are interested just in installing preventive service, order a
service-only CBPDO.) With both of these options, you automatically receive service
for products for which you are already licensed under a single customer number
for a single feature.
The amount of service you receive in your CBPDO depends on your selection of a
service level and whether this is your first CBPDO order.
v If you select a service level, you get all service from that level to the current
level.
v If you do not select a service level and this is your first CBPDO order, you get
all the service shown on the order checklist.
v If you do not select a service level and you have ordered a CBPDO before, you
get service following the service level that was shipped in your previous
CBPDO.
The CBPDO tape is a standard label (SL) tape, with files arranged as shown in
Table 10.
Table 10. Format of a CBPDO tape
File number Processed by SMP/E Contents
1 No Documents
2 No Installation RIMs
3 Yes HOLDDATA for exception SYSMODs
4 No Program directories and PSP information
5 Yes SMPMCS file (MCS statements for
SYSMODs on the tape), PTFs, and cover
letters
6–n Yes RELFILEs for products on the tape
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 11
on page 110.
Table 11. Format of an ESO
Processed by
File number SMP/E Contents
1 Yes ++ASSIGN statements
The package also contains the last 2-years of Enhanced HOLDDATA for the entire
z/OS software platform.
The preventive service phases are the same as those defined in Chapter 7,
“Installing corrective service,” on page 123, although the steps within each phase
differ. These phases are the basic SMP/E operations to install any SYSMOD.
The steps defined are the normal steps for the installation of most PTFs. Any PTF
that requires special processing will contain instructions for installing it.
Generally, you should first attempt to install all the normal PTFs that you have
received and then to install those having special requirements. The intention is to
install the maximum number of preventive fixes on your system as soon as
possible.
Note: You should let SMP/E manage PE PTFs (PTFs discovered to be in error),
rather than researching and resolving them yourself.
The following sections describe, in detail, the steps necessary for each of the
preventive service phases.
Note: You can use either the SMP/E dialogs or JCL jobs to receive, apply, and
accept preventive service. The basic steps 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: If multiple ESO service tapes are being RECEIVED, the additional tape
volumes must be concatenated under the SMPPTFIN DD card. See File 2 of
an ESO tape for further information.
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.
v For ESO tapes, you should substitute a meaningful value for xxxxxxxx in each
command shown above. The value should be unique and easily tied to an ESO.
v For CBPDO tapes, the recommended format is PDOyyww, where yy is the year
and ww the week of the CBPDO tape.
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 143. 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.
//RECEIVE JOB ’accounting info’,MSGLEVEL=(1,1)
//RECESM EXEC SMPPROC
//SMPHOLD DD ...data describing your data set
//* ...must be RECFM=FB, LRECL=80
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
RECEIVE HOLDDATA /* Receive HOLDDATA. */.
/*
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 the SMP/E
Reference manual to review the syntax for the ++HOLD statements.
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 118.
When installing preventive service, you are concerned with two groups of PTFs:
v All PTFs from the CBPDO, ESO, or requested service package you are installing
v Any other PTFs that are required to install these PTFs
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 has been 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 112.
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 GROUP and GROUPEXTEND operands allow SMP/E to include any PTF that
may be required to install PTFs on the current service level (PUT0303 in the
example that follows). Some of the PTFs on previous tapes may not have been
installed, because they were in hold status (PE PTFs) at the time the ESO
containing the service level was installed. The current service level may contain
fixes for the APARs that caused the original PTFs to be held. These PTFs, because
they have module intersections with the PE PTF, must either be prerequisite to the
old PTFs or must supersede them so SMP/E can automatically include the old
PTFs when the fixing PTF is installed.
The following sample job shows how to do an APPLY CHECK for preventive
service:
//APPLY JOB ’accounting info’,MSGLEVEL=(1,1)
//APPLYCHK EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone. */.
APPLY SOURCEID(PUT0303) /* Apply this service level */
GROUPEXTEND /* and all requisite PTFs, */
CHECK /* but do not update libs. */
SELECT(sysmod-id,...) /* Select additional */
/* service if required. */
BYPASS(HOLDCLASS(ERREL,UCLREL)
HOLDSYSTEM) .
/*
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 0303:
//APPLY JOB ’accounting info’,MSGLEVEL=(1,1)
//APPLYCHK EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone. */.
APPLY SOURCEID(PUT0303 /* Apply this service level */
PUT0302 /* and back-level tapes */
PUT0301) /* back to some reasonable */
/* level. */
GROUPEXTEND /* And all requisite PTFs. */
CHECK /* But do not update libs. */
SELECT(sysmod-id,...) /* Select additional */
/* service if required. */
BYPASS(HOLDCLASS(ERREL,UCLREL)
HOLDSYSTEM) .
/*
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.
by contacting the IBM Support Center. Although you can get around these
conditions by using the BYPASS operand, you are advised not to do this because
the regressions have not been resolved.
v Some of the PTFs are not installed because of exception SYSMOD conditions
identified by the ++HOLD statements. You should ignore these PTFs until a
fixing PTF is delivered in a subsequent service level.
Note: Depending on your requirement to install such PTFs, you can use the
reason ID and the comments specified in the ++HOLD statement 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
This regression-handling procedure works under the assumption that you have
applied, but not yet accepted, a USERMOD. This means that the USERMOD has
applied service to the target libraries, but the service in your distribution library is
that which the SYSMOD should be applied against.
When USERMODs are applied on a system, it is up to you to ensure that they are
at the proper level.
At this time, you should modify the APPLY command to add a SELECT operand
specifying each of the PTFs obtained from the IBM Support Center. An alternative
is to assign all such PTFs the same source ID value as the service level, or to assign
them a unique value and then add that value to the SOURCEID operand.
Use the SMP/E dialogs or the following sample job to apply the preventive
service:
//APPLY JOB ’accounting info’,MSGLEVEL=(1,1)
//APPLY EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone. */.
APPLY SOURCEID(PUT0303) /* Apply this service level */
GROUPEXTEND /* and all requisite PTFs, */
SELECT(UZ00001 /* Plus two other PTFs. */
UZ00002 /* */
AZ12345 /* Plus two APAR fixes. */
AZ12346) /* */
See 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.
Only after verifying the service on a noncritical test system should you put that
service into production. The test phase should not be considered complete until
you have run the service in production mode for some period (as determined by
the requirements for your installation). If no errors are found, you are ready to
proceed to the next step: updating your distribution libraries.
When you are ready to update your distribution libraries, you have the same set of
considerations and SMP/E support as described under “Updating the target
libraries: The APPLY process” on page 113, and the same three-phase operation:
1. Receive additional HOLDDATA. Before starting the ACCEPT, you should
obtain any additional HOLDDATA for the service level you are installing. This
step is required if:
v You did not obtain the additional HOLDDATA from the IBM Support Center
during the staging phase.
v There has been a delay between the RECEIVE staging phase and the
ACCEPT DLIB update phase.
2.
Notes:
a. If there is a significant time between the APPLY and ACCEPT, additional
problems may have been reported for which ++HOLD statements have
been created. If this new data is not obtained, SMP/E may install PE PTFs
into the distribution libraries.
b. You may want to run the REPORT ERRSYSMODS command to see whether
any SYSMODs that are applied are now in error. For more information, see
Chapter 14, “Identifying installed SYSMODs affected by error holds: The
REPORT ERRSYSMODS command,” on page 163.
3. Run the ACCEPT CHECK job. The second job is a nonupdating mode of
ACCEPT, referred to as the ACCEPT CHECK run. Its purpose is to help resolve
any problems that prevent the ACCEPT itself from successfully completing
processing.
4. Run the ACCEPT update. The third job is the updating mode of ACCEPT, in
which the preventive service is installed into the distribution libraries.
Note: Special processing may be required during the ACCEPT process. PTFs
requiring this processing should be handled in the same manner as during
the APPLY process.
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 0303:
//ACCEPT JOB ’accounting info’,MSGLEVEL=(1,1)
//ACCEPTCK EXEC SMPPROC
//SMPCNTL DD *
SET BDY(DLIB1) /* Set to DLIB zone. */.
ACCEPT SOURCEID(PUT0303) /* Accept this service level*/
GROUPEXTEND( /* Include requisite PTFs */
NOAPARS /* Don’t include APARs or */
NOUSERMODS) /* USERMODs */
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.
If you obtain additional SYSMODs during the ACCEPT phase, you should process
these through the APPLY phase before accepting them.
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. SMP/E Messages, Codes, and Diagnosis provides helpful
information on 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:
v The function and service level of the module involved
v The service level of your system—that is, the specific SYSMODs that have been
installed
v Any USERMODs involved
v 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 z/OS Packaging Rules for rules for
constructing APAR SYSMODs and SMP/E Reference for details on MCS syntax. (To
get started, you might find Chapter 17, “Building a user modification,” on page
169 helpful.) The general format of all ++APAR fixes is:
++APAR(xxxxxxx) /* APAR identifier */.
++VER (srel) /* System identifier */
FMID(aaaaaaa) /* Functional area */
PRE ( /* PRE some SYSMODs. */
bbbbbbb /* PRE RMID of element */
ccccccc ccccccc /* and any UMIDs present. */
ccccccc ccccccc /* */
) /* */
SUP ( /* SUP some SYSMODs. */
ddddddd ddddddd /* Fixes incorporated into */
ddddddd ddddddd /* this fix */
) /* */.
++ZAP (modname) /* */
DISTLIB(eeeeeeee) /* DLIB name */.
... Some superzap cards here
or
++MACUPD (macname) /* */
DISTLIB(eeeeeeee) /* DLIB name */.
... Some IEBUPDTE cards here
or
++SRCUPD (srcname) /* */
DISTLIB(eeeeeeee) /* DLIB name */.
... Some IEBUPDTE cards here
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.
Thus, there is usually no need or time to prepare the system by backing up packs,
compressing libraries, and so on. If possible, it is a good idea to have a backup
system available in case a problem does occur.
) /* */
SYSMODS /* Only process SMPPTFIN -
do not look at SMPHOLD. */.
/*
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.
You can use the SMP/E dialogs or the following sample job:
//jobname JOB ...
//RECEIVE EXEC PGM=GIMSMP
//SMPCSI DD DSN=SMPE.GLOBAL.CSI,DISP=SHR
//SMPNTS DD PATH=’/u/smpe/smpnts/’,PATHDISP=KEEP
//SMPOUT DD SYSOUT=*
//SMPRPT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SMPCNTL DD *
SET BOUNDARY(GLOBAL).
RECEIVE SYSMODS HOLDDATA
ORDER( /* Place an order for service */
ORDERSERVER(ORDRSRVR)
CONTENT(
PTFS(UQ12345,UQ98765) /* Get these PTFs, and any.. */
) /* ..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>
/*
Note: An alternative url for the IBM Automated Delivery Request server is
https://eccgw02.rochester.ibm.com/services/projects/ecc/ws/.
The following are some of the considerations for accepting corrective service:
v If you do not accept the SYSMOD and you perform a system generation, all that
service is lost and must be reinstalled.
v If you must restore a SYSMOD, the work required increases with the number of
SYSMODs that have been applied but not accepted. All intersecting SYSMODs
must be restored, and then all but the desired SYSMOD must be reapplied. This
is especially true for source-modified products.
The following sections describe the steps you should use, assuming you have
decided to accept some corrective service.
Note: If you obtain additional SYSMODs, make sure you process them through the
APPLY and test phases before accepting them.
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.
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.
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
RECEIVE SELECT( /* Receive selected SYSMODs.*/
xxxxxxx /* Specify USERMOD number. */
) /* */
SYSMODS /* Only process SMPPTFIN -
do not look at SMPHOLD. */.
/*
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.
v Will any SYSMODs be regressed? If so, determine how to resolve the problems.
This information may be helpful to the next system programmer responsible for
installing and maintaining your USERMOD.
Note: You can use ++HOLD statements to prevent USERMODs from being
accepted. For each USERMOD that you want to keep from being accepted,
follow these steps after applying the USERMOD:
1. Create a ++HOLD statement with a user reason ID that you plan to use
only for USERMODs that are not supposed to be accepted. Here is an
example:
++HOLD(usermod) USER
REASON(NOUSERM)
COMMENT(do not accept this usermod).
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.
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:
v 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.
v SYSMODs that require special installation processing, such as a fix that must be
concurrently installed on all processors in a network.
v 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:
v Error. PTFs in error (PE PTFs).
v System. SYSMODs identified by IBM as requiring special processing or
notification.
v User. Any SYSMODs that you identify as requiring special processing.
++HOLD statements for system holds are usually built as part of the held PTF.
++RELEASE statements and ++HOLD statements for error or user holds must be
in SMPHOLD. ++HOLD and ++RELEASE statements provided by SMPHOLD
(external holds) identify the following:
v The SYSMOD ID of the exception SYSMOD (that is, the SYSMOD being held).
v The exception SYSMOD category.
v The FMID to which that ++HOLD applies.
v The reason the SYSMOD is being put into or was in exception status. This is a 1-
to 7-character alphanumeric string called the reason ID.
– For error-category exception SYSMODs, SMP/E expects the reason ID to be
the SYSMOD ID of the APAR reporting the problem.
– For system-category exception SYSMODs, SMP/E expects the reason ID to be
a short description of the action required.
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 SMP/E Commands contain a much
more detailed explanation of the material covered here.
Note: You must provide SMP/E with the most current HOLDDATA possible to get
the most benefit from this support.
You can specify one or both operands on the RECEIVE command. If neither
operand is specified, SMP/E attempts to receive the SYSMODs from SMPPTFIN,
and HOLDDATA from SMPHOLD.
When receiving the HOLDDATA, SMP/E also creates (or modifies) two entries:
1. A HOLDDATA entry is created (or modified) in the global zone. This entry is
an exact copy of the ++HOLD statements as they appeared in SMPHOLD. The
name of the entry is the ID of the SYSMOD affected by this ++HOLD
statement. The HOLDDATA entry for a single SYSMOD can contain multiple
++HOLD statements.
For an error reason ID to be resolved, at least one of the following conditions must
be met:
v The reason ID must be superseded by another SYSMOD being installed.
v The reason ID must already exist as a SYSMOD entry in the target zone.
v You must specify BYPASS(HOLDERROR) on the APPLY command to show that
you are aware that an unresolved exception SYSMOD is being installed.
v If there is a HOLD CLASS associated with the reason ID, you can specify
BYPASS(HOLDCLASS) on APPLY to indicate that you are using an alternative
way to resolve the reason ID.
See the BYPASS operand in The APPLY Command in SMP/E Commands for
additional information.
Internal holds are considered resolved if any of the following conditions are met:
v The SYSMOD ID specified on the ++HOLD defining the exception is found as a
SYSMOD entry in the target zone
v The SYSMOD ID specified on the ++HOLD defining the exception is being
superseded by a SYSMOD being applied concurrently
You can resolve external system and user reason IDs by specifying
BYPASS(HOLDSYSTEM) or BYPASS(HOLDUSER) on the APPLY command. If
there is a HOLD CLASS associated with the reason ID, you can specify
BYPASS(HOLDCLASS) on APPLY to indicate that you are using an alternative way
to resolve the reason ID.
If you choose to resolve a reason ID by using the BYPASS operand, you must do
any required processing at the appropriate time. Otherwise, errors related to the
undone processing may occur, even though the reason ID was considered resolved.
Note: You may use the ++RELEASE statement for user category reason IDs if you
want to unconditionally release the SYSMOD for all systems. Remember
that, unlike BYPASS, ++RELEASE actually deletes the ++HOLD statement. If
you plan to use the user category ++HOLD statement, see the SMP/E
Reference manual for more information on the naming conventions for reason
IDs.
If all reason IDs are resolved, SMP/E allows the SYSMOD to be applied. If any
remain unresolved, SMP/E prevents the SYSMOD, and any other SYSMODs
dependent on this one, from being installed.
SMP/E leaves the reason IDs in the global zone SYSMOD entry when the
SYSMOD is applied, so if the SYSMOD is applied on another system later, the
same checking is done on that system. If the information had been deleted during
the first APPLY, SMP/E would not recognize the problem when the SYSMOD is
applied to subsequent systems. Therefore, the ++RELEASE statement should not
be used to install an exception SYSMOD with an unresolved reason ID. The
appropriate BYPASS operand should be used 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, very important that SMP/E have the most
current information on exception SYSMODs. For more information on 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 140.
Sources of HOLDDATA
Besides the data you create, these are the main sources of HOLDDATA provided
by IBM:
v CBPDO tapes
v Expanded service options (ESO) tapes
v Preventive service planning (PSP) information
v IBM service web pages
v Automated Service Delivery server as a result of a RECEIVE ORDER command
CBPDO tapes
One of the primary means of obtaining HOLDDATA is CBPDO tapes. IBM
custom-builds these tapes to provide the products and service you request, taking
into consideration whether this is your first CBPDO order.
v If you select a particular service level, you get HOLDDATA for all service from
that level to the current level.
v 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.
v 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 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.
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.
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 tape, 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 on how to use the PSP information, see
“Processing HOLDDATA from PSP files” on page 143 and “Example of processing
HOLDDATA” on page 144.
and timeliness of the HOLDDATA made available to it. To gain the full advantage
of this function, you must understand how SMP/E expects the three HOLDDATA
input sources to be used and the times during which SMP/E expects them to be
used.
The following steps summarize the process for managing exception SYSMOD data:
1. Receive all new products as you get them, or use UCLIN to add the FMIDs of
the new products to the global zone. This allows you to process exception
SYSMODs for them. Then receive any associated HOLDDATA shipped with the
product.
2. Receive HOLDDATA from subsequent CBPDO or ESO tapes in service level
order. Remember to do the following:
v Receive all new products as you get them so you can process exception
SYSMODs for them.
v Receive HOLDDATA as soon as you get your CBPDO or ESO tapes.
3. Before doing preventive service, do the following:
a. Get the PSP file associated with the last service level for which you
processed HOLDDATA, and receive this additional HOLDDATA for your
products.
b. Get the CORPE PSP file. This contains PE PTFs that are available
correctively, but are not yet available in a service level.
c. List and review HOLDDATA for SYSTEM HOLDs and, if possible, handle
the required special conditions. Then apply and accept these processed
SYSMODs by specifying BYPASS(HOLDSYS) and listing the individual
SYSMOD IDs on the SELECT operand. This helps makes sure all available
service is installed when you do preventive service.
Note: You can receive the SYSMODs and HOLDDATA separately or in the same
job.
One important part of this procedure is that the HOLDDATA on each CBPDO and
ESO 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.
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.
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.
When you are ready to install a CBPDO or ESO, you must do the following:
1. Make sure you have received the HOLDDATA from, at minimum, all the
CBPDOs and ESOs up to the service level of the tape you are installing. You
should receive the HOLDDATA from all the available tapes to reduce the
amount of data that you have to get from PSP.
2. Use IBMLINK or contact the IBM Support Center to get the latest CORPE PSP
file, as well as the PSP file associated with the latest service level for which
you have received HOLDDATA (not the PSP file for the service level that you
are installing).
3. Create a data set containing the ++HOLD statements obtained from IBMLINK
or the IBM Support Center.
4. Receive that data set using the SMP/E dialogs or the following sample job.
//RECHOLD JOB ’accounting info’,MSGLEVEL=(1,1)
//RECEIVE EXEC SMPPROC
//SMPHOLD DD ...data describing your data set
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
RECEIVE HOLDDATA /* Receive only exception
SYSMOD data. */.
/*
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 0301. The amount of
processing you have to do before installing 0301 service level PTFs depends on
what you did with PTFs in 0302 and 0303 service levels.
v If you have received the HOLDDATA for service levels 0301, 0302, and 0303,
you have to process only the one ++HOLD statement for PTF UR00001 from
the PSP file for service level 0303.
v If you have received only the HOLDDATA for service level 0302, you have to
process the two ++HOLD statements for PTFs UR00001 and UR00005 from
the PSP file for service level 0302.
v If you decided not to process any data for particular service levels until you
are actually ready to install them (that is, if you did nothing with service
level 0302 or 0303), you have to process the four ++HOLD statements for
PTFs UR00001, UR00002, UR00003, and UR00005 from the PSP file for service
level 0301.
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.
In this example, GDDM module ADMABCD needs to be linked into CICS load
module DFHWXYZ. Module ADMABCD is installed in a target library as a
single-CSECT load module when GDDM is installed. 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:
SET BDY(CICTZN) /* Target zone for CICS. */.
LINK MODULE(ADMABCD) /* Link module ADMABCD */
FROMZONE(GDDTZN) /* residing in zone GDDTZN */
INTOLMOD(DFHWXYZ) /* into load module DFHWXYZ. */.
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:
v 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:
SET BDY(CICTZN) /* Target zone for CICS. */.
UCLIN.
ADD TZONE(CICTZN) /* Update TZONE entry */
XZLINK(AUTOMATIC). /* to do automatic links. */.
ENDUCL.
v 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.
v 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 on the LINK MODULE command and cross-zone updating
during APPLY and RESTORE processing, see the LINK MODULE chapter in
SMP/E Commands.
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:
v You need to know the functional and service level of the module with the error.
v You may also want to know when that module was last changed: a recent
change may have caused the problem.
v 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?
v 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, see The LIST
Command in SMP/E Commands.
Therefore, it is advisable to list all the data for each of your systems and save the
hardcopy listing. The data can be listed by individual zone. The following is an
example of a job for listing all the entries in zone TGT01.
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT01) /* Set to desired zone. */.
LIST /* List all entries */
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:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
LIST /* List all 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.”
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:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
LIST /* List all entries */
ALLZONES /* for all zones. */.
/*
Notes:
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:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
LIST SYSMOD /* List the SYSMOD entries */
ALLZONES /* for all zones. */.
/*
SMP/E supports various operands on the LIST command that you can use to list
all the entries for one or more entry types. The following job shows how to use the
DDDEF, OPTIONS, UTILITY, and ORDER operands on the LIST command to do
this:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone */.
LIST DDDEF /* List all DDDEF entries. */
/* */.
SET BDY(DLIB1) /* Set to DLIB zone */.
LIST DDDEF /* List all DDDEF entries. */
/* */.
SET BDY(GLOBAL) /* Set to global zone. */.
LIST OPTIONS /* List all options */
UTILITY /* and utility entries. */
ORDER(ORD000034,ORD000035) /* List details for orders */
/* ORD000034 and ORD000035 */
.
/*
For a complete list of all the operands corresponding to the various entry types,
see The LIST Command in 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 2 on page 59 and Table 3
on page 60.
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:
v The function SYSMODs installed on TGT1
v Those PTFs that have been applied to TGT1 but not yet accepted to DLIB1
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone. */.
LIST SYSMOD /* List the SYSMOD entries */
FUNCTIONS /* for function SYSMODs. */
/* */.
LIST SYSMOD /* List the SYSMOD entries */
PTFS /* for PTF type SYSMODs */
NOACCEPT(DLIB1) /* not yet accepted. */
/* */.
/*
Chapter 11. Displaying the data managed by SMP/E: The LIST command 151
LIST command
If you have a complete, current listing of all the entries in your system, you can
get this information from that listing. You can also get it through the SMP/E
dialogs while you are talking to the IBM Support Center.
SMP/E also provides additional LIST functions that you can use to display only
specified entries. This is done by allowing you to specify a list of entry names (in
parentheses) after each of the entry-type operands. For example, assume that you
need to know the function and service level for modules GIMMPDRV and
GIMMPIO and if SYSMOD UR12345 has been installed. The following job can be
used:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone. */.
LIST MOD(GIMMPDRV /* List these two modules */
GIMMPIO) /* */
SYSMOD(UR12345) /* and this SYSMOD. */
/* */.
/*
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).
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:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
LIST MCS( /* List cover letters */
UR00001 /* for these three PTFs. */
UR00002
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.
Note: You can also use the REPORT SYSMODS command to compare the
SYSMOD content of two zones. Besides telling you which SYSMODs are
installed in one zone but not in a second, REPORT SYSMODS also indicates
which of the uninstalled SYSMODs are applicable to the second zone and
generates commands you can run to install the SYSMODs in the second
zone. For more information, see Chapter 16, “Comparing the SYSMODs
installed in two zones: The REPORT SYSMODS command,” on page 167.
One possibility might be that you have two products at different service levels. The
product at the lower service level works, and the product at the higher service
level does not work. You might use LIST to compare the zones for the two systems
and to determine what is causing the problem.
This example compares two target zones, TGT1 and TGT2. The commands in the
following example perform the comparison for you:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(TGT1) /* Set to target zone TGT1. */.
LIST SYSMODS /* List the SYSMODs */
/* 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:
Chapter 11. Displaying the data managed by SMP/E: The LIST command 153
LIST command
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:
//LIST JOB ’accounting info’,MSGLEVEL=(1,1)
//LIST EXEC SMPPROC
//SMPCNTL DD *
SET BDY(DLIB1) /* Set to DLIB1. */.
LIST SYSMOD /* List SYSMODs */
FORFMID (PVT1102) /* for PVT1102 */
NOACCEPT (DLIB2) /* in DLIB1, not DLIB2. */.
SET BDY(DLIB2) /* Set to DLIB2. */.
LIST SYSMOD /* List SYSMODs */
FORFMID (PVT1102) /* for PVT1102 */
NOACCEPT (DLIB1) /* in DLIB2, not DLIB1. */.
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:
v Compare two target zones using the NOAPPLY operand.
v Compare two distribution zones using the NOACCEPT operand in place of the
NOAPPLY operand.
v 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.
Introduction
The SMPCSI and associated data sets contain basically two types of information:
v 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
v 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.
For example, you can use UCLIN to delete a UTILITY entry in the global zone
without SMP/E detecting any error condition. However, if there is an OPTIONS
entry within the global zone that refers to the deleted UTILITY entry, an error
occurs when you attempt to use that OPTIONS entry. This is a very simple
example of inconsistent data across entries that does not result in a serious error.
UCLIN modifications to other entries, such as element, LMOD, or SYSMOD, may
not be detected as error conditions during processing, but may cause incorrect
processing, such as failing to link a module, updating the wrong library, or
installing a SYSMOD that should not be installed.
to UCLIN.
Table 13. Alternatives to UCLIN
To do this without UCLIN: Look here for more information:
Change a common subentry in several The ZONEEDIT Command in SMP/E
DDDEF or UTILITY entries in the same zone Commands
Update the cross-zone subentries of the The ZONEEDIT Command in SMP/E
MOD, LMOD, and TARGETZONE entry Commands
Add, rename, or delete a zone SMP/E Commands: Chapters on the following
commands:
v Adding a zone: To add a zone, you can
use the following commands, depending
on the particular situation:
ZONECOPY and ZONERENAME
ZONEEXPORT, UCLIN for the
ZONEINDEX, and ZONEIMPORT
v Renaming a zone: To rename a zone, you
must use the following command:
ZONERENAME
v Deleting a zone: To delete a zone, you
can use the following commands,
depending on the particular situation:
ZONEDELETE or ZONEEXPORT
Change the structure of your system z/OS Packaging Rules: Section on how to
avoid UCLIN by using the appropriate
(For example, to add, delete, move, or MCSs and operands
rename elements or their aliases)
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.
Some UCLIN functions will not work for certain entries or data sets. The chapters
on the UCLIN command in SMP/E Commands and SMP/E data-set entries in
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 the SMP/E Commands manual.
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:
v Single operands, such as RENT or REUS or COPY
v Single value subentries, such as DISTLIB(AOS12), where only one value can
be placed within the parentheses
v 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 12. Changing the data SMP/E manages: The UCLIN command 157
UCLIN 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 78, 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. Define a set of zones to be checked for conditional requisites. This is done with
the ZONESET entry in the global zone.
Note: If you just want to check service levels for products, you should use the
REPORT SYSMODS command or the LIST command. See Chapter 16,
“Comparing the SYSMODs installed in two zones: The REPORT SYSMODS
command,” on page 167 and “Listing to compare two zones” on page 153
for more information.
Defining a ZONESET
To tell SMP/E which zones it should check for missing requisites, you must define
a global zone ZONESET entry. You may have one or more ZONESETs to describe
groups of products that might have dependencies on each other.
For example, assume you have a system that supports two products, ABC and
AYZ, that have dependencies on one another. You might have one zone, BASEABC,
for the base ABC function, and another zone, PRODABC, for a dependent function.
Likewise, you might have a zone BASEXYZ for the base XYZ function, and
another zone, PRODXYZ, for a dependent function. The dependent functions are
different versions of the same product, and they must be synchronized with each
other and with their base functions. You can set up two ZONESETs to help keep
these products at the same service level.
These are the commands you can use to define the ZONESETs:
//UCL JOB ’accounting info’,MSGLEVEL=(1,1)
//UCL EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
UCLIN /* */.
ADD ZONESET(ZONEA) /* Create ZONESET ZONEA. */
ZONE(BASEABC, /* Include these zones. */
PRODABC, /* */
PRODXYZ) /* */
.
ADD ZONESET(ZONEX) /* Create ZONESET ZONEX. */
ZONE(BASEXYZ, /* Include these zones. */
PRODXYZ, /* */
PRODABC) /* */
.
ENDUCL /* */.
/*
For more information on defining the ZONESET entry, see SMP/E Reference.
If all the zones in a ZONESET are of the same type, SMP/E determines the type of
report to be generated. For example, a ZONESET containing only target zones
results in a Cross-Zone Requisite SYSMOD report for APPLY processing. On the
other hand, your ZONESET can be mixed; that is, it may contain both target and
distribution zones. 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:
v FORZONE: to list only SYSMODs needed in specific zones in the ZONESET
v FORFMID: to list only SYSMODs needed for specific FMIDs in the ZONESET
zones
v DLIBZONE or TARGETZONE: to tell SMP/E which zones you want a report
on (if the zones contained in the zone set specified by ZONESET are mixed)
For more information on the REPORT CROSSZONE command, see the SMP/E
Reference manual.
To continue the example for this chapter, assume 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:
//REPORT JOB ’accounting info’,MSGLEVEL=(1,1)
//REPORT EXEC SMPPROC
//SMPCNTL DD *
SET BDY(GLOBAL) /* Set to global zone. */.
REPORT CROSSZONE /* Report on */
ZONESET(ZONEA) /* ZONESET ZONEA. */.
/*
For the example in this chapter, follow these steps for ZONESET ZONEA and
ZONESET ZONEX, 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 both ZONESETs.
Chapter 13. Identifying cross-zone requisites: The REPORT CROSSZONE command 161
162 SMP/E V3R4.0 User’s Guide
Chapter 14. Identifying installed SYSMODs affected by error
holds: The REPORT ERRSYSMODS command
This chapter contains information about using the REPORT ERRSYSMODS
command to check for installed SYSMODs affected by error holds that were
subsequently received. It discusses these topics:
v How to run the REPORT ERRSYSMODS command
v 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 subsequently 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.
Here is an example of when you might want to use the REPORT ERRSYSMODS
command. Assume that you have just received some HOLDDATA, and you need
to know whether it affects any of the SYSMODs you have already accepted into
distribution zone DZONE1. You can use the following commands:
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.
Here is an example of when you might want to use the REPORT SOURCEID
command. Assume you want to find out which source IDs are associated with
SYSMODs in target zone TGT1, and you want to know which SYSMODs each
source ID is assigned to. You can use the following commands:
SET BDY(GLOBAL).
REPORT SOURCEID
ZONES(TGT1)
SYSMODIDS.
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.
Here is an example of when you might want to use the REPORT SYSMODS
command. Assume you have two z/OS systems. The target zones that control
these systems are TGZONE1 and TGZONE2, and they are serviced from the same
global zone. You want to determine which SYSMODs are installed in TGZONE1
and are not installed in, but are applicable to, TGZONE2. You can use the
following commands:
SET BDY(GLOBAL) /* process global zone */.
REPORT SYSMODS /* report on SYSMODs */
INZONE(TGZONE1) /* input zone TGZONE1 */
COMPAREDTO(TGZONE2) /* comparison zone TGZONE2 */.
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.
Although you might be able to make these changes without SMP/E, there are
advantages to creating them either as USERMODs or as function SYSMODs so that
SMP/E can install them.
Before creating your changes, you must decide whether to build a USERMOD type
SYSMOD or a function SYSMOD. Table 14 lists considerations that will help you
make this decision.
Table 14. Comparison of USERMODs and function SYSMODs
USERMOD Function SYSMOD
Provides changes for elements owned by an Provides new elements or new element
existing function. versions for a new function.
The following text describes how you can define these relationships.
The data following the ++MOD statement is an object deck. The general format of
the ++MOD statement is:
++MOD(modname) /* Distribution name */
DISTLIB(dlibname) /* DLIB ddname */
...
... Object deck for module
...
The data following the ++ZAP statement is a set of superzap control statements.
The general format of the ++ZAP statement is:
++ZAP(modname) /* Distribution name */
DISTLIB(dlibname) /* DLIB ddname */.
...
... Superzap control statement
...
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 ++MAC statement is the macro replacement. The general
format of the ++MAC statement is:
++MAC(macname) /* Macro name */
DISTLIB(dlibname) /* DLIB ddname */.
...
... Macro replacement
...
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 SMP/E Reference.
The data element MCS is immediately followed by the data element itself. The
general format of the data element MCS is:
Examples of USERMODs
This section contains examples of USERMODs that:
v Update a module
v Replace a module
v Add new modules
v Replace a macro or source code
v Update a macro or source code
v Add new source code
v Add source code that uses an IBM-supplied macro
v Add a module that uses an IBM-supplied macro
Notes:
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.
Notes:
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.
Notes:
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:
v 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.
v 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.
Notes:
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:
v The ASSEM operand is not used for source code.
v Because the SYSMOD adding the source code defined how the module
should be installed, there is no need to repeat that information on a ++JCLIN
statement in the USERMOD.
2 Name of object module produced by v JCLIN data, M= value on COPY SELECT statement:
assembly: COPY SELECT M=(IFBSRC01)
IFBSRC01 (same as source code
element)
5 Target library for load module: v JCLIN data, OUTDD value on COPY statement:
COPY INDD=inddval,OUTDD=LPALIB TYPE=MOD
SYS1.LPALIB
v DD statement in JCLIN data and in SMP/E job for APPLY
processing:
LPALIB DD DSN=SYS1.LPALIB
6 Distribution library for source code: v DISTLIB value on ++SRC MCS:
++SRC(IFBSRC01) DISTLIB(AIFBSRC)
SYS1.AIFBSRC
v JCLIN data, INDD value on COPY statement:
COPY INDD=AIFBSRC,OUTDD=IFBSRC TYPE=SRC
v DD statement or DDDEF entry for ACCEPT processing:
AIFBSRC DD DSN=SYS1.AIFBSRC
8 How to install the source code: v ++SRC MCS automatically notifies SMP/E to assemble the module.
v JCLIN data, COPY steps:
Assemble, then copy
//JOB1 JOB ...
//STEP1 EXEC PGM=IEBCOPY
//AIFBSRC DD DSN=SYS1.AIFBSRC,...
//IFBSRC DD DSN=SYS1.IFBSRC,...
//AOS23 DD DSN=SYS1.AOS23,...
//LPALIB DD DSN=SYS1.LPALIB,...
//SYSIN DD *
COPY INDD=AIFBSRC,OUTDD=IFBSRC TYPE=SRC
SELECT M=(IFBSRC01)
COPY INDD=AOS23,OUTDD=LPALIB TYPE=MOD
SELECT M=(IFBSRC01)
/*
v The OPTIONS and UTILITY entries in effect for the APPLY or
ACCEPT command being processed specify the names of the
assembler and copy utilities to use and parameters to be passed to
them.
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 15 on page 177.
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.
++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.
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:
v Held SYSMODs
v Missing requisite SYSMODs
v Utility program failures: copy, update, assembler, link, zap
v Out-of-space conditions: x37 ABENDs
v Missing DD statements and other allocation errors
v ID errors (a SYSMOD does not supersede or specify as a prerequisite an RMID
or a UMID of an element)
v JCLIN errors (syntax errors)
The results of SMP/E’s root cause analysis are presented in two reports:
v 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.
v 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.
Page nnnn - NOW SET TO TARGET ZONE nnnnnnn DATE mm/dd/yy TIME hh:mm:ss SMP/E 34.nn SMPRPT OUTPUT
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 185.
Page nnnn - NOW SET TO TARGET ZONE nnnnnnnn DATE mm/dd/yy TIME hh:mm:ss SMP/E 34.nn SMPRPT OUTPUT
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.
Chapter 18. Determining which SYSMODs led others to fail: The causer SYSMOD summary report 185
186 SMP/E V3R4.0 User’s Guide
Chapter 19. Java archive update exploiter’s guide
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.
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:
++JAR(ABCTTT) DISTLIB(AABCBIN) SYSLIB(SABCBIN) RELFILE(2)
PARM(PATHMODE(0,6,4,4))
LINK(’../TicTacToe.jar’)
SYMLINK(’../../../../../usr/lib/TicTacToe.jar’)
SYMPATH(’../../usr/lpp/abc/bin/TicTacToe.jar’).
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 directory structure above 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 *
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 *
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.
You create the JAR file for the applet using the jar command as discussed earlier
and then package it as a ++JAR element in a PTF, as in the following example:
++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.
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.
v z/OS and z/OS.e 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.
v 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.
v 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.
v “SMP/E V3R4 overview” on page 193
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.
v “Summary of interface changes” on page 213
This section provides a summary of the changes that are made to z/OS user and
programming interfaces.
Using the RECEIVE command with the new ORDER operand, you can request a
new HOLDDATA or PTF order based on the content criteria you specify. SMP/E
waits for the server to fulfill the order request. The order request is fulfilled by
building a package of PTFs and/or HOLDDATA that meets your content criteria.
When the resultant package is ready, SMP/E downloads the package to the local
z/OS host and performs traditional RECEIVE command operations on the contents
of the package.
In addition to submitting new orders, the RECEIVE ORDER command can also be
used to download orders that are in a pending state. If a requested PTF service
order cannot be fulfilled within the allowed time, the RECEIVE command
processing stops and SMP/E considers the order to be in the pending state. The
server continues fulfilling the order, however. You can use the RECEIVE ORDER
command to check on the status of the service package, and retrieve the package
when it is ready to be downloaded.
Coexistence considerations
RECEIVE ORDER processing requires a new ORDERSERVER data set and new
operands on the RECEIVE command. SMP/E releases prior to SMP/E V3R4 cannot
process the new ORDERSERVER data set and do not recognize the new RECEIVE
command operands.
Coexistence considerations
SMP/E releases prior to SMP/E V3R4 cannot process the new ORDER entry or the
new ORDERRET subentry of the OPTIONS entry. A toleration PTF provides:
v LIST, GZONEMERGE, GIMAPI and Query Dialog support for the ORDERRET
subentry and causes SMP/E to ignore the subentry in all other instances.
v 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 will be ignored in all
other instances.
Although ICSF is the preferred method, SMP/E no longer requires it for use by the
GIMZIP and GIMUNZIP service routines, nor for the RECEIVE FROMNETWORK
or RECEIVE FROMNTS command. If SMP/E detects that ICSF is not available,
SMP/E automatically uses an SMP/E Java application class to calculate SHA-1
hash values as an alternative. See “Options that affect Java” on page 94for the
details of the required setup to allow SMP/E to use the Java application class.
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.
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.
Also, you can now use the SMPWKDIR DD statement to specify a location for
temporary files produced during GIMZIP processing.
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.
For information about the JAR command and JAR files, refer to the “Java
Developer Connection, Using JAR Files: The Basics”, at http://
developer.java.sun.com/developer/Books/JAR/basics/index.html
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:
v CLEANUP command is run against the zone
v GENERATE command is run against the zone
v APPLY or RESTORE command is run and the base version of the load module is
deleted from the SMPLTS
The toleration PTF also prohibits the RESTORE or LINK MODULE command from
being run against a target zone that has been marked.
In each case, the SIDE DECK LIBRARY subentry of the LMOD entry will be set to
SMPDUMMY. When needed for processing, SMPDUMMY will be dynamically
allocated by SMP/E as a DUMMY data set.
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.
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, SA22-7683 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, refer to 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.
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,
refer to the chapter on Library Change File Records in 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 of SMP/E Reference.
For more information about this change, refer to the section on ″Conditional JCLIN
Comment Statements″ in SMP/E Commands, SA22-7771.
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.
SMP/E also provides the GIMZIP and GIMUNZIP service routines to construct,
and then later unwrap, network transportable packages of software. This allows
you to create your own packages of SMP/E installable software, and then
distribute them within your own enterprise, or to other enterprises. Specifically, the
GIMZIP service routine will accept partitioned or sequential data sets as input and
will create a network transportable package as output. For more information on
the GIMZIP and GIMUNZIP service routines, see SMP/E Reference, SA22-7772.
Once a package is made accessible on an FTP server, you can use the SMP/E
RECEIVE command to transfer the package through a TCP/IP network directly
into an SMP/E environment. The RECEIVE command has been extended with new
DELETEPKG, FROMNETWORK, and FROMNTS operands to process these
New CLIENT and SERVER data sets and SMPDIR and SMPNTS directories have
been created to support this new processing. For more information on CLIENT,
SERVER, SMPDIR, and SMPNTS, see SMP/E Reference, SA22-7772.
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.
The AMODE option assigns the addressing mode for all of the entry points into a
program module (the main entry point, its true aliases, and all of the alternate
entry points). AMODE=64 instructs the binder to create AMODE 31/64 executables
with 8-byte adcons.
For more information about this change, refer to the description of each of these
data sets in SMP/E Reference.
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
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 wishing to install a CBIPO on an
OS/390 system may 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
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 prior to 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
v Compacted SMPPTS data created by OS/390 V2R5 (or later) SMP/E cannot be
used by releases prior to OS/390 V2R5 SMP/E, unless the required PTF is
installed.
v OPTIONS entries that contain the COMPACT subentry cannot be used by
SMP/E releases prior to OS/390 V2R5 SMP/E, unless the required PTF is
installed.
Coexistence considerations
OPTIONS entries that contain the RECZGRP and RECEXZGRP subentries cannot
be used by SMP/E releases prior to OS/390 V2R5 SMP/E.
Coexistence considerations
OPTIONS entries that contain the MSGWIDTH and MSGFILTER subentries cannot
be used by SMP/E releases prior to 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.
A program called GIMAPI is used to invoke the API. The function can be called
from different languages. Examples are provided for C/370 and PL/I.
Optional parameters with these commands provide you the flexibility to:
v Override SMP/E’s default method for determining which zones are checked for
cross-zone requisites
v Install unsatisfied cross-zone requisites into the set-to zone
v Lessen the severity of a missing cross-zone requisite to a warning versus a
terminating error
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.
The REPORT ERRSYSMODS command has also been enhanced by this SPE to
handle held SYSMODs. Previously, a held, resolving SYSMOD was placed in the
SMPPUNCH output, but was commented out. The customer had to rerun REPORT
ERRSYSMODS command against the GLOBAL zone to determine if the held,
resolving SYSMOD had an available resolving SYSMOD. REPORT ERRSYSMODS
does this research for the customer and produces one SMPPUNCH output.
Coexistence considerations
v The REPORT ERRSYSMODS command in SMP/E releases prior to OS/390 V1R3
cannot display IBM z/OS Enhanced HOLDDATA as intended. OS/390 V1R3 and
V2R4 require the installation of the appropriate SPE.
v 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
SYSMODs that contain a ++HOLD MCS that specifies a SYSMOD ID that is
superseded on a preceding ++VER MCS cannot be processed by previous releases
of SMP/E during RECEIVE processing, unless the appropriate PTF is installed for
the prior release.
An example of when you might want to use the PATH subentry on the CHANGE
statement is to modify path names of DDDEFs during the z/OS UNIX service
process.
Coexistence considerations
Releases of SMP/E prior to OS/390 V1R3 SMP/E cannot:
v 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.
v Use target and distribution zones containing LMOD or MOD entries updated by
OS/390 V1R3 (or later) with FILL, HOBSET, RMODE=SPLIT, EXITS, ALIASES,
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.
Panels that allow the FIND command state that you can use the command. The
help panels for these dialog panels explain how to use the FIND command.
You may optionally provide an SMPPARM data set, which may contain your own
OPCODE member to override the defaults supplied with SMP/E. The
user-provided OPCODE member is a text member that you store in a
user-allocated PDS named SMPPARM. You are not required to allocate the
SMPPARM data set, unless you want to supply your own OPCODE member. If
you provide an OPCODE member, it is used instead of SMP/E’s default set.
SMP/E also provides a sample text member, named GIMOPCDE, that you can use
as a starting point for creating your own OPCODE member.
Commands
Table 16 on page 214 lists the changes to the SMP/E commands for this release.
See SMP/E Commands, SA22-7771 for more detailed information about these
commands.
Macros
Table 18 lists the changes to the SMP/E macros for this release.
Table 18. Summary of Changed Macros
Macro Release Description Related support
GIMDFUT SMP/E V3R2 Deleted “SMP/E dialog
customization” on page 201
GIMMPUXD SMP/E V3R1 Deleted “Defining exit routines
using SMPPARM member
GIMEXITS” on page 202
Messages
This section describes the new and changed SMP/E messages. To determine if
updates are required, compare the message identifiers and the corresponding
message text with any automated operation procedures your installation uses.
See SMP/E Messages, Codes, and Diagnosis, GA22-7770 for detailed information
about these SMP/E messages. For information about other z/OS message changes
that may affect your installation, refer to z/OS Summary of Message Changes.
Panels
Table 19 lists the new and changed SMP/E panels. Some panels may be updated
by more than one release enhancement.
Table 19. Summary of new and changed panels
Panel name Release Description Related support
GIM@PARM SMP/E V3R2 New “SMP/E dialog
customization” on page
201
GIM@PRIM SMP/E V3R2 Updated “SMP/E dialog
customization” on page
201
GIM@UPRM SMP/E V3R2 Deleted “SMP/E dialog
customization” on page
201
GIMQIT28 SMP/E V3R1 Updated “Enhanced link name
values” on page 202
GIMCGRDI SMP/E V3R1 Updated “Network delivery of
SMP/E input” on page
203
GIMCGRVE SMP/E V3R1 Updated “Network delivery of
SMP/E input” on page
203
Programming interfaces
Table 20 identifies changes to the SMP/E programming interfaces.
Table 20. Summary of SMP/E programming interfaces
Interface Release Description Related support
GIMMPDFT SMP/E V3R1 Deleted “Dynamic allocation using
SMPPARM member
GIMDDALC” on page 202
GIMMPUXD SMP/E V3R1 Deleted “Defining exit routines
using SMPPARM member
GIMEXITS” on page 202
GIMUTTBL SMP/E V3R2 Deleted “GIMUTTBL removal” on
page 201
GIMAPI SMP/E V3R1 Changed: length of the LINK and “Enhanced link name
LMODALIAS subentries values” on page 202
GIMAPI SMP/E V3R1 Changed: NUCID subentry deleted “Removal of function to
create backup IEANUC01
load modules” on page
203
Library Change File SMP/E V3R1 Changed: length of alias and link values in “Enhanced link name
Records A0 record values” on page 202
Link Edit Parameters SMP/E V3R1 Changed: additional values recognized for “AMODE=64 and
AMODE and COMPAT COMPAT=PM4 link edit
parameters” on page 204
Service routines
Table 21 identifies changes to the SMP/E service routines.
Table 21. Summary of SMP/E service routines
Interface Release Description Related support
GIMGTPKG SMP/E V3R3 New: service routine to get GIMZIP “Network delivery of
packages SMP/E input” on page
203
GIMXSID SMP/E V3R2 New: service routine for use with “GIMXSID service
ShopzSeries routine” on page 198
SMPPARM members
Table 22 identifies changes to the SMPPARM members.
Table 22. Summary of SMP/E changes to SYS1.SAMPLIB
Member name Release Description Related support
GIMEXITS SMP/E V3R1 New: Identifies exit routines “SMP/E dialog
customization” on page 201
SYS1.SAMPLIB members
Table 23 identifies changes to the SMP/E members of SYS1.SAMPLIB.
Table 23. Summary of SMP/E changes to SYS1.SAMPLIB
Member name Release Description Related support
GIMASAMP OS/390 V1R3 Contains sample GIMAPI assembler “API for user access to the
application program CSI” on page 209
GIMCRSAM OS/390 V1R3 Contains sample C/370 ″clean-up FMIDs″
program using GIMAPI
GIMCSAMP OS/390 V1R3 Contains sample GIMAPI C/390 application “API for user access to the
program CSI” on page 209
GIMDDALC SMP/E V3R1 Contains sample statements for data set “Dynamic allocation using
allocation SMPPARM member
GIMDDALC” on page 202
GIMEXITS SMP/E V3R1 Contains sample statements for defining exit “Defining exit routines
routines using SMPPARM member
GIMEXITS” on page 202
GIMOPCDE OS/390 V1R2 Contains sample ODCDE statements “SMP/E GIMOPCDE
member moved from
PARMLIB” on page 213
GIMPRSAM OS/390 V1R3 Contains sample PL/I ″clean-up FMIDs″
program using GIMAPI
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:
v z/OS and OS/390
v CICS Transaction Server for OS/390
v DB2 UDB for OS/390
v IMS
v MQSeries for OS/390
For information about the latest recommended level of service, see the CST and
RSU web site:
http://www.ibm.com/servers/eserver/zseries/zos/servicetst/
Note that while all CST-tested PTFs become RSU PTFs, not all RSU PTFs are tested
in CST. Only the following are included in CST testing: z/OS, z/OS.e, OS/390,
CICS, DB2, IMS, and MQSeries.
z/OS information
z/OS information is accessible using screen readers with the BookServer/Library
Server versions of z/OS books in the Internet library at:
www.ibm.com/servers/eserver/zseries/zos/bkserv/
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user’s responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you
any license to these patents. You can send license inquiries, in writing, to:
IBM Director of Licensing
IBM Corporation
North Castle Drive
Armonk, NY 10504-1785
USA
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
IBM World Trade Asia Corporation
Licensing
2-31 Roppongi 3-chome, Minato-ku
Tokyo 106, Japan
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.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites 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.
The licensed program described in this information 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.
If you are viewing this information softcopy, the photographs and color
illustrations may not appear.
Trademarks
The following terms are trademarks of the IBM Corporation in the United States,
other countries, or both:
BookManager
CICS
CA-ACF2
CA-Top Secret
DATABASE 2
DB2
DFSMS
DFSMS/MVS
DFSMSdfp
DFSMSdss
eTrust
IBM
IBMLink
IMS
OS/2
OS/390
RACF
RETAIN
SP
System/390
SystemPac
VTAM
z/OS
Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the
United States, other countries, or both.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Other company, product, and service names may be trademarks or service marks
of others.
Notices 227
228 SMP/E V3R4.0 User’s Guide
Glossary
This glossary defines technical terms and Synonym for. This indicates that the term has
abbreviations used in SMP/E documentation. If the same meaning as a preferred term, which
you do not find the term you are looking for, is defined in its proper place in the glossary.
refer to the index of the appropriate SMP/E Synonymous with. This is a backward
manual or view IBM Glossary of Computing Terms, reference from a defined term to all other
located at: http://www.ibm.com/networking/ terms that have the same meaning.
nsg/nsgmain.htm See. This refers you to multiple-word terms
that have the same last word.
Sequence of entries: For clarity and consistency See also. This refers the reader to related
of style, this glossary arranges the entries terms that have a related, but not
alphabetically on a letter-by-letter basis. In other synonymous, meaning.
words, only the letters of the alphabet are used to Deprecated term for or deprecated
determine sequence; special characters and spaces abbreviation for. This indicates that the term
between words are ignored. or abbreviation should not be used. It refers to
a preferred term, which is defined in its
Organization of entries: Each entry consists of a proper place in the glossary.
single-word or multiple-word term or the
abbreviation or acronym for a term, followed by a Selection of Terms: A term is a word or group of
commentary. A commentary includes one or more words to be defined. In this glossary, the singular
items (definitions or references) and is organized form of the noun and the infinitive form of the
as follows: verb are the terms most often selected to be
1. An item number, if the commentary contains defined. If the term may be abbreviated, the
two or more items. abbreviation is given in parentheses immediately
following the term. The abbreviation is also
2. A usage label, indicating the area of
defined in its proper place in the glossary.
application of the term, for example, “In
programming,” or “In SMP/E.” Absence of a
usage label implies that the term is generally A
applicable to SMP/E, to IBM, or to data
processing. ACCEPT. The SMP/E command used to install
SYSMODs in the distribution libraries.
3. A descriptive phrase, stating the basic
meaning of the term. The descriptive phrase is accept. In SMP/E, to install SYSMODs in the
assumed to be preceded by “the term is distribution libraries. This is done with the ACCEPT
defined as ...” The part of speech being command.
defined is indicated by the opening words of
accepted SYSMOD. A SYSMOD that has been
the descriptive phrase: “To ...” indicates a
successfully installed by the SMP/E ACCEPT
verb, and “Pertaining to ...” indicates a command. Accepted SYSMODs do not have the ERROR
modifier. Any other wording indicates a noun flag set and are found as SYSMOD entries in the
or noun phrase. distribution zone.
4. Annotative sentences, providing additional or
Access method services (AMS). The system utility
explanatory information.
program used to support VSAM data sets.
5. References, directing the reader to other
entries or items in the dictionary. AMS. Access method services.
applied SYSMOD. A SYSMOD that has been base level system. The level of the target system
successfully processed by the SMP/E APPLY command. modules, macros, source, and DLIBs created by system
Applied SYSMODs do not have the ERROR flag set generation, to which function and service modifications
and are found as SYSMOD entries in the target zone. are applicable.
APPLY. The SMP/E command used to install base version of a load module. Some load modules
SYSMODs in the target libraries. include modules both explicitly (through INCLUDE
statements) and implicitly (through a SYSLIB
apply. In SMP/E, to install SYSMODs in the target allocation). The base version of such a load module
libraries. This is done with the APPLY command. includes only the explicitly-defined modules for the
load module. It is maintained by SMP/E in the
archive. An archive is a network transportable file SMPLTS data set. The base version of a load module is
containing two files; a file attribute file (FAF) and the used with the SYSLIB allocation as input to the
data file that the FAF describes. link-edit utility in order to build the load module in its
target libraries.
ASSEM entry. An SMP/E entry containing assembler
statements that can be assembled to create an object binder. A program that processes the output of
module. language translators and compilers into an executable
program (load module). It is part of the DFSMS/MVS
authorized program analysis report (APAR). A report
element of z/OS.
of a problem caused by a suspected defect in a current
unaltered release of a program. The correction is called bypass. In SMP/E, to circumvent errors that would
an APAR fix. otherwise cause SYSMOD processing to fail. This is
done by using the BYPASS operand on an SMP/E
B command.
base function. A SYSMOD defining elements of the comment statements. Special control statements that
base system or other products that were not previously are coded as JCL comments and which are used to
present in the target libraries. Base functions are convey information to SMP/E during JCLIN
identified to SMP/E by the ++FUNCTION statement. processing.
SMP/E is an example of a base function.
conditional requisites. Requisites defined by an ++IF
statement. These are requisites that must be installed if
the functions specified on the ++IF statements are
installed.
conditionally coexisting functions. Functions that definition side deck. A file in a UNIX file system, a
coexist but do not have to be in the same zone. member of a partitioned data set, or a sequential data
set that contains binder IMPORT control statements.
consolidated software inventory. See SMPCSI.
deleted function. In SMP/E, a function that was
corequisite SYSMODs. SYSMODs each of which can removed from the system when another function was
be installed properly only if the other is present. installed. This is indicated by the DELBY subentry in
Corequisites are defined by the REQ operand on the the SYSMOD entry for the deleted function. See also
++VER statement. explicitly deleted function and implicitly deleted function.
corrective service. Any SYSMOD used to selectively deleting function. A function that removes other
fix a system problem. Generally, corrective service functions from the system. This is done by specifying
refers to APAR fixes. them on the DELETE operand of the ++VER statement.
cross-zone. (1) A target zone other than the set-to zone dependent function. A function that introduces new
that defines a load module containing modules from elements or redefines elements of the base level system
set-to zone. Also called a TIEDTO zone. The modules or other products. A dependent function cannot exist
were added to the load module through the SMP/E without a base function. Dependent functions are
LINK command. The relationship between the identified to SMP/E by the ++FUNCTION statement.
cross-zone and the set-to zone is established through
the TIEDTO subentry in their zone definition entries. dialog. The interactive support provided by SMP/E
See also set-to zone and TIEDTO relationship. (2) through ISPF. Instead of entering specific commands
Pertaining to relationships between zones, especially as and operands, you can use panels to specify the
a result of conditional requisites (++IF statements) or desired processing.
LINK processing. See also cross-zone requisite, cross-zone
load module, and cross-zone module. distribution library (DLIB). A library that contains
the master copy of all the elements in a system. A
cross-zone load module. A load module containing distribution library can be used to create or back up a
modules from a different zone as a result of LINK target library.
processing.
distribution zone. In SMP/E, a group of records in a
cross-zone module. A module included in a load CSI data set that describes the SYSMODs and elements
module from a different zone as a result of LINK in a distribution library.
processing.
DLIB. Distribution library.
cross-zone requisite. A conditional requisite that must
be installed in one zone because of another SYSMOD DLIB entry. An SMP/E entry describing a distribution
that is installed in a different zone. The REPORT library that has been totally copied into a target library.
command can be used to check information saved from
++IF statements and determine where any cross-zone DLIBZONE entry. An SMP/E entry containing
requisites should be installed. information used by SMP/E to process a specific
distribution zone and the associated distribution
CSI. Consolidated software inventory data set. See libraries.
SMPCSI.
DLL. Dynamic link library
D E
data element. An element that is not a macro, module,
or source—for example, a dialog panel or sample code. EC. Engineering change.
DDDEF entry. An SMP/E entry containing the element. In SMP/E, part of a product, such as a
information SMP/E needs in order to dynamically macro, module, dialog panel, or sample code.
allocate a particular data set.
element MCS. An MCS used to replace or update an
DEBUG. The SMP/E command used to obtain element.
additional information for problem determination—for
element selection. The process by which SMP/E
example, to trace messages or take dumps.
chooses the appropriate changes for an element affected
debug. In SMP/E, to obtain additional information for by several SYSMODs being installed at the same time.
problem determination—for example, to trace messages
entry. In SMP/E, a collection of records in a CSI data
or take dumps. This is done with the DEBUG
set. An entry can be created, updated, or deleted by use
command.
of UCL statements.
Glossary 231
environment • global zone
environment. The functions (FMIDs) installed on a FTP.DATA. Configuration data set used to change
particular system or subsystem (SREL). local site default values for the z/OS FTP Client.
expanded service options (ESO). A tape that includes function modification identifier (FMID). The
preventive service PTFs. Where available, it replaces SYSMOD ID of a function SYSMOD. It identifies the
PUTs as the vehicle for delivering preventive service. function that currently owns a given element.
An ESO contains PTFs and ++ASSIGN statements
assigning source IDs for the PTFs. In the United States, functionally higher SYSMOD. A SYSMOD that uses
this tape is available from the IBM Support Center and the function contained in an earlier SYSMOD (called
can be ordered either by subscription or as needed. the functionally lower SYSMOD) and contains additional
functions as well.
explicitly deleted function. A function deleted
because it was specified on the DELETE operand of a functionally lower SYSMOD. A SYSMOD whose
++VER statement in another SYSMOD. function is also contained in a later SYSMOD (called
the functionally higher SYSMOD).
exported zone. A zone copied into a sequential data
set by use of the SMP/E ZONEEXPORT command.
G
external HOLDDATA. ++HOLD statements contained
in SMPHOLD. Contrast with internal HOLDDATA. 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.
F
GENERATE. The SMP/E command used to create a
FAF. file attribute file. job stream that builds a set of target libraries from a set
of distribution libraries.
FE. Field engineering.
generate. In SMP/E, to create a job stream that builds
feature. See dependent function. a set of target libraries from a set of distribution
libraries. This is done with the GENERATE command.
file attribute file. A file attribute file (FAF) is a file
containing control statements that describe the GIMUNZIP. An SMP/E service routine used to
attributes of the file contained in an SMP/E network extract files contained in network transportable
transportable archive. The FAF is contained within the packages that were built using GIMZIP.
archive information about how the file was created.
GIMZIP. An SMP/E service routine used to produce
File Transfer Protocol. File Transfer Protocol (FTP) is a network transportable packages.
protocol that defines the interactions necessary between
a client and server to facilitate the exchange of binary global zone. A group of records in a CSI data set used
and textual data files. to record information about SYSMODs received for a
particular system. The global zone also contains
firewall. A firewall is an intermediate server that information that (1) enables SMP/E to access target and
functions to isolate a secure network from an insecure distribution zones in that system, and (2) enables you
network. to tailor aspects of SMP/E processing.
FTP. File Transfer Protocol.
GLOBALZONE entry. An SMP/E entry containing imported zone. A zone copied from a sequential data
information that SMP/E uses to process the global set into another zone by use of the SMP/E
zone, the associated target and distribution zones, and ZONEIMPORT command.
SMPPTS.
IMS. Information Management System.
GTF. Generalized trace facility.
IMSGEN. IMS generation.
hashing. An operation that uses a one-way in effect. Having control over SMP/E processing. For
(irreversible) function on data, usually to reduce the example, an OPTIONS entry is in effect if (1) it is
length of the data and to provide a verifiable specified on the SET command or (2) it is defined as
authentication value (checksum) for the hashed data. the default OPTIONS entry for the set-to zone.
header MCS. An ++APAR, ++FUNCTION, ++PTF, or inline data. Information (such as utility control
++USERMOD statement. The header MCS indicates the statements or code for an element) that is packaged
type of SYSMOD. directly after the associated MCS, rather than in a
separate file or data set.
HFS. Hierarchical file system.
inline JCLIN. The JCL statements associated with a
hierarchical file system element. An element that has ++JCLIN statement. Inline JCLIN may immediately
a UNIX file system as its “target library”. follow the ++JCLIN statement, or it may be in the
RELFILE or TXLIB data set pointed to by the ++JCLIN
hierarchy. In SMP/E, the top-down structure of statement. Inline JCLIN is used to update the target
function and service SYSMODs, in which each zone when a SYSMOD is applied, or the distribution
SYSMOD is dependent on the one above it. zone when a SYSMOD is accepted. Contrast with JCLIN
input.
higher functional level. An element version that
contains all the functions of all other relevant versions inner macro. A macro invoked by another macro. In
of that element. particular, inner macros are those that SMP/E does not
detect during JCLIN processing of assembler job steps.
HOLDDATA. In SMP/E, MCSs used to indicate that
certain SYSMODs contain errors or require special install. In SMP/E, to apply a SYSMOD to the target
processing before they can be installed. ++HOLD and libraries or to accept a SYSMOD into the distribution
++RELEASE statements are used to define libraries.
HOLDDATA. SYSMODs affected by HOLDDATA are
called exception SYSMODs. internal HOLDDATA. ++HOLD statements contained
within a SYSMOD. Contrast with external HOLDDATA.
HOLDDATA entry. An SMP/E entry containing
++HOLD statements that either were received from I/O. Input or output.
SMPHOLD (external HOLDDATA) or were within a
SYSMOD that was received (internal HOLDDATA). IOGEN. Input/output device generation.
IMASPZAP. The system utility program used to ISPF/PDF. Interactive System Productivity
install superzaps, which are changes for modules, load Facility/Program Development Facility.
modules, or CSECTs within modules.
IVP. Installation verification procedure.
implicitly deleted function. A function deleted
because of its dependency on an explicitly deleted
function that is specified on the DELETE operand of
J
the ++VER statement. JAR. The SMP/E entry or MCS that describes a Java
ARchive (JAR) file. Also, the abbreviation for Java
ARchive (see Java ARchive(JAR)).
Glossary 233
JARUPD • modification identifier (MODID)
JARUPD. The SMP/E MCS used to describe an LMOD. In SMP/E, an abbreviation for load module.
update to a JAR element.
LMOD entry. An SMP/E entry containing all the
JCL. Job control language. information needed to replace or update a given load
module.
JCLIN. (1) The SMP/E command used to process data
from SMPJCLIN. (2) The ++JCLIN statement, which is load module. A computer program in a form suitable
associated with JCLIN data that is included in a for loading into main storage for execution. It is usually
SYSMOD. (3) SMPJCLIN. See SMPJCLIN. the output of a link-edit utility.
See also inline JCLIN and JCLIN data.
LOG. (1) The SMP/E command used to write
JCLIN data. The JCL statements associated with the user-supplied information to the SMPLOG data set. (2)
++JCLIN statement or saved in the SMPJCLIN data set. The SMPLOG data set. See SMPLOG.
They are used by SMP/E to update the target zone
lower functional level. An element version that is
when the SYSMOD is applied. Optionally, SMP/E can
contained in a later element version.
use JCLIN data to update the distribution zone when
the SYSMOD is accepted.
M
JCLIN input. The JCL statements contained in
SMPJCLIN and used as input for the JCLIN command. MAC. The SMP/E entry or MCS that describes a
Contrast with inline JCLIN. macro.
jar. The Java command used to invoke the Java macro. An instruction in a source language that is to
Archive Tool. The Java Archive Tool is used to perform be replaced by a defined sequence of instructions in the
operations on Java ARchive (JAR) files. same source language.
Java ARchive (JAR). An archive file format based on MACUPD. The SMP/E MCS used to update a macro.
the ZIP file format. Used for aggregating many Java
applet component files into one. mass-mode processing. In SMP/E, processing that
includes all eligible SYSMODs, regardless of whether
job control language (JCL). A problem-oriented they were individually selected.
language designed to express statements in a job that
are used to identify the job or describe its requirements master CSI. The CSI data set that contains the global
to an operating system. zone.
LINK LMODS. The SMP/E command used to relink modification. In SMP/E, an alteration or correction to
load modules that use CALLLIBS. a system control program, licensed program, or user
program. Synonymous with system modification
LINK MODULE. The SMP/E command used to link (SYSMOD).
modules in one zone with load modules in another
zone. modification control statement (MCS). An SMP/E
control statement used to package a SYSMOD. MCSs
link library (LKLIB). A data set containing link-edited describe the elements of a program and the
object modules. relationships that program has with other programs
that may be installed on the same system.
LIST. The SMP/E command used to display entries in
SMP/E data sets. modification identifier (MODID). A list of SYSMOD
IDs, including the last SYSMOD that totally replaced
list. In SMP/E, to display entries in SMP/E data sets. the element (RMID), any subsequent partial updates to
This is done with the LIST command.
the element (UMIDs), and the function that owns the module (for example, to prepare the module for
element (FMID). MODIDs are contained in element shipment in RELFILE format or in an LKLIB data set or
entries. as part of SMP/E ACCEPT processing).
modification level. A distribution of all temporary operating system. In SMP/E, the system updated by
fixes that have been issued since the previous APPLY and RESTORE processing. It consists of the
modification level. A change in modification level does target libraries. Also called the target system.
not add new functions or change the programming
support category of the release to which it applies. OPTIONS entry. An SMP/E entry defining
Contrast with release and version. processing options that are to be used by SMP/E.
Glossary 235
program error PTF (PE-PTF) • REPORT
program error PTF (PE-PTF). A PTF that has been regression. In SMP/E, the condition that occurs when
found to contain an error. A PE-PTF is identified on a an element is changed by a SYSMOD that is not related
++HOLD ERROR statement, along with the APAR that to SYSMODs that previously modified the element.
first reported the error.
REJECT. The SMP/E command used to remove
program object. An executable program stored in a SYSMODs from the global zone and SMPPTS.
PDSE program library. It is similar to a load module,
but has fewer restrictions. For SMP/E purposes, reject. In SMP/E, to remove SYSMODs from the
program objects are referred to as load modules. global zone and SMPPTS and delete any related
SMPTLIB data sets. This is done with the REJECT
program packaging. See packaging. command.
program product. The former term for licensed related installation materials (RIMs). In IBM
program. custom-built offerings, task-oriented documentation,
jobs, sample exit routines, procedures, parameters, and
program temporary fix (PTF). A temporary solution examples developed by IBM.
or bypass of a problem that may affect all users and
that was diagnosed as the result of a defect in a current related SYSMOD. A SYSMOD associated with other
unaltered release of the program. In the absence of a SYSMODs by the FMID, PRE, REQ, or SUP operands.
new release of a system or component that incorporates
the correction, the fix is not temporary but is the related zone. The zone named in the RELATED
permanent and official correction mechanism. New subentry of a TARGETZONE or DLIBZONE entry. For
elements can also be defined in a PTF. PTFs are a target zone, the related zone is generally the
identified to SMP/E by the ++PTF statement. distribution zone for the libraries used to create the
target libraries. For a distribution zone, the related zone
program update tape (PUT). The former vehicle for is generally the target zone for the libraries built from
preventive service. See expanded service options. the distribution libraries.
PSP. Preventive service planning. relative file (RELFILE) format. A SYSMOD packaging
method where elements and JCLIN data are in separate
PSW. Program status word. relative files from the MCSs. When SYSMODs are
packaged in relative file format there is a file of MCSs
PTF. Program temporary fix. for one or more SYSMODs, and one or more relative
files containing unloaded source-code data sets and
PTS. PTF temporary store data set. See SMPPTS.
unloaded link-edited data sets containing executable
PTFIN. PTF input. See SMPPTFIN. modules. The relative files can be either unloaded files
in IEBCOPY format, or they can be partitioned data
PUT. See expanded service options. sets. Relative file format is the typical method used for
packaging function SYSMODs.
R relative files (RELFILEs). Unloaded files containing
modification text and JCL input data associated with a
RACF. Resource Access Control Facility. SYSMOD. These files are used to package a SYSMOD
in relative file format.
RECEIVE. The SMP/E command used to read in
SYSMODs and other data from SMPPTFIN and release. A distribution of a new product or new
SMPHOLD. function and APAR fixes for an existing product.
Contrast with modification level and version.
receive. In SMP/E, to read SYSMODs and other data
from SMPPTFIN and SMPHOLD and store them on the replacement modification identifier (RMID). The
global zone for subsequent SMP/E processing. This is SYSMOD ID of the last SYSMOD that completely
done with the RECEIVE command. replaced a given element.
regressed SYSMOD. A SYSMOD one or more of REPORT. The SMP/E command used to obtain
whose elements are modified by subsequent SYSMODs information about SYSMODs that have been installed.
that are not related to it. These are the types of REPORT commands:
regressing SYSMOD. A SYSMOD that causes v REPORT CROSSZONE: Lists conditional requisites
regression of previous modifications when it is that must be installed in certain zones because of
installed. SYSMODs installed in other zones.
v REPORT ERRSYSMODS: Determines whether any
SYSMODs already installed are now exception
SYSMODs.
v REPORT SOURCEID: Lists the source IDs associated v ID errors (a SYSMOD does not supersede or specify
with SYSMODs in the specified zones. as a prerequisite an RMID or a UMID)
v REPORT SYSMODS: Compares the SYSMODs v JCLIN failures (syntax errors)
installed in two target or distribution zones.
RPL. Request parameter list.
requisite. A SYSMOD that must be installed before or
at the same time as the SYSMOD being processed. RTM2WA. Recovery termination manager 2 work
There are several types of requisites: area.
v Prerequisites, which are specified by the PRE
operand on the SYSMOD’s ++VER statement S
v Corequisites, which are specified by the REQ
operand on the SYSMOD’s ++VER statement SCDS. Save control data set. See SMPSCDS.
v Conditional requisites, which are specified by the SCP. System control program.
REQ operand on the SYSMOD’s associated ++IF
statement select-mode processing. In SMP/E, processing that
includes individually selected SYSMODs.
requisite chain. A sequence of SYSMODs that are
directly or indirectly identified as requisites for a given service. PTFs and APAR fixes.
SYSMOD, (A SYSMOD may identify other SYSMODs
as requisites, which in turn may have requisites of their service level. The FMID, RMID, and UMID values for
own. The requisite chain extends from the initial an element. The service level identifies the owner of the
SYSMOD, through the hierarchy of requisites, until no element, the last SYSMOD to replace the element, and
more SYSMODs are found that have requisites.) See all the SYSMODs that have updated the element since
requisite. it was last replaced.
requisite set. The set of all SYSMODs on the requisite service order relationship. A relationship among
chain for a particular SYS service SYSMODs that is determined by the PRE and
SUP operands, and the type of SYSMOD.
RESETRC. The SMP/E command used to set the
return codes for the previous commands to zero, so service SYSMOD. Any SYSMOD identified by an
that SMP/E can process the current command. ++APAR or ++PTF statement.
RESTORE. The SMP/E command used to remove service update. The integration of available service
applied SYSMODs from the target libraries. into the current release of a function. Since this is not a
new release of the function, it does not change the
restore. In SMP/E, to remove applied SYSMODs from function’s FMID.
the target libraries by use of the RESTORE command.
SET. The SMP/E command used to indicate the zone
restore group. All the SYSMODs that have a direct or to be processed.
indirect relationship with a SYSMOD being restored by
use of the GROUP operand. set. In SMP/E, to indicate which zone should be
processed by the subsequent commands. This is done
RIM. Related installation material. with the SET command.
RMID. Replacement modification identifier. set-to zone. The zone that was specified on the
previous SET command and that is currently being
RMF. Resource measurement facility. processed. Contrast with cross-zone.
root cause analysis. Processing done by SMP/E for SHA-1. Secure Hash Algorithm 1.
the ACCEPT, APPLY, and RESTORE commands to
identify causer SYSMODs (SYSMODs whose failure has side deck. See definition side deck.
led to the failure of other SYSMODs). The types of
errors SMP/E analyzes to determine causer SYSMODs single-module load module. A load module created
include the following: by link-editing a single object module by itself—for
v Held SYSMODs example, to prepare the module for shipment in
RELFILE format or in an LKLIB data set or as part of
v Missing requisite SYSMODs
SMP/E ACCEPT processing.
v Utility program failures: copy, update, assembler,
link, zap SMPCNTL. The SMP/E data set or file in a UNIX file
v Out-of-space conditions: x37 abends system that contains the SMP/E commands to be
processed.
v Missing DD statements and other allocation errors
Glossary 237
SMPCSI • SMPRPT
SMPCSI. The SMP/E data set that contains SMPLTS. The SMP/E data set used as a target load
information about the structure of a user’s system as module library to maintain the base version of a load
well as information needed to install the operating module that specifies a SYSLIB allocation in order to
system on a user’s system. The SMPCSI DD statement implicitly include modules.
refers specifically to the CSI that contains the global
zone. This is also called the master CSI. SMPMTS. The SMP/E data set used as a target
library for macros that exist only in a distribution
SMPDEBUG. The SMP/E data set or file in a UNIX library, such as macros in SYS1.AMODGEN. The
file system that contains a dump requested by the SMPMTS enables the current version of these macros to
DEBUG command. Depending on the operands be used for assemblies during APPLY processing.
specified, it may contain (1) a dump of SMP/E control
blocks and storage areas associated with the specified SMPNTS. The SMPNTS is a directory structure and
dump points or (2) a dump of the VSAM RPL control associated files contained in a UNIX file system used
block for the specified SMP/E function. for temporary storage of network transported packages
that were received during SMP/E RECEIVE processing.
SMPDUMMY. The SMP/E data set used to define a
load module’s definition side deck library as a SMPOBJ. The SMP/E data set used for
DUMMY data set. SMPDUMMY is always allocated by source-maintained products. SMPOBJ contains
SMP/E as a DUMMY data set. preassembled modules that can be used to avoid
reassembling those modules. These modules must be in
SMP/E. A program product, or an element of OS/390 load module format—that is, in the same format as
or z/OS, used to install software and software changes modules residing in the distribution library.
on z/OS systems. SMP/E consolidates installation data,
allows more flexibility in selecting changes to be SMPOUT. The SMP/E data set or file in a UNIX file
installed, provides a dialog interface, and supports system that contains messages issued during SMP/E
dynamic allocation of data sets. processing. It may also contain a dump of the VSAM
RPL, if a dump was taken. In addition, it may contain
SMP/E commands. Commands defining the LIST output and reports if SMPLIST and SMPRPT are
processing to be done by SMP/E, such as RECEIVE. not defined.
SMP/E entry. An entry in an SMP/E data set—for SMPPARM. The data set that contains members to
example, a MOD entry in a CSI data set. define parameters, such as macros, assembler operation
codes, GIMDDALC control statements, and exit
SMPHOLD. SMPHOLD is the source for HOLDDATA routines.
(++HOLD and ++RELEASE statements) to be processed
by the RECEIVE command. SMPHOLD may be a tape SMPPTFIN. SMPPTFIN is the source of SYSMODs
file, a data set, or one or more files in a UNIX file and ++ASSIGN statements to be processed by the
system. RECEIVE command. SMPPTFIN may be a tape file, a
data set, or one or more files in a UNIX file system.
SMPJCLIN. The SMP/E data set or file in a UNIX file
system that contains a job stream of assembly, link-edit, SMPPTS. The SMP/E data set that contains
and copy job steps. This data is typically the stage 1 SYSMODs received from SMPPTFIN. SMPPTS is the
output from the most recent full or partial system source of SYSMODs that are installed in the target and
generation. However, it may also be other data in a distribution libraries.
similar format, such as the output of the GENERATE
command. This job stream is used as input to the SMPPTS spill data sets. Optional SMP/E data sets
JCLIN command to update or create entries in a target that can be used to store SYSMODs when the SMPPTS
zone. data set becomes full.
SMPLIST. The SMP/E data set or file in a UNIX file SMPPUNCH. The SMP/E data set or file in a UNIX
system that contains the output of all LIST commands. file system that contains output from various SMP/E
commands. This output generally consists of
SMPLOG. The SMP/E data set that contains commands or control statements.
time-stamped records of SMP/E processing. The v GENERATE: A job stream for building target libraries
records in this data set can be written automatically by
v REPORT: Commands for installing or listing
SMP/E or added by the user through the LOG
SYSMODs
command.
v UNLOAD: UCLIN statements for recreating the
SMPLOGA. A secondary log data set for SMP/E entries that were unloaded
processing. If SMPLOGA is defined, it is automatically
used when the SMPLOG data set is full. 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 source. The source statements that constitute the input
copies of target zone entries that are created during to a language translator for a particular translation.
APPLY processing. These backup copies are made
before the entries are (1) changed by inline JCLIN, a source ID. A 1- to 8-character identifier that indicates
++MOVE MCS, or a ++RENAME MCS, or (2) deleted how a SYSMOD was obtained—for example, from a
by an element MCS with the DELETE operand. The particular service level in an ESO. A source ID is
backup copies are used during RESTORE processing to associated with a specific SYSMOD by the RECEIVE
return the entries to the way they were before APPLY command or the ++ASSIGN statement.
processing.
SOCKS. A networking proxy protocol that enables
SMPSNAP. The SMP/E data set that is used for snap hosts on one side of a SOCKS server to gain full access
dump output. When a severe error such as an abend or to hosts on the other side of the SOCKS server without
severe VSAM return code occurs, SMP/E requests a requiring direct IP-reachability.
snap dump of its storage before doing any error
recovery. In addition, the DEBUG command can SOURCEID. The operand used to refer to a source ID.
request a snap dump of SMP/E storage when specified
source module. The source statements that constitute
messages are issued, or can request a snap dump of
the input to a language translator, such as a compiler
control blocks and storage areas associated with a
or an assembler, for a particular translation.
specified dump point.
SRC. The SMP/E entry or MCS statement that
SMPSTS. The SMP/E data set used as a target library
describes a source.
for source that exists only in a distribution library. The
SMPSTS enables the current version of this source to be SRCUPD. The MCS used to update a source.
used for assemblies during APPLY processing.
SREL. System release identifier.
SMPTLIB. The SMP/E data sets used as temporary
storage for relative files loaded from SMPPTFIN during Storage Management Subsystem (SMS). A
RECEIVE processing. The SMPTLIB data sets are DFSMS/MVS facility used to automate and centralize
deleted when the associated SYSMOD is deleted by the management of storage. Using SMS, a storage
REJECT, RESTORE, or ACCEPT processing. administrator describes data allocation characteristics,
performance and availability goals, backup and
SMPWKDIR. An optional directory in a UNIX file retention requirements, and storage requirements to the
system used for temporary work files. system through data class, storage class, management
class, storage group, and ACS routine definitions.
SMPWRK1. The SMP/E data set used as temporary
storage for macro updates and replacements that will STS. Source temporary store data set. See SMPSTS.
be processed by an update or copy utility program.
SMP/E places the input in SMPWRK1 during APPLY STSSRC entry. An SMP/E entry that is a copy of
and ACCEPT processing before calling the utility. source that resides only in a distribution library but is
needed temporarily during APPLY processing. STSSRC
SMPWRK2. The SMP/E data set used as temporary entries are in the SMPSTS data set.
storage for source updates and source replacements
that will be processed by an update or copy utility stub entry. An element entry or LMOD entry that
program. SMP/E places the input in SMPWRK2 during does not contain the basic information SMP/E requires
APPLY and ACCEPT processing before calling the in order to process the element or load module (such as
utility. FMID, RMID, or library names), but does contain other
information, such as subentries describing cross-zone
SMPWRK3. The SMP/E data set used as temporary relationships.
storage for object modules supplied by a SYSMOD,
object modules created by assemblies, and zap utility stub load module. A load module that does not
input following ++ZAP statements. contain the modules needed to perform its basic
functions, but does contain other modules, such as
SMPWRK4. The SMP/E data set used as temporary cross-zone modules.
storage for zap utility or link-edit utility input that
contains EXPAND control statements. subentry. A field in an SMP/E entry. Each subentry
has associated with it a type and a value. The same
SMPWRK6. The SMP/E data set used during subentry type may occur several times in a single entry,
ACCEPT and APPLY processing as temporary storage each time with a different value. For example, the
for inline replacements for data elements. SMP/E modules supplied by a PTF are saved as MOD
places the input in this data set so that it can be subentries in the PTF’s SYSMOD entry. Some subentries
directly accessed and installed by the copy utility or occur only once within an entry, such as the FMID
SMP/E. subentry in a target zone MOD entry.
Glossary 239
subentry indicator • TCP/IP
subentry indicator. A subentry that does not have a SYSPUNCH. The temporary data set containing object
data value associated with it. An example of an modules assembled by running the job stream
indicator is the ERROR indicator in the SYSMOD entry. produced by system generation or the GENERATE
An indicator is either on or off. command. These modules are not installed in the
distribution libraries at ACCEPT time.
subentry list. Multiple occurrences of the same
subentry type in an entry, each with a different value. system control program (SCP). IBM-supplied
For example, the modules supplied by a PTF are saved programming that is fundamental to the operation and
as names in the MOD subentry list within the SYSMOD maintenance of the system. It serves as an interface
entry for that PTF. with licensed programs and user programs and is
available without additional charge.
SUP. Supersede.
system generation (SYSGEN). The process of
superseded-only SYSMOD. A SYSMOD that has not selecting optional parts of an operating system and of
been installed, but that has been superseded by another creating a particular operating system tailored to the
SYSMOD that has been installed. requirements of a data processing installation.
superseded SYSMOD. In SMP/E, a SYSMOD that is system modification (SYSMOD). The input data to
contained in or replaced by the SYSMOD or requisite SMP/E that defines the introduction, replacement, or
set of SYSMODs currently being processed. This is update of elements in the operating system and
indicated by the SUPBY subentry in the SYSMOD entry associated distribution libraries to be installed under
for the superseded SYSMOD. A superseded SYSMOD is the control of SMP/E. A system modification is defined
functionally lower than the SYSMOD that superseded by a set of MCS.
it.
system modification identifier (SYSMOD ID). The
superseding SYSMOD. In SMP/E, a SYSMOD that name that SMP/E associates with a system
contains all the functions in another SYSMOD and is modification. It is specified on the ++APAR,
recognized as the equivalent of that other SYSMOD. ++FUNCTION, ++PTF, or ++USERMOD statement.
The superseding SYSMOD uses SUP operand on its
++VER statement to specify the superseded SYSMOD. system release identifier (SREL). A 4-byte value
representing the system or subsystem, such as Z038 for
superzap. A generic term for the process performed MVS-based products.
by IMASPZAP. It can also refer to the module updates
processed by IMASPZAP. SYSUT1, SYSUT2, SYSUT3. Scratch data sets for
SMP/E and the utilities it calls.
SVC. Supervised call.
SYSUT4. A data set that is used instead of the SYSIN
SVRB. Supervisor request block. data sets when certain utilities are called.
SYSGEN. System generation.
T
SYSLIB. (1) A subentry used to identify the target
library in which an element is installed. (2) A target library. A library containing the executable
concatenation of macro libraries to be used by the code that makes up a system.
assembler. (3) A set of routines used by the link-edit
utility to resolve unresolved external references. target system. The system updated during APPLY and
RESTORE processing, also referred to as the operating
SYSMOD. System modification. system. See also target libraries.
SYSMOD entry. An SMP/E entry containing target zone. In SMP/E, a group of records in a CSI
information about a SYSMOD that has been received data set that describes the SYSMODs, elements, and
into SMPPTS, accepted into the distribution libraries, or load modules in a target library.
applied to the target libraries.
TARGETZONE entry. An SMP/E entry containing
SYSMOD ID. System modification identifier. information used by SMP/E to process a specific target
zone and the associated target libraries.
SYSMOD packaging. See packaging.
TCP/IP. Transmission Control Protocol/Internet
SYSMOD selection. The process of determining Protocol (TCP/IP) is a hardware independent
which SYSMODs are eligible to be processed. communication protocol used between physically
separated computers. It was designed to facilitate
SYSPRINT. The data set that contains output from the
communication between computers located on different
utilities called by SMP/E.
physical networks.
temporary data set. A work data set unload. In SMP/E, to copy data out of SMP/E data
(SMPWRK1–SMPWRK6) or utility data set set entries in the form of UCL statements, by use of the
(SYSUT1–SYSUT4). Temporary data sets are allocated UNLOAD command.
when processing for an SMP/E command begins, and
deleted when processing is finished. update. In SMP/E, to change an existing element
without replacing it.
text library (TXLIB). A data set containing JCLIN
input or replacements for macros, source, or object update modification identifier (UMID). The
modules that have not been link-edited. It is used when SYSMOD ID of a SYSMOD that updated the last
the JCLIN or elements are provided in partitioned data replacement of a given element.
sets rather than inline or in relative files.
user modification (USERMOD). A change constructed
TGTLIB. Target library. by a user to modify an existing function, add to an
existing function, or add a user-defined function.
TIEDTO relationship. A cross-zone relationship USERMODs are identified to SMP/E by the
between two target zones created when the LINK ++USERMOD statement.
command updates a load module in one of the zones to
include modules from the other zone. This relationship USERMOD. User modification.
is established through the TIEDTO subentry in the zone
definition entries for each of the zones. UTILITY entry. An SMP/E entry containing
information used by SMP/E to invoke a particular
TIEDTO zone. See cross-zone. system utility program.
unconditionally coexisting functions. Functions that zone. A partition in a CSI data set.
coexist and must be in the same zone.
ZONECOPY. The SMP/E command used to copy a
UNLOAD. The SMP/E command used to copy data zone from one CSI data set to another.
out of SMP/E data set entries in the form of UCL
statements. ZONEDELETE. The SMP/E command used to delete
a zone from a CSI data set.
Glossary 241
ZONEEDIT • z/OS UNIX System Services (z/OS UNIX)
Index 245
JOB statement migration (continued) preventive service 109 (continued)
customizing 76 OS/390 V2R7 SMP/E summary 205 PTF SYSMODs 4
overview 191 RECEIVE ORDER requests 111
recommended steps for 192 PROCESS parameter, EXEC statement for
K SMP/E V3R1 summary 201
terminology 191
GIMSMP 82
product reinstall
keyboard 223
modification control statement (MCS) 3, See GENERATE
KEYS
15 products (function SYSMODs) 3
for CSI data set 57
modification identifiers program element MCS
function (FMID) 9 USERMODs 173
replacement (RMID) 9 program temporary fix (PTF) 4
L update (UMID) 9 programming control facility (PCF) 71
LIBDEF restrictions 72 MSGFILTER PSP files
link edit utility output coexistence considerations 209 HOLDDATA
recommended DDDEF entries 77 MSGWIDTH processing 143
LINK LMODS command coexistence considerations 209 source of 140
overview of 197 multiple-CSI zone structure 50, 53 PTF
summary 47 See also corrective service
LINK MODULE command See also preventive service
description 147
example 148
N introduction 109
Recommended Service Upgrade 221
NCAL
summary 47 summary 38
effect of CALLLIBS subentry on 66
when to use 147 PTF cover letters, listing 152
network delivery of SMP/E input
link-edit utility PTF SYSMODs 4
coexistence considerations 204
default values 65 PTS, summary 62
notices 225
link-editing object modules into load PUT
NUCID
modules 2 See ESO
migration tasks 203
LIST command
operand of APPLY command 203
comparing two zones 153
subentry 203
cover letters 152
description 14
Q
Query dialog
examples 33
listing a specific entry type 150 O description 14
example 31
listing an FMID or FMIDSET 152 object module, link-editing into a load
listing specific entries 151 module 2
reports produced 34 OPTIONS entry
summary 44, 149 ORDER RETENTION subentry 194 R
LISTCAT job 61 ORDER entry RACF (z/OS Security Server)
listing SMP/E data global zone 194 regulating SMP/E utility programs
API for 35 ORDER RETENTION with 201
LIST command 33 OPTIONS entry subentry 194 RC
Query dialogs 31 ORDERSERVER coexistence considerations 208
REPORT commands 34 data set 194 reason IDs 135
load module data set for SMP/E dialogs, RECEIVE command 194
LIBDEF restrictions 72 assigning source IDs to
load module, created by link-editing
object modules 2
P SYSMODs 197
corrective service 125
PCF (programming control facility) 71
LOG command 46 description 13
PE PTF
logon procedure (TSO) 74 entries created
See exception SYSMODs
logon procedure, sample 73 HOLDDATA entry 137
prerequisites for SYSMODs 7
MCS entry 136
preventive service 109
SYSMOD entry 137
CBPDO tapes 109
M description of 38
examples 17
functions 103
master application menu for ISPF 74 ESO tapes 110
preventive service 112
master catalog, alias for user catalog 56, installation
processing 15
58 ACCEPT CHECK processing 119
reports produced 18
master CSI ACCEPT processing 120
summary 42
definition of 52 APPLY CHECK processing 114
USERMODs 131
specified on DD statement 83 APPLY processing 117
RECEIVE ORDER command
specified on EXEC statement 81, 83 get additional SYSMODs 117
corrective service 126
MCS entry, created during preparation 112
summary 42
RECEIVE 136 RECEIVE processing 112
RECEIVE ORDER request
methods of installation 101 research the ACCEPT CHECK
preventive service, source of 111
migration reports 120
RECEXZGRP
OS/390 V1R2 SMP/E summary 212 research the APPLY CHECK
coexistence considerations 208
OS/390 V1R3 SMP/E summary 209 reports 115
OS/390 V2R5 SMP/E summary 207 test 118
Index 247
SYSMODs (continued) USERMOD (continued) ZONEDELETE command (continued)
listing (continued) MCS statements (continued) summary 46
SMPPUNCH 165 ++USERMOD 170 ZONEEDIT command
prerequisites 7 ++VER 170 alternative to UCLIN 156
PTF 4 ++ZAP 172 summary 45
summary 37 hierarchical file system ZONEEXPORT command
USERMOD 6 element 174 alternative to UCLIN 156
SYSPRINT preventing ACCEPT processing 133 summary 46
default 64 summary 38 ZONEIMPORT command
system modifications USERMOD SYSMODs 6 alternative to UCLIN 156
See SYSMODs utility errors, recovery from 69 summary 46
utility programs ZONEINDEX
default values for zone group 79
T access method services (AMS) 65
assembler 65
ZONEMERGE command
summary 46
table data sets for dialogs 72
compress 65 ZONERENAME command
target libraries, description of 39
copy 65 alternative to UCLIN 156
target zone
hierarchical file system copy 65 summary 47
defining 58
link-edit utility 65 zones
description of 11, 40
retry 65 comparing
SYSMOD entries 20, 24
superzap 65 LIST command 153
TARGETZONE entry 58
update 65 REPORT CROSSZONE
temporary fix (APAR SYSMODs) 6
specifying which utility programs command 159
SMP/E can call 201 REPORT SYSMODS
UTIN command 167
U coexistence considerations 212 description of 40
UCLIN command zones in the SMPCSI data set
general syntax 156 See also distribution zone
introduction 155
samples in GIMSAMPU 59
V See also global zone
See target zone
VERSION command
summary 45 ZONESET entry
coexistence considerations 209
UNIX file system cross-zone processing 159
identification of data sets 204 defining 78
SMP/E data sets residing in 204
update utility W
default values 65 WAIT
UPGRADE command EXEC statement parameter for
coexistence considerations 198 GIMSMP 82
overview of 198
user catalog
alias in master catalog 56, 58
for CSI 56
X
XZREQCHK subentry
user-defined subdirectories
coexistence considerations 210
coexistence considerations 199
use of 78
USERMOD 133
See also user modification
creating 169
examples 174 Z
installation z/OS Security Server (RACF)
APPLY CHECK process 132 regulating SMP/E utility programs
APPLY process 133 with 201
prepare 131 zone entries
RECEIVE processing 131 impacts 194
research APPLY CHECK zone group
reports 132 default 78
summary 131 defining 78
test 133 specifying on command 78
MCS statements ZONEINDEX for 79
++element (for data zone structures
elements) 173 examples 52
++JCLIN 172 multiple CSIs 50
++MAC 172 single CSI 50
++MACUPD 172 ZONECOPY command
++MOD 172 alternative to UCLIN 156
++PROGRAM 173 summary 46
++SRC 173 ZONEDELETE command
++SRCUPD 173 alternative to UCLIN 156
We appreciate your comments about this publication. Please comment on specific errors or omissions, accuracy,
organization, subject matter, or completeness of this book. The comments you send should pertain to only the
information in this manual or product and the way in which the information is presented.
For technical questions and information about products and prices, please contact your IBM branch office, your
IBM business partner, or your authorized remarketer.
When you send comments to IBM, you grant IBM a nonexclusive right to use or distribute your comments in any
way it believes appropriate without incurring any obligation to you. IBM or any other organizations will only use
the personal information that you supply to contact you about the issues that you state on this form.
Comments:
If you would like a response from IBM, please fill in the following information:
Name Address
Company or Organization
_ _ _ _ _ _ _Fold
_ _ _and
_ _ _Tape
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Please
_ _ _ _ _do
_ _not
_ _ staple
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _Fold
_ _ _and
_ _ Tape
______
NO POSTAGE
NECESSARY
IF MAILED IN THE
UNITED STATES
IBM Corporation
MHVRCFS, Mail Station P181
2455 South Road
Poughkeepsie, NY
12601-5400
_________________________________________________________________________________________
Fold and Tape Please do not staple Fold and Tape
Cut or Fold
SA22-7773-11 Along Line
Printed in USA
SA22-7773-11