++USERMOD MCS

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

Read syntax diagramSkip visual syntax diagram
++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:
  1. Although SMP/E allows you to package USERMODs in relative files, they are not generally packaged in this format.
  2. 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.