>I am using the following code and it works fine
>
>
>SELECT New_Bills
>SCAN
>*Define Variables
> cPsfilepath=ALLTRIM(Myfilepath)
> CREATE CURSOR Billcompress (POS C(254))
> SELECT Billcompress
> APPEND FROM '&cPsFilepath' SDF
>
>
>However when I use APPEND FROM cPsFilepath SDF, it generates error as file not found.
>
>My Questions.
>(1) IS it necessary to have Macro substitue. ?
>(2) Where and Why Macro Substutes are used ?
>(3) Does use of Macro substitue decreese the processing speed ?
>
>Kinldy Guide
To simply specify a variable for a file name or field name, a name expression (placing the variable in parentheses) is better. Apart from the potential problems with spaces, it will execute faster.
Macro substitution should be avoided if there is another alternative. However, there are some cases where avoiding it would be too complicated, for example when executing a variable SELECT - SQL statement, which might depend on user criteria for example. I also like to use macro substitution when restoring SET options, for example:
local lcSetExact
lcSetExact = set("exact")
set exact off
...
set exact &lcSetExact
Here, the macro-substituted line can be avoided, but doing so requires 5 lines:
if lcSetExact = "ON"
set exact on
else
set exact off
endif
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)