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

Reply via email to