++VER MCS

The ++VER MCS describes the environment required for receiving and installing a SYSMOD. A SYSMOD must contain a separate ++VER MCS for each environment to which it applies. At least one ++VER MCS must be present in a SYSMOD, and a maximum of 255 ++VER statements are allowed for each SYSMOD.

Syntax

Read syntax diagramSkip visual syntax diagram
++VER MCS

             .-,----.                                       
             V      |                                       
>>-++VER--(----srel-+--)--+-----------------------------+------->
                          |            .-,---------.    |   
                          |            V           |    |   
                          '-DELETE--(----sysmod_id-+--)-'   

>--+-----------------------+--+---------------------------+----->
   '-FMID--(--sysmod_id--)-'  |          .-,---------.    |   
                              |          V           |    |   
                              '-NPRE--(----sysmod_id-+--)-'   

>--+--------------------------+--+--------------------------+--->
   |         .-,---------.    |  |         .-,---------.    |   
   |         V           |    |  |         V           |    |   
   '-PRE--(----sysmod_id-+--)-'  '-REQ--(----sysmod_id-+--)-'   

>--+--------------------------+--------------------------------->
   |         .-,---------.    |   
   |         V           |    |   
   '-SUP--(----sysmod_id-+--)-'   

>--+------------------------------+--•-------------------------><
   |             .-,---------.    |      
   |             V           |    |      
   '-VERSION--(----sysmod_id-+--)-'      

Operands

DELETE
indicates which function SYSMODs should be deleted when this function is installed. These functions are permanently deleted and cannot be restored.

DELETE can be specified only in function SYSMODs.

The same SYSMOD can be specified on both DELETE and SUP. This cleans up entries for the deleted function, and, at the same time, allows SYSMODs that name the deleted function as a requisite to still be installed.

SYSMODs specified in the DELETE operand do not have to be specified in VERSION operands of ++VER, ++MAC, ++SRC, or ++MOD statements.

For additional information about the effect of DELETE during APPLY and ACCEPT processing, see SMP/E for z/OS Commands.

FMID
FMID identifies the function to which a SYSMOD applies. FMID must be specified for all SYSMODs except base functions.
The following considerations relate to the FMID operand:
  • Unlike prerequisites specified by the PRE operand, the functional prerequisite specified by the FMID operand is satisfied only by the specified SYSMOD. It is not satisfied by another SYSMOD that supersedes that function.
  • When specified on the ++VER MCS for a function, FMID defines the function as a dependent function. In this case, FMID indicates that the elements supplied by the dependent function SYSMOD are functionally higher than the specified base function.

    A function cannot be both a base function and a dependent function. Therefore, if a base function contains more than one ++VER MCS, none of them can specify the FMID operand. Likewise, if a dependent function contains more than one ++VER MCS, all of them must specify the FMID operand.

  • When specified on the ++VER MCS for a non-function SYSMOD, FMID indicates the functional level of all elements in the SYSMOD.
  • SMP/E RECEIVE processing does not receive a dependent function unless the FMID of the base is already present in the global zone or BYPASS(FMID) is specified. For more information about packaging of dependent SYSMODs, refer to RECEIVE processing in SMP/E for z/OS Commands.
NPRE
indicates which function SYSMODs cannot exist in the same zone as this function. These are negative prerequisite SYSMODs. The current SYSMOD cannot be applied or accepted if any of the listed SYSMODs are already present.

This operand has no effect on RECEIVE eligibility.

NPRE can only be specified within a function SYSMOD.

PRE
indicates which SYSMODs are prerequisites for this SYSMOD. A prerequisite SYSMOD must either be already installed, or must be installed concurrently with this SYSMOD. For additional information about how prerequisites are resolved during APPLY and ACCEPT processing, see SMP/E for z/OS Commands.

If a SYSMOD replaces an existing element, the PRE operand must specify the previous SYSMOD that replaced the element (RMID) and all the SYSMODs that have updated the element (UMIDs) since it was last replaced.

If a SYSMOD updates an existing element, the PRE operand must specify the previous SYSMOD that replaced the element. It should also specify the last SYSMOD that updated the element since then.

