×

Good News Everybody!

The new search engine is LIVE!

Please report any problems to david (at) midrange.com.




Because OPDESC isn't always available. As you've seen in this
instance. Also, while RPGLE and CLLE pass at least minimal OPDESC, C
and COBOL do not.

If the procedure is for external usage, like IBM's APIs, then you're
better off with the extra length parameter.

Charles

On Fri, Oct 31, 2008 at 9:58 AM, Lim Hock-Chai
<Lim.Hock-Chai@xxxxxxxxxxxxxxx> wrote:
Understand, I normally prefer to use OPDESC to figure out the length
when possible. Why make all the callers do the work when there is a way
to figure it out internally ;).

"Vern Hamberg" <vhamberg@xxxxxxxxxxx> wrote in message
news:<mailman.1370.1225405735.13295.rpg400-l@xxxxxxxxxxxx>...
IBM handle it using a separate parameter for the length in many
"retrieve" APIs. You can declare the return variable with length = 1
and
options(*varsize). This is Bruce V's recommendation. Then you send a
second variable that says how long your parameter really is - the API
uses that much to put its results into.

HTH
Vern

Lim Hock-Chai wrote:
Ops, yes "without losing the original length" is what I meant.

If you have OPDESC on your export procedure, you could use CEEDOD to
figure out the length of *varsize parameter (No additional length
param
needed). This work fine until I need to pass this *varsize
parameter to
another procedure that actually does the work. In this case, this
other
procedure is getting the max size of the *varsize variable length.
I
can go a round it, but the way that I'm doing it is quite "not so
pretty". Soooo, I just want how other handle this type of stuff.




"Kurt Anderson" <kurt.anderson@xxxxxxxxxxxxxx> wrote in message
news:<mailman.1358.1225402213.13295.rpg400-l@xxxxxxxxxxxx>...
Do you mean "without" losing the original length?
It's my understanding that when you use *varsize you should be
sending
another parameter stating the length of the field.

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Lim Hock-Chai
Sent: Thursday, October 30, 2008 3:47 PM
To: RPG programming on the AS400 / iSeries
Subject: Passing *varsize parameter to another procedure

Can somebody suggest the best way to pass a *varsize parameter to a
*varsize parameter of another procedure with losing the original
length
of the variable?


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