I use the method Jon describes below exactly... I've never had any problems.
I put comments in the top of the service program source, to run on the command line (after creating the module)
      *  After change :
      *        UPDSRVPGM SRVPGM(mylib/mysrvpgm)
      *        MODULE(mylib/mysrvpgm) SRCFILE(mylib/QSRVSRC) BNDDIR(mybnddir)
      *           - or if adding a procedure -
      *        UPDSRVPGM SRVPGM(mylib/mysrvpgm)
      *        MODULE(mylib/mysrvpgm) EXPORT(*SRCFILE) SRCFILE(mylib/QSRVSRC)
      *        BNDDIR(mybnddir)
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of Jon Paris
Sent: Tuesday, September 20, 2022 11:01 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Adding to a Service Program
I agree with the others that Binder Language is the answer. But these days few people bother with multiple signatures and take the same approach  that IBM use - namely a hared-coded signature that never changes. Unless and until you need to force a change to catch any programs that were not rebound after you needed to change the signature for whatever reason.
THE critical thing - regardless of multiple signatures or a single one is the ORDER of the names in the Binder Language is what controls the slot order in the program - and that is the only order that matters.
When adding a new procedure ALWAYS add it to the end of the list - don't be tempted to place it alphabetically.  Add it to the end of the list and all will be well.
You might find these useful:
https://authory.com/JonParisAndSusanGantner/Service-Programs-and-Signatures <
https://authory.com/JonParisAndSusanGantner/Service-Programs-and-Signatures>
https://authory.com/JonParisAndSusanGantner/Writing-the-Binder-Language <
https://authory.com/JonParisAndSusanGantner/Writing-the-Binder-Language>
When Barbara Morris teaches this topic she uses comments in the binder source like this - a model I have adopted and encourage all my clients to do so.
 
        /* Binder Language for  UTILS   */
        /* Signature value remains the same */
        /* Add EXPORT SYMBOL line for each new procedure added */
        /* The order of the EXPORTS must never change */
        /* New Exports must be added to the END of the list */
        /* Never remove an Export entry from the list */
Jon P
On Sep 20, 2022, at 6:08 AM, Rich Loeber <rich@xxxxxxxxx> wrote:
I'm a newbie to service programs.  If I have an existing service program that is in use, how do I add a new module to it?  Do I have to rebuild it from scratch?  If so, does that mean that I have to rebind all current programs that are using the service program?
Rich Loeber
Kisco Systems LLC
https://www.kisco.com
-- 
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related questions.
Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.