|
Barbara, That's a good point. But you've missed one of the requirements the OP said she needed. The order, in this case 30,10,20 in which the values are checked matter. Thus, I didn't feel a loop would be a good choice here, especially with 50 values. Actually, as I write this, it occurs to me that the best (IMHO) way to handle this would be to use a loop in this manner: d valuesToCheck ds d 2a inz('30') d 2a inz('10') d 2a inz('20') d checkValue 2a overlay(valuesToCheck) dim(3) d x s 10i 0 /free x = 1; W@GOOD = *BLANKS; dou W@GOOD <> *BLANKS or x > %elem(checkvalue); K@FAC = checkValue(x); EXSR $100; x = x + 1; Enddo; if W@GOOD = *BLANKS; W@GOOD = 'NO'; endif; /end-free Thoughts? Charles Wilt -- iSeries Systems Administrator / Developer Mitsubishi Electric Automotive America ph: 513-573-4343 fax: 513-398-1121
-----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Barbara Morris Sent: Tuesday, August 15, 2006 4:56 PM To: rpg400-l@xxxxxxxxxxxx Subject: Re: SELECT & WHENEQ Question "Wilt, Charles" wrote:... You could certainly do it, but you'd have to short-circuitthe for loopwith LEAVE since the for loop really isn't the controlling factor. Plus you'd have to code to set W@GOOD to 'NO' if you makeit all the waythrough the loop. The result is ugly, and not clear as towhy your aredoing what you are doing. ...It's interesting to consider the possible solutions if there were 50 possible values for K@FAC rather than just 3. Using a nested loop would get nasty. Terri's current solution would possibly be better, since it's flat, even though it's kind of ugly. But a regular loop over the values would be best (imho, best even with 3 possible values). W@GOOD = *blank; i = 1; dow W@GOOD = *blank; K@FAC = candidate(i); exsr $100; i = i + 1; enddo; if W@GOOD = *blank; W@GOOD = 'NO'; endif; -- This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/rpg400-l or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/rpg400-l.
As an Amazon Associate we earn from qualifying purchases.
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.