|
That's worth a try. I never even thought of that. Here's an example of something the program does many times. In looking at it now, I think I even TEST(D E) endDate further down in the process which makes no sense! The routine is done thousands of times and the other routine gets into the millions. Might make a difference. Thank you. * test for valid date. c test(d e) XQ03 c if not %error * if XQ03's week ending date is beyond today, set the week start/end to * the previous week's c if #getWkEndDate( %date(XQ03) ) > jobDate c eval beginDate = #getPrvWkStart( jobDate ) c eval endDate = #getPrvWkEnd( jobDate ) c move endDate endDate# * else set valid week start and end dates c else c eval beginDate = #getWkStrDate( %date(XQ03) ) c eval endDate = #getWkEndDate( %date(XQ03) ) c endif * else invalid date, set week start/end dates to previous week c else c eval beginDate = #getPrvWkStart( jobDate ) c eval endDate = #getPrvWkEnd( jobDate ) c endif -----Original Message----- From: Hans Boldt [mailto:boldt@xxxxxxxxxx] Sent: Thursday, May 15, 2003 9:12 AM To: rpg400-l@xxxxxxxxxxxx Subject: Re: Date arithmetic - performance dog? Mlpolutta@xxxxxxx wrote: > I wanted to see if you folks have found that ADDDUR and SUBDUR (etc.), and > MOVEing to/from date fields are REALLY poor performers - it sure seems that > way to me. Is there a way to make such things perform well? The performance of the date/time/timestamp operations is indeed a touch on the slow side. The reason is that each operation does a validity check on the values. The only suggestion I have is that if you're converting from character or numeric to a D/T/Z value, don't check first using a TEST operation. Just convert directly using the appropriate built-in function (%DATE, %TIME, or %TIMESTAMP) wrapped in a MONITOR group. That will at least save one validity check. For example: MONITOR; DATE=%DATE(DSTR:*YMD); ON-ERROR 112; DSPLY 'Egads! We have a bad date value!'; ENDMON; Cheers! Hans
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.