This operand has no effect on RECEIVE eligibility.

REQ
indicates which SYSMODs are requisites for this SYSMOD. The specified SYSMOD must either be already installed, or must be installed concurrently with this SYSMOD. If the specified SYSMOD also specifies this SYSMOD as a requisite, these two SYSMODs are corequisites, and neither can be installed independently; they must be installed within the same APPLY and ACCEPT command. For additional information about how requisites are resolved during APPLY and ACCEPT processing, see SMP/E for z/OS Commands.

This operand has no effect on RECEIVE eligibility.

srel
specifies the system or subsystem release on which the SYSMOD can be installed. The SREL must contain four alphanumeric characters, usually one alphabetic character followed by three numeric characters. These are the systems and subsystems defined by IBM®, with their SRELs:
System
SREL
DB2®
P115
CICS®
C150
IMS™
P115
MVS™
Z038
NCP
P004

The SREL is used during RECEIVE processing to determine whether a SYSMOD should be received. For more information about how the SREL operand is processed, see SMP/E for z/OS Commands.

SUP
indicates which SYSMODs are superseded (contained in and replaced) by this SYSMOD. For example, it may specify one or more APARs fixed in the element modifications supplied with this SYSMOD.

For functions, the same SYSMOD can be specified on both DELETE and SUP. This cleans up entries for the deleted function, and, at the same time, allows SYSMODs that name the deleted function as a requisite to still be installed.

For PTFs, APARs, and USERMODs to properly supersede another SYSMOD, all the elements in the superseded SYSMOD must be contained in either the superseding SYSMOD or a SYSMOD from the requisite set for the superseding SYSMOD (unless the element is being deleted by the superseding SYSMOD).

VERSION
indicates functions whose elements should be considered functionally lower than the elements contained in this SYSMOD. It specifies one or more function SYSMODs that currently contain the element. The function containing the ++VER MCS takes over ownership of all the elements from the specified functions.

When VERSION is specified on an element statement, it overrides any VERSION operand values specified on the ++VER MCS.

Note: A SYSMOD containing an element update (++MACUPD, ++SRCUPD, or ++ZAP) cannot change the ownership of the element. The ownership can be changed (with the ++VER VERSION operand) only if the SYSMOD provides a replacement for the element.

Usage notes

  • You can build a SYSMOD that can be processed by previous versions of SMP/E, as well as this version of SMP/E. For service SYSMODs, this construction requires at least two ++VER statements, one processable by previous versions of SMP/E and the other processable by this version of SMP/E. The SRELs in these ++VER statements must be different, so the SYSMOD can be processed correctly by the applicable version of SMP/E.
  • A SYSMOD cannot contain multiple ++VER statements that have identical SREL and FMID values, because SMP/E would not be able to determine which ++VER MCS to use in doing the remaining applicability checking during APPLY and ACCEPT processing.
  • You cannot specify the same SYSMOD more than once on a single ++VER operand. Likewise, you generally cannot specify the same SYSMOD on more than one operand. However, you can specify the same SYSMOD on VERSION and another operand (except FMID). You can also specify the same SYSMOD on the DELETE and SUP operands.
  • Corequisite SYSMODs (which are related through the REQ operand) that are applicable to the same FMID cannot have elements in common. Because the REQ operand implies no service hierarchy, SMP/E cannot determine which SYSMOD has the highest service level of the common elements. When the relationship between the SYSMODs containing the common elements is defined through the REQ operand, SMP/E issues an error or warning message.
    • If the requisites have an element in common and each contains a replacement for the element, ID check processing fails and neither of the requisites is installed, unless BYPASS(ID) is specified.
    • If the requisites have an element in common and each contains an update for the element, ID check processing issues a warning message for the requisites. Generally, the requisites are both installed. However, SMP/E does not allow multiple ZAPs for the same module to be processed by the same APPLY command. If this is the case, neither of the requisites is installed; they must be processed by separate APPLY commands.

Examples

The following examples are provided to help you use the ++VER MCS: