Gregory,
Have I already thanked you? Your pointers were very helpful, reduced the exectution time to less than the half of the original exuction time (from 17 secs to 5 secs). Really great....
>>Thanks Gregory, I will your implement advice points.
>>>For starters
>>>
>>>- In the init of the session class: SET TALK OFF
>>>- do one replace on the same record, not three
>>>- use integers instead of chars ( LOWER(ALLTRIM(m.tcWay)) = "lower") )
>>>- if append+replace is done many times, use insert instead
>>>
>>>
>>>You'll need the coverage profiler, message#
568530 may help
>
>You're welcome
>
>also, if your rounding function is called many times with the same arguments, replace it by a #define
>eg
>
>#define ROUNDING iif(m.tcWay < 0, floor(m.tnx), iif(m.tcway > 0, ceiling(m.tnx), m.tnx))
>
>tcway = ...
>tnx = ...
>
>Result = ROUNDING
>
>
>But first, see what result you get with SET TALK OFF