Re: Regarding EVALUATE TRUE



In article <1187279407.749229.171320@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>,
klshafer@xxxxxxx <klshafer@xxxxxxx> wrote:

[snip]

In the above example, what it turns out to be, is that there is a
_missing_ WHEN which is obscuring the true essence of what is going
on. Let me put it in the code, and then rewrite it just a bit...

EVALUATE TRUE
WHEN CASE-IN-COMPLETE
SET IN-COMPLETE-CASE TO TRUE
PERFORM 1000-SET-CASE-TYPE-MSG
WHEN NO-CASE-EXISTS
SET NON-EXISTING-CASE TO TRUE
PERFORM 1000-SET-CASE-TYPE-MSG
WHEN CASE-EXISTS-BUT-NOT-EXACT
SET NON-MATCHING-CASE TO TRUE
PERFORM C110-SET-CASE-TYPE-MSG
WHEN CASE-EXISTS-EXACTLY
* *** NOW PROCESS VERY GOOD CASE ACCORDING TO ITS STATUS...

Gah... with all due respect, Mr Shafer, I disagree with what follows...
for two reasons.

EVALUATE TRUE
WHEN WEA1CAS-STATUS = IND-TYPE-OF-CASE
CONTINUE
WHEN WEA1CAS-STATUS > SPACE
AND CASE-OPEN OF WEA1CAS-SACSTAT
PERFORM 2000-FINISH-CASE-EDIT-S
WHEN WEA1CAS-STATUS > SPACE
AND CASE-CLOSED OF WEA1CAS-CASE-STATUS
PERFORM 3000-FORMAT-WEA1CASA
PERFORM 4000-UPDATE-WEA1CASA-6CASH
WHEN WEA1CAS-STATUS = SPACE
AND CASE-OPEN OF WEA1CAS-CASE-STATUS
IF CASE--OPEN OF CSN-CASE-STATUS
PERFORM 3000-FORMAT-WEA1CASA
PERFORM 4000-UPDATE-WEA1CASA-6CASH
ELSE
CONTINUE
END-IF
WHEN OTHER
CONTINUE

First reason... no END-EVALUATE for the interior EVALUATE. Second
reason... for reasons that are readily and immediately apparent to anyone
of good, decent, sane and sound judgement - in other words, a matter of
Style and Aesthetics - I try to alternate IF and EVALUATE for interior
logic.

(by the bye.. this code does not give the same results when
(IND-TYPE-OF-CASE = SPACES AND CASE-OPEN OF WEA1CAS-CASE-STATUS),
either... but That Could Never Happen, right?

DD

.