Re: RPG Service Program vs Include Source for Shared Subprocedures and SQL Calls
Brian Parkins <[email protected]> Sat, 21 Mar 2026 12:33:57 +0000
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
May I humbly suggest the use of "slot numbers" <may> provide added flexibility when issuing urgent "fixes" for a particular procedure - to support specific *PGM/*SRVPGMs - without the need to rebuild ALL of the *PGM/*SRVPGMs that use that procedure, (especially if the parameter list has changed.) In other words, an updated *SRVPGM may be applied containing both new and old versions of the same procedure to support affected and unaffected *PGM/SRVPGMs. This "buys time" until the next Release/Version, whereupon all of the code base using this procedure can be updated to use the fixed procedure. Regards, Brian. On 21/03/2026 11:38, Daniel Gross wrote: > Yeah - the "late binding" that ILE implements with service programs is strange. > > Dynamically resolved service programs, but "statically" resolved procedures with "slot-numbers" instead of procedure signatures grew me some grey hair. > > I will never understand, why this decision was made - maybe someone with deeper insight in the development of ILE can clarify this. > > Regards, > Daniel > > >> Am 21.03.2026 um 12:29 schrieb Niels Liisberg <[email protected]>: >> >> .. but service program signatures quickly becomes a nightmare for version >> control.. yes you can … but.. first you had one problem with control the >> version .. now for each signature you have yet an issue.. >> >> Been there - done that.. never again… >> >>> lør. 21. mar. 2026 kl. 18.21 skrev Brian Parkins <[email protected]>: >>> >>> Even under these circumstances a *SRVPGM <may> provide a solution. >>> >>> Multiple versions of the same procedure can co-exist in a single >>> *SRVPGM, (provided the names are unique). The flexibility of Signatures >>> and the Export Symbol Table. >>> >>> 100% agree that *SRVPGMs are the better option; /COPY and /INCLUDE >>> should - in the main - be used only for Prototype inclusion, (with /IF, >>> /DEFINE, etc. as required). >>> >>> Brian. >>> >>>> On 21/03/2026 05:22, Niels Liisberg wrote: >>>> The is some exceptions: versioning - where different clients need >>> different >>>> versions at a certain point in time. >>> -- >>> This is the RPG programming on IBM i (RPG400-L) mailing list >>> To post a message email: [email protected] >>> To subscribe, unsubscribe, or change list options, >>> visit: https://lists.midrange.com/mailman/listinfo/rpg400-l >>> or email: [email protected] >>> Before posting, please take a moment to review the archives >>> at https://archive.midrange.com/rpg400-l. >>> >>> Please contact [email protected] for any subscription related >>> questions. >>> >>> >> -- >> This is the RPG programming on IBM i (RPG400-L) mailing list >> To post a message email: [email protected] >> To subscribe, unsubscribe, or change list options, >> visit: https://lists.midrange.com/mailman/listinfo/rpg400-l >> or email: [email protected] >> Before posting, please take a moment to review the archives >> at https://archive.midrange.com/rpg400-l. >> >> Please contact [email protected] for any subscription related questions. >> -- This is the RPG programming on IBM i (RPG400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/rpg400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l. Please contact [email protected] for any subscription related questions.