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



Booth,

In case of it's of any interest - just to add to a point that Bradley
made...

Once you start getting used to using the return value, writing functions
which you can use in composition with other functions, you eventually end
up wrestling with the issue of = "how to I signal that something went
wrong?"

Sometimes people then revert back to having the return value as a boolean
to indicate success or failure, but that prevents you from using it
expressively.

The solution many people use is to implement some kind of throwError()
routine in a generic service program
This would send a meaningful escape message.
Then you can go back to using your return value for the real thing you want
to return.
You just wrap your procedure call in a monitor block and on-error retrieve
the previous error message and take appropriate action.

The first implementation I saw of this was from Greg Helton in 2005.

Here is a more recent link I found:

Throw and Catch <https://gist.github.com/greghelton/7493168>

regards,
Craig


On 17 September 2018 at 15:34, Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote:

I'm assuming the caller is also RPGLE (rather than something like a Db2
stored procedure).


By default parameters are read/write. You can specify CONST or VALUE on
your prototype to make them read-only. The difference between CONST and
VALUE being whether the local variable can be modified, but in either case
the caller variable is not changed.


You can only return a single return value (I often return a data structure
when I need multiple values). You declare the return type on the prototype:

Dcl-pr myProcdure int(10);

This will return an interger value.


HTH




________________________________
From: Booth Martin <booth@xxxxxxxxxxxx>
Sent: Saturday, September 15, 2018 9:14 PM
To: RPG programming on the IBM i / System i
Subject: in & out parameters in RPGLE

This seems straight forward but is it? The RPG world has gone places I
never imagined.

I want to use PR/PI for the parameter(s) needed as input for a program,
right?

But what about the return parameter(s)?





--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: http://amzn.to/2dEadiD


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.