Operands

CSECT
lists all the CSECTs contained in the module. This operand is required if the module contains more than one CSECT or if the CSECT name is different from the module name on the ++MOD MCS.
  • If no CSECT name is specified, SMP/E assumes that the module contains only one CSECT, whose name matches the module name on the ++MOD MCS.
  • If CSECT is specified, it must include all the CSECTs contained in the module, even if one of them has the same name as the module.
Note:
  1. A CSECT name can contain from 1 to 8 characters. The name can contain any characters except the following:
    • Comma ,
    • Left parenthesis (
    • Right parenthesis )
    • Blank  
  2. Comments are not allowed within a CSECT name. For example, the following is not allowed:
    CSECT ( /* this is a csect name */ CSECT01)

    The comment is interpreted as part of the CSECT name, instead of a comment.

  3. Even if CSECT is not specified on the ++MOD MCS used to create a MOD entry, CSECT information is saved if CSECT is specified on subsequent ++MOD statements that update the MOD entry.
DALIAS
is the alias name of a module that has an alias in the distribution library, but not in the target library. This might be used if the module is included under its alias name during system generation.
Note: DALIAS is mutually exclusive with TALIAS.
DELETE
indicates that the module and alias names are to be removed from the target libraries, distribution libraries, and SMP/E data sets.

In order to DELETE a module, the FMID on the SYSMOD must match the FMID of the module. If the module has no FMID associated with it, then the SYSMOD will delete the module. If the FMID of the module does not match the FMID on the SYSMOD, then the SYSMOD will not delete the module, because the specified FMID does not own the module.

Note: DELETE is mutually exclusive with all other operands except CSECT, DISTLIB, and VERSION.
DISTLIB
specifies the ddname of the distribution library for the specified module.
Note:
  1. This operand must be specified if the module has not been previously recorded on the target zone or distribution zone. If a MOD entry already exists in the target zone or distribution zone and the value currently in that entry does not match that specified in the DISTLIB operand, the SYSMOD is not applied or accepted, unless that SYSMOD also used the ++MOVE MCS to change the DISTLIB to that new value.
  2. You cannot use SYSPUNCH as the DISTLIB. It is used by SMP/E and other products to process assembled modules.
FROMDS
identifies the partitioned data set that contains this element.
Note: The FROMDS operand and its DSN, NUMBER, VOL, and UNIT suboperands are included in the MCS generated by the BUILDMCS command. IBM® does not intend the FROMDS operand to be used in manually coded MCS.
DSN
specifies the dsname of the FROMDS data set. The specified data set name must conform to standard data set naming conventions and cannot contain parentheses. The maximum length of the entire name is 44 characters (including the periods).
NUMBER
specifies a number that SMP/E is to use when assigning a name to the SMPTLIB data set associated with this FROMDS data set. (This is similar to the way the relative file number is used in RELFILE processing.)
VOL
specifies, for an uncataloged data set, the volume serial number of the volume containing the FROMDS data set. If specified, this volume identifier must be from 1 to 6 alphanumeric characters.

VOL may be omitted for a cataloged data set.

UNIT
specifies, for an uncataloged data set, the UNIT type containing the FROMDS data set. If specified, the UNIT value must be from 1 to 8 characters and must conform to standard UNIT naming conventions. IBM SMP/E for z/OS, V3R6 accepts any nonblank characters specified between the open and close parentheses, up to a maximum length of 8.

UNIT may be omitted for a cataloged data set.

Note: FROMDS is mutually exclusive with DELETE, LKLIB, RELFILE, and TXLIB.
LEPARM
specifies link-edit utility attributes for the module. Any of the following values can be specified:
Read syntax diagramSkip visual syntax diagram
|--AC(1)--ALIGN2--+-+-AMODE(24)-+--+--+-COMPAT(LKED)-+--DC------>
                  | '-AMOD(24)--'  |  +-COMPAT(PM1)--+       
                  +-+-AMODE(31)-+--+  +-COMPAT(PM2)--+       
                  | '-AMOD(31)--'  |  +-COMPAT(PM3)--+       
                  +-+-AMODE(64)-+--+  '-COMPAT(PM4)--'       
                  | '-AMOD(64)--'  |                         
                  +-+-AMODE(ANY)-+-+                         
                  | '-AMOD(ANY)--' |                         
                  '-+-AMODE(MIN)-+-'                         
                    '-AMOD(MIN)--'                           

>--FETCHOPT--(--+-PACK---+--,--+-PRIME---+--)--FILL--(--nn--)--->
                '-NOPACK-'     '-NOPRIME-'                      

>--HOBSET--MAXBLK--(--nnnnn--)--NE--+-NOCALL-+--OL--OVLY-------->
                                    '-NCAL---'             

>--+-+-REFR-------+--+-RENT-------+--+-REUS---------+-+--------->
   | '-REUS(REFR)-'  '-REUS(RENT)-'  '-REUS(SERIAL)-' |   
   '-REUS(NONE)---------------------------------------'   

