To create a MOD entry, you should use one of the following methods
rather than UCLIN:
- JCLIN, if a new module is being added to a new load module. For
examples of how JCLIN creates MOD entries, see SMP/E for z/OS Commands.
- The LMOD operand on the ++MOD statement, if a new module is being
added to an existing load module and no changes are needed in the
link-edit control statements other than the INCLUDE for the new module.
For an example of how to do this, see ++MOD MCS.
You could make the same changes with the UCLIN command. However,
you should make sure the changes are correct and complete. For example,
assume you want to define two new modules, MOD99A and MOD99B. These
are linked together to form load module LMOD99AB, which has an entry
point of MOD99A and exists in LINKLIB. The FMID of both new modules
is ZUSR001, a user-created function. You could use these commands
to create the MOD and LMOD entries:
SET BDY(TGT1) /* Set to target zone. */.
UCLIN /* */.
ADD MOD(MOD99A) /* Define new module entry. */
DISTLIB(USRDLIB1) /* Define DLIB. */
LMOD(LMOD99AB) /* Load module. */
FMID(ZUSR001) /* Functional owner. */
/* */.
ADD MOD(MOD99B) /* Define new module entry. */
DISTLIB(USRDLIB1) /* Define DLIB. */
LMOD(LMOD99AB) /* Load module. */
FMID(ZUSR001) /* Functional owner. */
/* */.
ADD LMOD(LMOD99AB) /* Now define LMOD. */
SYSLIB(LINKLIB) /* */
RENT REUS /* Attributes. */
++LMODIN /* Link statements. */
INCLUDE USRDLIB1(MOD99A,MOD99B)
ENTRY MOD99A
++ENDLMODIN /* */
/* */.
ENDUCL /* */.