The ++USERMOD MCS identifies a user modification. This
type of SYSMOD can be used to add user-defined functions or to replace
or update elements for IBM-supplied code in the target or distribution
libraries. All other MCSs for this SYSMOD follow this header MCS.
For more information about packaging a USERMOD, see z/OS Packaging Rules.
Syntax

++USERMOD MCS
>>-++USERMOD--(--sysmod_id--)----------------------------------->
>--+--------------------------------+--------------------------->
'-DESCRIPTION--(--description--)-'
>--+---------------------------------------------------------+-->
'-FILES--(--number--)--+--------------------------------+-'
'-RFDSNPFX--(--relfile_prefix--)-'
>--+---------------------+--•----------------------------------><
'-REWORK--(--level--)-'
Operands
- DESCRIPTION
- specifies a descriptive name to be associated with this SYSMOD. z/OS Packaging Rules.
- DESCRIPTION value can also be specified DESC.
- The DESCRIPTION value can be in single-byte characters (such as
English alphanumeric) or double-byte characters (such as Kanji).
- The DESCRIPTION value can contain up to 64 bytes of data, including
blanks. (For double-byte data, the 64-byte maximum includes all shift-in
and shift-out characters, as well as the double-byte characters.)
Extra blanks, as well as leading and trailing blanks are deleted.
- The DESCRIPTION value can span multiple 80-byte records. Data
must continue up to and including column 72 and begin in column 1
of the next line. All data past column 72 is ignored. The break does
not translate to a blank unless a blank is explicitly coded in column
72 of the first line or in column 1 of the second line.
- If DESCRIPTION is specified, it must contain at least one non-blank
character.
- If parentheses are included in the text, they must be in matched
pairs.
- FILES
- specifies the number of relative files belonging to this USERMOD. It can be a decimal
number from 1 to 9999. For information about packaging SYSMODs in
relative files, see z/OS Packaging Rules.
Note: - Although SMP/E allows you to package USERMODs in relative files,
they are not generally packaged in this format.
- If a packager uses a high-level qualifier on RELFILE data sets,
the RFDSNPFX operand on the header MCS (not the RFPREFIX operand on
the RECEIVE command) must be used to identify that high-level
qualifier.
- REWORK
- specifies the level of this SYSMOD, which was reworked for minor
changes. Up to eight numeric characters can be specified.
For SYSMODs
supplied by IBM®, the REWORK
level is yyyyddd, where yyyy is
the year the SYSMOD was reworked and ddd is the
Julian date.
REWORK allows an updated SYSMOD to be automatically
received again, as long as it is more recent than the version that
has already been received. This takes the place of rejecting the SYSMOD
and receiving it again.
Note: If a SYSMOD appears more than once
in the SMPPTFIN data set, the first occurrence may be received. However,
none of the subsequent versions of the SYSMOD are received, even if
their rework level is higher than the one for the first version of
the SYSMOD. (Message GIM40001E is issued for each of the subsequent
versions of the SYSMOD.)
- RFDSNPFX
- identifies to SMP/E the prefix used in the relative file data
set names for this SYSMOD. SMP/E uses this prefix when allocating
data set names for the SYSMOD's relative files during RECEIVE processing.
- This operand can be specified only if the FILES operand is also
specified.
- The RFDSNPFX value specified on the MCS statement must match the
actual prefix used in the data set names for the associated relative
files.
For example, if the names of the relative files created
for a SYSMOD start with "IBM",
as in IBM.sysmod_id.F1,
the header MCS statement for the SYSMOD must specify RFDSNPFX(IBM) so
SMP/E knows which prefix to use when allocating the data set names
for the SYSMOD's relative files during RECEIVE processing.
- Following standard data set naming conventions, the prefix can
be from 1 to 8 alphanumeric or national ($, #, @) characters or a
dash (–).
To enable full Security Server protection for tape data
sets and to keep the tape header within the 17-character limit (including
periods), you should limit the prefix to 1 to 3 characters. If the
name exceeds the 17-character limit, only the rightmost 17 characters
are written to the tape header label.
- sysmod_id
- specifies a unique 7-character system modification identifier
for the USERMOD. For more information, see Naming conventions for SYSMODs.
Usage notes
If you have updated an element,
SYSMODs other than functions cannot replace it unless you explicitly
allow them to by bypassing MODID checking. However, if you install
a function, it may overlay your user modifications. SMP/E issues a
warning message when it detects this condition.
Examples
A source (IFBSRC02) owned by function
SYSMOD FXY1040 is to be modified. Your modification requires a service
level provided UZ00007; you are only updating, not replacing, the
source. You have chosen a SYSMOD ID of MY00001. Here is an example
of a SYSMOD containing a ++SRCUPD statement that accomplishes this:
++USERMOD(MY00001) /* USERMOD number */.
++VER(Z038) FMID(FXY1040) /* for function FXY1040 */
PRE(UZ00007) /* at this service level. */.
++SRCUPD(IFBSRC02) /* Update this source */
DISTLIB(IFBSRC) /* in this DLIB. */.
./ CHANGE NAME=IFBSRC02
...
... update control cards
...
For additional examples of USERMODs,
see ++SRCUPD MCS and SMP/E for z/OS User's Guide.