On 14/04/2009, at 10:19 PM, David FOXWELL wrote:
I have a CLLE program with one parameter. If I call it without
passing the parameter, I can get it to run if I code MONMSG MCH3601.
This is news to me. Is it OK to program in this manner?
The general use for this technique is when the CLP/CLLE is a CPP for a
RTV* command.
As long as you code the MONMSG MCH3601 after EACH return variable AND
you remove the exception from the job log it's OK. What's NOT OK is to
code a global MONMSG MCH3601 to simply ignore the exception and leave
the unwanted and unneeded and unnecessary messages in the job log
(like one particular vendor I could name).
This is the easiest way to deal with null pointers (which is how the
Command Analyser passes empty return variables.
In your case, because you are trying to emulate optional parameters
(and it appears this is a simple program call rather than a RTV*
command) you should use an internal variable for all references and
only copy the internal value to the return variable when you're about
to return control to the caller. At this point monitor for MCH3601 and
clean up if necessary.
Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists
http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------
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.