Your example below does not violate my suggestion, of binding a given
*MODULE into one place (a single *PGM or *SRVPGM). I said nothing about
any given *PGM or *SRVPGM being composed of one or more *MODULEs. =-O
Let;s say your CLLE *MODULE is named CLLE1, and your RPGLE *MODULE is
named RPGLE1 ... what I am saying is that you should almost never "bind
by copy" either one of those two modules into more than one *PGM or
*SRVPGM. I did not say that you should avoid binding both of them
together into a single *PGM or *SRVPGM.
The issue I was speaking to is "maintenance" -- if you bind the same
*MODULE into many *PGMs and/or multiple *SRVPGMs, then any time you have
to "fix" code in that *MODULE, you must "hunt down" every place it is
bound into, and replace it, either using UPDPGM or UPDSRVPGM, or using
CRTPGM or CRTSRVPGM to recreate from all of the component *MODULEs
(assuming you keep them around.)
Hope that helps,
Mark S. Waterbury
> On 2/7/2013 10:50 AM, Vernon Hamberg wrote:
I've heard this recommendation a couple times in these threads. It seems
to go against one of the principle "benefits" of ILE - that one can
combine modules in different languages.
One question is, how much benefit IS that? I find at least one situation
to be beneficial, as described here -
We often have a front-end CL that sets up the environment, then calls an
RPG program to do the work.
I think it's a good idea to change the call to a CALLPRC, make the RPG
into a module, same with the CL, and link the 2 together - one program
object instead of two, for what it's worth.
Now that adds its own complexity to things, in my experience. Here is
where a change management app is helpful.
To add to the idea, the RPG module can have multiple procedures, and the
CL can call them as needed - instead of calling several separate
programs, again reducing the number of program objects.
Just an idea - that a CL driver program can make calls into a linked
module instead of separate programs.
On 2/7/2013 9:36 AM, Mark S Waterbury wrote:
Maintenance will be easier if you avoid binding *MODULEs into more than
one place (one *PGM or one *SRVPGM only).