|
Hmmm... I'll bet that what is happening is the system is doing it's duty
based on the CONST specifier, and creating an array of 8 elements, each with
three characters, even though you are passing it a single parm of 24, it
shortens it to three, and also, you are only passing it one, so it makes the
other seven.
I would suggest either creating a BASED array that points at char24, and
pass the BASED array, or just pass an array, like the prototype calls for.
On 1/11/06, Lim Hock-Chai <Lim.Hock-Chai@xxxxxxxxxxxxxxx> wrote:
>
> I have a procedure looks like this:
> P testProc B export
> D PI N
> D piParm1 3A value
> D piParm2 3A dim(8) const
>
> . . . .
>
> P testProc E
>
> When I call the above procedure with below, the piParm2 contains 'AAA'
> for all elements, any idea why?
>
> D char24 s 24 inz('AAABBBCCCDDDEEEFFFGGGHHH')
>
> C callp testProc('ST2' :char24)
>
> --
> 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.
>
>
--
"Enter any 11-digit prime number to continue..."
"In Hebrew SQL, how do you use right() and left()?..." - Random Thought
"If all you have is a hammer, all your problems begin to look like nails"
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.