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


  • Subject: Re: Design question re: SrvPgm Modules & Procedures
  • From: "Nelson C. Smith" <ncsmith@xxxxxxxx>
  • Date: Wed, 16 Feb 2000 22:55:35 -0500


----- Original Message -----
From: "Rob Berendt" <rob@dekko.com>
> I still need to take the time and read the ILE concepts manual and
> understand binding better.  Or does someone recommend a session at
> COMMON that will best address this issue?

Susan usually has great sessions on that.....

> I've created a huge service program with multiple subprocedures.  I
> got cute and organized them by function.  Now when I add a new
> subprocedure, in the middle, all heck breaks loose.  Normally I
> recompile every ILE program bound to that service program, shudder.
> Maybe this would be an arguement for separate members.

This is a good argument for using the binder source language.  You can stick
a new procedure anywhere you want to in the source as long as you always add
the exports to the END of the binder source.

I keep my procedures in alphabetical order within a module (just for
convenience), so I'm always sticking new ones in between.  For an easy way
to create your original binder source member, just call the RtvBndSrc
command on your module.  It will create your binder source for you with the
procedures in alphabetical order.  It defaults to the QSRVSRC source file.

WARNING!  Only use this command to get the initial binder source.  After
that, if you add more procedures, use SEU (or some other editor) to copy the
entire original set of source lines down to the bottom and change the
*CURRENT to *PRV.  Then on the original set of source lines (that still say
*CURRENT), add your new procedures to the bottom of the list.  Then
recompile or update the service program.  You will now have two signatures,
one for everything compiled against the original service program and one for
everything compiled against the new version.  You can keep doing this as
much as you want, as long as you always add new procedures to the end of the
*CURRENT list.  I have some that have been added to 50+ times.  Some day
I've got to find time to recompile everything.

I believe it is still a requirement that the *CURRENT set of exports always
had to be the first set listed.  Also, It used to be that all the procedure
names in the binder source had to be in uppercase, but I think that may have
been fixed by now.  I still use uppercase out of  habit.

Once you've created one, it's easy and cures so many problems.

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


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.