× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



No, part of the pwoer of ILE is having multiple modules and being able to
bind together different languages into a single program or service program
object. In RPG III world you would have something like

AR0001CL - CL Driver
AR0001AR - Mianline
AR0001C2 - CL function
AR0001C3 - CL function

Now you have four objects to distribute.

In the ILE world I distribute one object, AR0001.

AR0001_M01
AR0001_M02
AR0001_M03
AR0001_M04

The other thing I can do is create multiple procedures to perform specific
functions for a CLLE. The CL can just call using CALLPRC. Very handy.


The most important point is to name all the modules with the same 6 digit
prefix so it clearly shows that everything is part of the one top level
object. If you use a single source file then you can see all the pieces at
one time.



On Thu, Feb 7, 2013 at 9:39 AM, Vernon Hamberg <vhamberg@xxxxxxxxxxxxxxx>wrote:

Mark

I misread, I think - I was seeing it as one module per executable object
- so I think we actually agree, which is a good thing, eh?

Vern

On 2/7/2013 10:05 AM, Mark S Waterbury wrote:
Vern:

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.

FWIW
Vern

On 2/7/2013 9:36 AM, Mark S Waterbury wrote:
-snip-

Maintenance will be easier if you avoid binding *MODULEs into more than
one place (one *PGM or one *SRVPGM only).


-snip-

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.