× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



On Wed, 2017-03-15 at 23:33 +0000, Roger Harman wrote:
I have a couple of processes where I'd like to have one or two optional parms.

In the past, I've just tried using them in a CHGVAR and monitor for MCH3601.

But... I'm wondering if %address() can be used instead. I think it would be cleaner. In my testing, I've seen hex zeros for the %address of a non-passed parm. That seems to indicate a *NULL will be returned. Since it's consistent and not a garbage address, I would think I could count on that logoc.

Does anyone know if this is a documented behavior? I haven't found a definitive answer.

Helge Bichel has given a good answer as I was typing...

I wanted to say, that is not advisable to trust a monmsg or the address
of a parm as it may not contain what you think/assume it does.

A good example is given by Scott Kelement (RPGLE but...):

http://article.gmane.org/gmane.comp.lang.as400.rpg/69232

My guess at why this "bug" happens is that to speed up call stack
processing when a program returns it doesn't bother to *null entries on
the parm "stack" space (parms, if I recall correctly as its been a
while, are pointers to pointers to data) and this may be further
compounded by the "parm pointer stack space" (for want of a better
description) being re-used (by multiple programs at any time) or
bleeding into other data. Nothing is guaranteed.

It may be that CEETSTA is just a long winded "if %address of parm =
*null" or it may be that CEETSTA is checking some hidden value or is
part of a compile time function (like %parms), but better to use the
provided tool than assume a test will always work even if it currently
does the job.


Thanks.

Roger Harman
COMMON Certified Application Developer - ILE RPG on IBM i on Power

Jon.


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