|
I have a CL program calling an RPG procedure. The basics are:
DCL &DISTLIST *CHAR 5352
DCL &GRPID C *CHAR 20
DCL &TOTYPE *CHAR 4
.. assign values to &GRPID and &TOTYPE ..
CALLPRC EMLTO PARM((&GRPID *BYVAL) (&TOTYPE *BYVAL)) RTNVAL(&DISTLIST)
&DISTLIST is defined as varying in the RPG procedure, so its length is data
length + 2.
Using debug, I can see that the value in the RPG procedure at the point of
return is filled with trailing x'00'. In the RPG procedure, I put a
'watch'
on the returned variable, and after the RPG procedure has finished but
before I return to the CL program, I get a message that QUIPUTV has
modified
&DISTLIST. The variable now contains garbage where to x'00' used to be.
I pass &DISTLIST as the 'TO' parameter of the MMAIL command EMLMSG. The
command fails because of an invalid parameter, and never gets to the EMLMSG
cpp.
TIA,
Leo Burkett
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.
Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com
As an Amazon Associate we earn from qualifying purchases.
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.