|
I seem to recall issues with passing char(1) parameters from RPG to CL...
I can't seem to find the details, just solutions
- extproc(*CL:name)
- use two byte parms...
Not sure if this will matter or not in this scenario...
And if somebody could refresh my memory on what the differences are for
char(1) parms between RPG and CL, that'd be nice :)
Charles
On Thu, Aug 5, 2021 at 9:22 AM <smith5646midrange@xxxxxxxxx> wrote:
Thanks for the reply.
This worked but since it took me a while to figure it out using "old
school"
formatting, I thought I would reply back with the code that I used to test
the concept.
--------------------
Program RTNPARMPGM
d rtnparmcl pr n rtnparm
if rtnparmcl();
dsply 'Success';
else;
dsply 'Failure';
endif;
*inlr = *on;
return;
--------------------
Program RTNPARMCL
PGM PARM(&STATUS)
DCL VAR(&STATUS) TYPE(*LGL)
CHGVAR VAR(&STATUS) VALUE('0')
ENDPGM: ENDPGM
--------------------
I compiled both sources to modules and then executed command CRTPGM
PGM(RTNPARMPGM) MODULE(RTNPARMPGM RTNPARMCL)
When I ran RTNPARMPGM, it properly displays Success or Failure (had to mod
the CHGVAR in the CL to test both results).
One other fun fact. SEU does not like the keyword RTNPARM but when you
look
at the error message, it says RTNPARM is one of the value values. I know,
SEU is dead but it is still used in a lot of places so I thought that I
would point out this info because it took me a while to figure out what was
wrong with it.
-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
Niels
Liisberg
Sent: Thursday, August 5, 2021 9:41 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Return *on or *off from CLLE module
I suggest you create the prototype for the CL where the first parameter is
the RTNPARM
The you can use it in RPG as a function ( as you describe) but the CL is
just the first parameter you have to set to LGL '1' or '0'
https://www.ibm.com/docs/en/i/7.4?topic=keywords-rtnparm
On Thu, Aug 5, 2021 at 3:24 PM <smith5646midrange@xxxxxxxxx> wrote:
I define a lot of my RPGLE modules with a return type of indicator.--
In the module, I return *on for success or *off for failure. If I
need more details from the module, I include fields as part of a parm
list. Then in my code, I can write something like this
If DoesCustomerExist(customerNumber);
// execute code based on customer existing
Else
// execute code based on customer not existing
Endif
Is there a way to return the *on or *off from a CLLE module? RETURN
does not have a parm.
--
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
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
--
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.