A MOD entry represents a member of a DLIB data set. Each DLIB data set
member may contain one or more sections, like CSECTs. (Those CSECTs
residing in a particular DLIB member might or might not be known to
SMP/E, depending on how the product was packaged. But SMP/E really acts
on the MODs.) To create a load module (in a PDS) or a bound program
object (in a PDSE), one or more MODs are included to create the output
member. Which ones are included is specified using LMOD keywords on the
++MOD statement and JCLIN for "linkedit" steps, and the LMODs in which a
MOD is included are stored in its MOD entry.
Now you have load module (or PO, but for convenience just load module
hereafter) in a target library. When an FMID has been applied and
accepted without any of its PTFs, the sections in the load module are
identical to the content of included DLIB members.
Now, you put on a PTF that affects one of the MODs but not all of the
MODs in the load module. If SMP/E included all of the MODs from the
DLIB, and the new MOD in the PTF, that would be OK...the first time.
But now, a second PTF comes along. It affects a different MOD in the
load module. If SMP/E includes the MODs from the DLIBs and the new MOD
from the PTF, it will regress the first MOD's content in the load
module. We hate it when this happens.
So SMP/E instead cleverly includes the new MOD from the PTF and the load
module from the target library instead. This reuses the other content
of the load module and prevents regression.
Does that answer your question?
Finally, if you are missing CSECTs in the output load module that were
present in the input load module after installation some PTFs, and they
were not explicitly deleted in the PTF packaging, Something Is Very
Wrong. What it might be is difficult to say without more information.
John McKown wrote:
No, but why would IBM do INCLUDE statements for some MODS but not others
in the same distribution library (AOSBN)?
<snip>
Yeap. I did all that. There is a CALLLIBS for SCEELKED and a SYSLIB for
LINKLIB. What seems missing to me are the LKED "INCLUDE AOSBN(csect)"
statements. There are some a number of those for other CSECTs. But none for
the missing CSECTs. To my way of thinking, if you INCLUDE some MODS from
AOSBN, then it is reasonable to INCLUDE other, used, MODS which are
refereced and exist in AOSBN. And the "missing" CSECTs are indeed in the
target zone with AOSBN as the library in which they reside.
--
John Eells
IBM Poughkeepsie
ee...@us.ibm.com
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN