|
What you really should be doing is: TaxAmt = CalcTax(OrderAmt); and return a value from your subprocedure D CalcTax PR 15p 2 D OrdAmtParm 15p 2 const P CalcTax b D CalcTax PI 15p 2 D OrdAmtParm 15p 2 const D WorkVar s 15p 2 /free WorkVar=OrdAmtParm * ...; // your calculation here return WorkVar; /end-free P CalcTax E Rob Berendt -- Group Dekko Services, LLC Dept 01.073 PO Box 2000 Dock 108 6928N 400E Kendallville, IN 46755 http://www.dekko.com rob@xxxxxxxxx Sent by: rpg400-l-bounces@xxxxxxxxxxxx 04/21/2005 02:25 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> To RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> cc Subject RE: Parameter Procedure return value in the parm list If you are using const, you could do stuff like CalcTax( %dec(orderAmt) : taxAmt ); But your passing off processor efficiency for documentation. Not a good plan just for this type of documentation. Rob Berendt -- Group Dekko Services, LLC Dept 01.073 PO Box 2000 Dock 108 6928N 400E Kendallville, IN 46755 http://www.dekko.com "Kurt Anderson" <kjanderson@xxxxxxxxxxxxx> Sent by: rpg400-l-bounces@xxxxxxxxxxxx 04/21/2005 01:59 PM Please respond to RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> To "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx> cc Subject RE: Parameter Procedure return value in the parm list Charles, I realize that the prototype tells you all you need to know, but ideally I'd like the code to tell me that. Such as, in your example... CalcTax( orderAmt : taxAmt ); ... The amount being changed here is not explicit. As a programmer I now need to page up or whatever to find the prototype to see which field, if any, is being changed. This is what I'd like to get around (w/o writing comments). >There is no way to show that a parm will always be changed or that the parm is only used for output instead >of input/output. Then it looks like what I'm looking for can't be done. >This is one reason I try to make all params input only and use a return value for the results of my >procedures. I hear ya. I've just been comparing, mentally, how a subroutine that exists on our system now would best appear as a procedure. Thanks for your input, Kurt Anderson Application Developer Highsmith Inc -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Wilt, Charles Sent: Thursday, April 21, 2005 1:44 PM To: RPG programming on the AS400 / iSeries Subject: RE: Parameter Procedure return value in the parm list Kurt, The CONST and VALUE keywords tell you a parm is input-only. Thus, the lack of either of those tells you that the parm could be changed. There is no way to show that a parm will always be changed or that the parm is only used for output instead of input/output. This is one reason I try to make all params input only and use a return value for the results of my procedures. If you can't use a return value, make sure that the appropriate names are chosen for the procedure and its parms so that it is obvious that values are returned in the parms. For instance, the names chosen in your example are very poor IMHO. But with names like so: d CalcTax pr d orderAmt 9p 2 value d taxAmt 9p 2 It is obvious that the taxAmt parm is used to return a value. HTH, Charles Wilt iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121 > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Kurt Anderson > Sent: Thursday, April 21, 2005 2:24 PM > To: RPG programming on the AS400 / iSeries > Subject: Parameter Procedure return value in the parm list > > > Hi, > > I'm wondering if there's a way to code a prototyped call and be able > to signify that a parameter will have a value returned to it. > For example... > > (all code is typed in, not copy/pasted, so columns will be off) > > D dtrAmount PR > D order 7 0 const > D amt1 9P 2 > D amt2 9P 2 > > If I have the following statement buried in the code, I can write a > comment to say that amt1 and amt2 will have values returned, but I'd > rather have the code itself tell me. > > dtrAmount( order : amt1 : amt2 ) > > I'm wondering if there's something like the below statement that makes > the parameters that will have values returned to them stand out. > > dtrAmount( order : &amt1 : &amt2 ) > > > Thanks, > > Kurt Anderson > Application Developer > Highsmith Inc. > W5527 State Road 106, P.O. Box 800 > Fort Atkinson, WI 53538-0800 > TEL (920) 563-9571 FAX (920) 563-7395 EMAIL kjanderson@xxxxxxxxxxxxx > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing > list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, > unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx 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@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx 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@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx 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@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx 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.