*BYREF should work -- provided that the RPGLE routine is ALSO receiving the parameter by reference.

However, for return values or *BYVAL parameters, there's an incompatibility between the way RPG passes 1A fields and the way CL treats *CHAR LEN(1) fields.

Two solutions to the problem posted here:

This is a FAQ.

GKern@xxxxxxxxxxxxxxxx wrote:
I'm trying to call a procedure in a *SRVPGM that receives a one byte
alpha parameter. The procedure works when tested using RPGLE. But
when I try to use it with CALLPRC, in debug I can see the parameter
received is hex FF. The procedure doesn't return a value. I've coded
the parameter in the CLLE first as one byte and then as two bytes and
tried multiple ways of formatting it for the call but it's always
received as one byte (hex FF). I've also tried specifying *BYREF on
the call. I'm current with PTF's at V5R4.

This thread ...


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

This mailing list archive is Copyright 1997-2019 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].