× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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 thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.