× 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.



I'd like to try and be a little clearer here, having learnt partly
from the very experts that have already replied and knowing how it
feels.

You've created some modules of type RPGLE and SQLRPGLE. You've bound
them into a SRVPGM. Then you've created another module that uses
procedures from the modules of the SRVPGM and created a test program
from this module. Your test program seems to be bound by copy to all
the modules of your BNDDIR. Your modules are now bound to 2 objects,
the test program and the SRVPGM. The test program is not bound to the
SRVPGM, so when you do UPDSRVPGM, the module referenced in the test
program is the earlier version. You could have a separate BNDDIR for
the test program that contains just the SRVPGM, then your program will
be bound to it by copy.

2012/10/4 Alan Campin <alan0307d@xxxxxxxxx>:
Not clear why you need to use UPDSRVPGM. All the CRTSRVPGM does is binding
of the objects. Takes almost nothing.

Also, have you considered using mine or Scott's make tool? I don't think
you can do ILE development without a make tool. Here is an example of what
I put in the header of a service program.

*_> DLTSRVPGM SRVPGM(@5/@4)
*_> CRTSRVPGM SRVPGM(@5/@4) +
*_> MODULE(XVACTJ_M01 XVACTJ_M02 XVACTJ_M03) +
*_> SRCFILE(@2/@1) SRCMBR(XVACTJ_B) +
*_> TEXT('Active Jobs Functions') +
*_> BNDDIR(ILBNDDIR) OPTION(*DUPPROC) +
*_> ACTGRP(CRENGLAND)

You will find the make tool at www.think400.dk/downloads.htm under COMPILE.

Also, I hear that you creating modules and then binding to multiple service
programs. I hope not. If you are doing this, something is very wrong.

On Thu, Oct 4, 2012 at 10:30 AM, Koester, Michael <mkoester@xxxxxxxxxxxxx>
wrote:
Before I get too far into creating production objects without
understanding what I'm doing, I need help with something pretty
fundamental: Like how to update a module and not have to recompile the
world after doing so. Or at least knowing what steps ensure that the new
object will be used across the application.

I've created some RPG-ILE and SQLRPG modules, and created a service
program that "contains" them by listing each module in the MODULES
parameter on the CRTSRVPGM command. I created a binding directory that
lists each module. I then created a test program (with an H-spec
specifying the BNDDIR) to call a few of those modules. I compiled and
tested the test program. So far so good.
I modified some logic (without changing the interface) in one of the
called modules, recreated the module object, and saw that the module was
updated in the BNDDIR. I used UPDSRVPGM to get that change registered in
the service program. I signed off my session that I was testing in (per
suggestions from midrange archives), and signed back on to verify that the
changes would appear when I ran my test program.
The test program appears to use the former copy of the module.
I've been very deliberate about putting all the objects in the same
library, and restricting my library lists, so I think it's more a matter of
my not understanding what I need to do and how I need to do it.

If I recompile the test program, the new copy is called, but I was hoping
that wouldn't be necessary. I'm hoping to have these modules available to
many other programs without going through that. I've not messed with
binder language yet, but again, I haven't made any changes to the interface.

Our CSM is home-grown (circa 1992) and knows nothing of ILE stuff. And
there's no chance of getting a commercial product to replace it here in my
lifetime.
OS is at 7.1

Thanks.
Michael Koester

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

--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-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.