|
Thank you all for the advice and help!!! I have a understand them better. Justin Houchin Programmer Reliatek, Inc ----- Original Message ----- From: <rob@dekko.com> To: <rpg400-l@midrange.com> Sent: Friday, April 19, 2002 10:41 AM Subject: Re: Service Programs > This is a multipart message in MIME format. > -- > [ Picked text/plain from multipart/alternative ] > With a service program you can change certain parts of the service program > and not have to recompile every program using it. > > Rule 1) You could change the logic within a subprocedure with no worry > about recompiling other programs. > For example if I change > x=y*2 > to > x=y*3 > I will not have to recompile programs using this service program. > > Rule 2) Do not remove a subprocedure, or modify the number of parameters > passed to a particular subprocedure. > Instead, change deprecated subprocedures to call new ones. If you truly > feel you need more parameters add a new subprocedure and have it do what > it needs with the new parameters and try to use the old subprocedure for > the old parameters. > > Rule 3) If you add a new subprocedure to the service program you had > better start learning about: > Signatures > Binder language > Simply put - If have a service program with two subprocedures I would have > the following: > mylib/qsrvsrc(mysrvpgm). This is binder language. Only 3 verbs that I > use. Pretty simple stuff. > STRPGMEXP PGMLVL(*CURRENT) LVLCHK(*YES) SIGNATURE(*GEN) > /********************************************************************/ > /* *MODULE SRVPGM ROUTINES 04/11/02 14:01:00 */ > /********************************************************************/ > EXPORT SYMBOL("ADDDAYS") > EXPORT SYMBOL("CENTER40") > EXPORT SYMBOL("NEWSUBPROC") > ENDPGMEXP > Then if I add a new subprocedure I would have: > STRPGMEXP PGMLVL(*PRV) LVLCHK(*YES) SIGNATURE(*GEN) > /********************************************************************/ > /* *MODULE SRVPGM ROUTINES 04/11/02 14:01:00 */ > /********************************************************************/ > EXPORT SYMBOL("ADDDAYS") > EXPORT SYMBOL("CENTER40") > ENDPGMEXP > Notice the *CURRENT and the *PRV? > CRTSRVPGM ... SRCFILE(ROUTINES/QSRVSRC) ... > Now, If I do a > DSPSRVPGM SRVPGM(ROUTINES/SRVPGM) DETAIL(*SIGNATURE) > You will see: > 49D4A34A5AE6D049BA18DEB5EB4FF53E > B49D4A34A5AE60E85D74405E3288A2D7 > And If I do a > DSPPGM PGM(ROB/CHECKRD) DETAIL(*SRVPGM) > You will see > Service > Program Library Signature > SRVPGM ROUTINES 49D4A34A5AE6D049BA18DEB5EB4FF53E > Notice how the signature matches one of the available signatures in my > service program? > > Rob Berendt > -- > "They that can give up essential liberty to obtain a little temporary > safety deserve neither liberty nor safety." > Benjamin Franklin > > > > > Justin Houchin <jhouchin9@charter.net> > Sent by: rpg400-l-admin@midrange.com > 04/19/2002 10:04 AM > Please respond to rpg400-l > > > To: rpg400-l@midrange.com > cc: > Fax to: > Subject: Re: Service Programs > > > So let me get this straight, with a service program, I can change the its > module and I do not have to recompile the program? And what do you mean by > "signature"? > > > Justin Houchin > ----- Original Message ----- > From: <dmosley@dancik.com> > To: <rpg400-l@midrange.com> > Sent: Friday, April 19, 2002 9:59 AM > Subject: Re: Service Programs > > > > > > For one, if the module changes, then the Program itself has to be > > re-compiled. If the module/service program changes, no big deal. (As > long > > as the signature doesn't change) > > > > David L. Mosley, Jr. > > Systems Analyst > > 2000 CentreGreen Way > > Suite 250 > > Cary, NC 27513 > > > > > > > > Justin Houchin > > <jhouchin9@charte To: RPG Midrange > <rpg400-l@midrange.com> > > r.net> cc: > > Sent by: Subject: Service > Programs > > rpg400-l-admin@mi > > drange.com > > > > > > 04/19/02 10:50 AM > > Please respond to > > rpg400-l > > > > > > > > > > > > > > This is a multi-part message in MIME format. > > -- > > [ Picked text/plain from multipart/alternative ] > > Hi Everyone, > > What is the advantage of creating a service program out of a module > > than just binding that module to create the program? > > > > > > Justin Houchin > > Programmer > > Reliatek, Inc > > _______________________________________________ > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list > > To post a message email: RPG400-L@midrange.com > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > > or email: RPG400-L-request@midrange.com > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > > > > > > > > _______________________________________________ > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list > > To post a message email: RPG400-L@midrange.com > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > > or email: RPG400-L-request@midrange.com > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > > > > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > 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 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.