Could he do a NOT/Else with the NOt MonMsg... else leave?
On 7/23/2013 4:51 PM, Dan Kimmel wrote:
Still, I like the concept. It'd be a way to get out of a block of code without a GOTO. The Do .. EndDo marks the block of code. Are there other ways to jump out of a block in CL structured op codes?
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-
bounces@xxxxxxxxxxxx] On Behalf Of CRPence
Sent: Tuesday, July 23, 2013 4:13 PM
Subject: Re: Leave outside of DO group???
On 23 Jul 2013 13:48, DrFranken wrote:
I wrote this snippet of code:
AFaIK the error is correct, and ...
ChkObj QSTRUPEX1 *Pgm /* Check for exit program. */
MonMsg CPF9800 EXEC(Leave) /* Not there or Not Authorized */
Call QSTRUPEX1 /* Run it. */
At the LEAVE Statement I get this error:
* CPD0883 30 LEAVE command found outside of DO group.
But it sure appears to be inside a Do group to me!
Am I in error if I 'complain' to the fine folks in the land of IBM
The implied command label [CMDLBL(*CURRENT)] is, as worded in the
message CPD089A, is not "associated with an active DOWHILE, DOUNTIL, or
DOFOR group". The additional\second-level text of that CPD0883 [e.g. as
presented by F1=Help] should further state that "The LEAVE command must
be inside a DOWHILE, DOUNTIL, or DOFOR command group."
FWiW: Coding the MONMSG CPF0000 as shown is not a good practice; just
as well remove the prior CHKOBJ and MONMSG to get effectively the same
results with less work.