I didn't realize the CM var could be used so I re-wrote it. 
This program logic looks horrible though, I would definitely
re-write it with consideration of indexing some fields to make it
run more efficient.

Chris


MONTHLY.USAGE:

CM = MONTH+LY.CNT

FOR M = 1 TO 12
 TEA = PARMS(12)<101,CM>
 EAT = PARMS(12)<133,CM>
 ATE = PARMS(12)<134,CM>
 IF TEA+EAT+ATE # '' THEN CUM(M) = TEA+EAT+ATE
 YAM = PARMS(7)<100,CM>
 AMY = PARMS(7)<101,CM>
 MYA = PARMS(7)<102,CM>
 IF YAM # '' THEN CUMO(M) += YAM ELSE CUMO(M) += TEA
 IF AMY # '' THEN CUMO(M) += AMY ELSE CUMO(M) += EAT
 IF MYA # '' THEN CUMO(M) += MYA ELSE CUMO(M) += ATE
 CM -= 1 ; IF CM = 0 THEN CM = 24
NEXT M

RETURN

> Date: Thu, 3 Mar 2011 13:38:27 +1100
> From: [email protected]
> To: [email protected]
> Subject: Re: [U2] Is this worth rewriting?
> 
> If you are running UniData, you can also move the TEA, EAT, ATE, YAM,
> AMY & MYA outside of the FOR M loop if you exclude CM. Inside you can
> than do TEACM = TEA<1,CM>, etc
> 
> Of course, as stated by others, whether it is worth the changing/testing
> time cannot be known unless you have actually benchmarked this code to
> determine if it will make a meaningful difference.
> 
> On the other hand, if you change it to actually make the variable
> names/code more meaningful so the next poor soul doesn't need to read in
> several times to understand it, then sure, go ahead.
> 
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Keith Johnson
> [DATACOM]
> Sent: Thursday, 3 March 2011 11:47 AM
> To: '[email protected]'
> Subject: Re: [U2] Is this worth rewriting?
> 
> Agreed that the dimensioned extract wouldn't make much difference, still
> the attributes numbers are quite high.
> 
> The code below goes from 15 extracts maximum per for-next loop to 6.
> I can't help but think this might mean something if it takes 90 minutes
> to run.
> 
> 001: MONTHLY.USAGE:
> 002: CM = MONTH + LY.CNT
> 003: FOR M = 1 TO 12
> 004:   TEA = PARMS(12)<101,CM>
> 005:   EAT = PARMS(12)<133,CM>
> 006:   ATE = PARMS(12)<134,CM>
> 007:   IF TEA # '' OR EAT # '' OR ATE # '' THEN CUM(M) = TEA + EAT + ATE
> 008:   YAM = PARMS(7)<100,CM>
> 009:   AMY = PARMS(7)<101,CM>
> 010:   MYA = PARMS(7)<102,CM>
> 011:   IF YAM # '' OR AMY # '' OR MYA # '' THEN
> 012:     IF YAM # '' THEN CUMO(M) += YAM ELSE CUMO(M) += TEA
> 013:     IF AMY # '' THEN CUMO(M) += AMY ELSE CUMO(M) += EAT
> 014:     IF MYA # '' THEN CUMO(M) += MYA ELSE CUMO(M) += ATE
> 015:   END
> 016:   CM -= 1 ; IF CM = 0 THEN CM = 24
> 017: NEXT M
> 018: RETURN
> 
> 
> So I'd say AYE - or YEA, if you use meaningful variables
> 
> Regards, Keith
> 
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
> 
> ______________________________________________________________________
> This email has been scanned by the MessageLabs Email Security System.
> For more information please visit http://www.messagelabs.com/email
> ______________________________________________________________________
> ###########################################################################################
> The information transmitted in this message and attachments (if any) is 
> intended only
> for the person or entity to which it is addressed. The message may contain 
> confidential
> and/or privileged material.  Any review, retransmission, dissemination or 
> other use of
> or taking of any action in reliance upon this information by persons or 
> entities other
> than the intended recipient is prohibited.  If you received this in error, 
> please
> contact the sender and delete the material from any computer.
> 
> The intended recipient of this e-mail may only use, reproduce, disclose or 
> distribute
> the information contained in this e-mail and any attached files with the 
> permission of IMB.
> ###########################################################################################
> _______________________________________________
> U2-Users mailing list
> [email protected]
> http://listserver.u2ug.org/mailman/listinfo/u2-users
                                          
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to