>REPLACE cdr.rate WITH rate ;
>, cdr.charge with IIF(cdr.duration>0,rate*cdr.billdur,0) :
>FOR empty(cdr.rate)
>
This doesn't help you with your question in any way but one thing that you may not realise (it took me a while to realise) is that REPLACE pays no attention to the alias of the field you are replacing.
ie. REPLACE cdr.rate - the "cdr" is ignored by VFP. What replace actually does is replaces the fields in the CURRENT alias unless you have an IN clause. SO what is much better is :
REPLACE myfield WITH myval IN myalias
Cheers,
Jamie