>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
Gregory