The macro substitution compiles the expression in a memory and executes it.
The EXESCRIPT() writes code to a PRG on a disk, compiles it and then executes. It's not only slower but also the code executes as external prg. As a side effect, it cannot see classes, forms, reports and other resources embedded into EXE.
>I was under the impression that 2 and 3 were reversed. Thanks for the info.
>
>>Below are different options ordered by efficiency. I always start at the top and go down, if necessary
>>
>>1. Name expression
>>2. Macro substitution
>>3. EXESCRIPT()
>>
--sb--