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



Yea, I never thought of David's method before. I like it better since it's
going to be significantly faster than resolving a machine check anyway.
Then there's Larry's dislike for MCHxxxx anything which I agree with.


--
Jim Oberholtzer
Agile Technology Architects


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of
DrFranken
Sent: Wednesday, January 31, 2018 10:58 AM
To: Midrange Systems Technical Discussion <midrange-l@xxxxxxxxxxxx>
Subject: Re: Checking for missing parameters in CL

Strange duck that CL, just do stuff and if there is smoke, catch it,
extinguish it, and move on!

I have used your method as well but I like David's method better since we
got pointers and such. I just HATE inviting Mr MCH to the party!

- Larry "DrFranken" Bolhuis

www.Frankeni.com
www.iDevCloud.com - Personal Development IBM i timeshare service.
www.iInTheCloud.com - Commercial IBM i Cloud Hosting.

On 1/31/2018 11:48 AM, dlclark@xxxxxxxxxxxxxxxx wrote:
"MIDRANGE-L" <midrange-l-bounces@xxxxxxxxxxxx> wrote on 01/31/2018
11:38:56 AM:
So I tried something similar in CL...

pgm (&parm1)
dcl &parm1 *char (10)
dcl &p1addr *ptr
chgvar &p1addr (%address(&parm1))
if (&p1addr = *null) then(do)
/* do something if parameter wasn't specified */ enddo else do
/* do something else if the parameter was specified */ endpgm

So far it seems to work as I expect.


We have always done it as follows. But, the above makes
sense, too. Thanks for the info.

PGM PARM(&OPTRUN)

DCLPRCOPT TEXT('IM LIFO Inventory Extensions') +
DFTACTGRP(*NO) ACTGRP(WINWISE) +
BNDSRVPGM((SRVWS01) (UTSECURSV))

/* optional parameters */
DCL VAR(&OPTRUN) TYPE(*CHAR) LEN(10)

/* parameter variables */
DCL VAR(&RUNOPT) TYPE(*CHAR) LEN(10) VALUE('*PRELIM')

/* receive optional parameters */
CHGVAR VAR(&RUNOPT) VALUE(&OPTRUN) /* run option? */
MONMSG MSGID(MCH3601) EXEC(DO) /* parm not passed */
RCVMSG MSGTYPE(*LAST) RMV(*YES) /* remove escape +
message from job log */ ENDDO


Sincerely,

Dave Clark

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe,
or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a
moment to review the archives at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link:
http://amzn.to/2dEadiD


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.