Let me just clear it. The calls are made by vector number - not by name. So
each call to your procedures are stored as an index to an array of
procedure pointers. If you introduce a new procedure in between existing
procedures, then subsequent procedures are "moved" to one index higher-
messing up the refereces in the "client" calls..... does it make sense?

UPDPGM of all client programs will ultimately fix this if you want to keep
the procedure names in a certain order.
tor. 14. sep. 2017 kl. 00.44 skrev Niels Liisberg <nli@xxxxxxxxxxxxxxxxx>:

If you put it in the end of the binder source - you have no reasons to
recompile... imho. That is best practice.
tor. 14. sep. 2017 kl. 00.40 skrev Dan <dan27649@xxxxxxxxx>:

On Wed, Sep 13, 2017 at 3:14 PM, David Gibbs <david@xxxxxxxxxxxx> wrote:

On 9/13/2017 2:08 PM, Alan Campin wrote:

As long as the interface has not changed, you will not need to
recompile.

You need to create a current listing your procedures. then when you
add a new procedure, your current becomes your previous and your new
current is at the top.


As long as new procedures are added to the end of the list of
procedures,
and you specify a constant signature in the binder source, you don't
need
to recompile programs that reference the service program.

As I understand it, procedures are reference by their relative location
in
the service program.

The only time you would have to specify multiple PGMLVL's in binder
source
is if you remove, or reorder, the procedures that are specified.


First of all, thanks to all who responded!

Currently, my service program (and binder source) reference two RPG
modules, M1 and M2. Module M1 has four procedures M1P1 - M1P4, and module
M2 has three procedures M2P1 - M2P3. My binder source reads as follows:
STRPGMEXP PGMLVL(*CURRENT)
EXPORT SYMBOL(M1P1)
EXPORT SYMBOL(M1P2)
EXPORT SYMBOL(M1P3)
EXPORT SYMBOL(M1P4)
EXPORT SYMBOL(M2P1)
EXPORT SYMBOL(M2P2)
EXPORT SYMBOL(M2P3)
ENDPGMEXP

Now I need to add procedure M1P5 to module M1. Will I be able to add it
after M2P3 in the above binder source? If not, I'm thinking I might need
to separate my service programs to have only one module.

- Dan
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD

--
Best regards

Niels Liisberg
Chief Software Architect
System & Method A/S


This thread ...

Follow-Ups:
Replies:

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

This mailing list archive is Copyright 1997-2019 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].