Re: RPG Service Program vs Include Source for Shared Subprocedures and SQL Calls
Daniel Gross <[email protected]> Fri, 20 Mar 2026 22:31:14 +0100
| Newsgroups | gmane.comp.lang.as400.rpg |
|---|---|
| Message-ID | <[email protected]> |
I also lean heavily toward *SRVPGMs - simply because you can update them without recompiling all programs. Example: You find a small error or want to add some functionality in one of your procedures. With /COPY or /INCLUDE you will have to recompile everything. With a *SRVPGM you simply recompile and bind this, and the programs will use the new version (after the activation group is "reloaded"). HTH Daniel > Am 20.03.2026 um 22:21 schrieb Charles Wilt <[email protected]>: > > 99.99% of the time, *SRVPGM is the right way to do it.. > > I've heard of, but not run into, circumstances where /INCLUDE executable > code was needed. > Some specific security check IIRC. > > Too many places /INCLUDE executable code because they are afraid of and/or > don't understand *SRVPGMs. > > Charles > >> On Fri, Mar 20, 2026 at 3:13 PM Richard Schoen <[email protected]> >> wrote: >> >> Hi All, >> >> In the Python, Java and .Net world I usually create Python classes, jar >> files or DLLs to contain shared functionality. >> >> Because most IBMi shops have an interesting mix of RPG code bases I'm >> trying to determine whether I should create a service program or use >> includes for shared functionality at a customer site. >> >> With service programs, write once, bind and use everywhere. >> >> With copy books, just include on-the-fly. >> >> In the past I've leaned towards copybooks, but I'm curious what others >> think. I'm a little cautious of burying SQL functionality into one or more >> service programs. >> >> Real-world thoughts appreciated. >> >> Thanks >> >> Regards, >> Richard Schoen >> Web: http://www.richardschoen.net >> Email: [email protected]<mailto:[email protected]> >> >> -- >> 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.