>--+-+-RMODE(31)-+----+--SCTR--+-UPCASE(YES)-+------------------|
   | '-RMOD(31)--'    |        '-UPCASE(NO)--'   
   +-+-RMODE(24)-+----+                          
   | '-RMOD(24)--'    |                          
   +-+-RMODE(ANY)-+---+                          
   | '-RMOD(ANY)--'   |                          
   '-+-RMODE(SPLIT)-+-'                          
     '-RMOD(SPLIT)--'                            

Note:
  1. The LEPARM values from the ++MOD MCS are associated with a load module entry only if the module was copied, not link-edited, into the target libraries. (The COPY indicator is set in the load module entry.) If the load module was link-edited, JCLIN must be used to change its link-edit utility attributes.
  2. During APPLY processing of a ++MOD MCS with LEPARMs, the LEPARM options are saved not in the MOD entry created, but in the LMOD entry. During ACCEPT processing, the MOD entry is created with the LEPARMs present. The target zone MOD entry can contain the LEPARM options through either UCLIN or the copying of the distribution zone to a target zone.
  3. All LEPARM attributes may also be specified in the format ‘attribute=value’. For example, FILL(nn) may also be specified as FILL=nn.
  4. The previously listed link-edit attributes are the only attributes that can be specified on the LEPARM operand. If any other attributes are specified, a syntax error will result during RECEIVE processing.
  5. The LEPARM values of DCBS, LET, LIST, XCAL, and XREF are recognized by SMP/E, but are not saved. Specifying them on the ++MOD MCS does not cause them to be passed to the link-edit utility.
  6. RMODE(31) is a synonym for RMODE(ANY).

For more information about how the LEPARM operand is processed, see the topics on ACCEPT and APPLY processing in SMP/E for z/OS Commands. These attributes are described in full in MOD entry (distribution and target zone).

LKLIB
is the ddname of the partitioned data set containing the link-edited format of the object module. This operand is required if the module is provided in a data set, rather than inline or on a tape.
Note: LKLIB is mutually exclusive with FROMDS, RELFILE, and TXLIB.
LMOD
lists existing load modules that are to contain the module. If any of the names specified are not already LMOD subentries in the target zone MOD entry, they are added during APPLY processing.
Note:
  1. LMOD can be used only to add a module to an existing load module.
  2. LMOD cannot be used to create a new load module. Nor can it be used if any link-edit control statements must be added or changed to add the module to an existing load module. However, you can use JCLIN data to create a new load module and to add or change link-edit control statements.
  3. If an LMOD entry does not exist for one of the load modules specified, sufficient information is not available to create one. Thus, when the MOD is to be link-edited during APPLY processing, an error message is issued, and no link-edit is performed for that load module.
name
specifies the name of the module in the distribution library and, optionally, in the target library. The name can contain any alphanumeric characters and $, #, @, or hex C0.
RELFILE
identifies which relative file associated with the SYSMOD contains this module.This operand is required if you provide the element in RELFILE format, rather than inline or in a LKLIB or TXLIB data set.
Note:
  1. RELFILE is mutually exclusive with FROMDS, LKLIB, and TXLIB.
  2. If an object module is provided in RELFILE format, it must be in link-edited format.
RMID
specifies the last SYSMOD that replaced this module. This operand can be used only in a service-updated function, and the specified PTF must be integrated into the function.
TALIAS
specifies one or more alias names for the module. The aliases exist in the distribution library and the target library.
You can use TALIAS for a module that was copied from a distribution library into a target library (defined by JCLIN data as a copied module), but not for one that is link-edited (defined by JCLIN data as a link-edited module).
Note: TALIAS must be specified on the ++MOD MCS even if ALIAS was specified on the COPY SELECT statement. TALIAS is required for the RECEIVE command to properly handle aliases in RELFILEs. During RECEIVE processing, SMP/E copies RELFILEs to SMPTLIB data sets. All element members and their associated aliases are copied. Because JCLIN is not processed during RECEIVE, the aliases must be identified on the MCS to get RECEIVE to copy the aliases.

Likewise, to specify an alias for a copied load module, you must use the TALIAS operand on the ++MOD statement for that load module.(To specify an alias for a link-edited load module, do not use TALIAS. You must identify that alias using an ALIAS link-edit control statement in the JCLIN that defined the load module. For more information, see SMP/E for z/OS Commands.)

Note: TALIAS is mutually exclusive with DALIAS.
TXLIB
is the ddname of the partitioned data set containing an object module that has not been link-edited. This operand is required if the module is provided in a TXLIB data set rather than inline, in a FROMDS data set, in a LKLIB data set, or in RELFILE format.
Note:
  1. SMPTLIB cannot be used as a value on the TXLIB operand.
  2. TXLIB is mutually exclusive with FROMDS, LKLIB, and RELFILE.
UMID
specifies the SYSMODs that have updated this module since it was last replaced. This operand can be used only in a service-updated function, and the specified PTFs must be integrated into the function.
VERSION
specifies one or more function SYSMODs that currently contain the element. The function containing the ++MOD MCS takes over ownership of the element from the specified functions.

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