10-06-2016 04:00 AM
I ecountered this issue when I tried to use X command to open a file and file name has a macro variable: &basedt2.
X '"C:\Ma Project\01 Angeliebe daily tracking\raw data\ReportCustomerCsv-&basedt2..csv"';
It can not be executed.
Does anyone have a solution?
10-06-2016 04:06 AM
10-06-2016 04:36 AM
Two things, first you need to put
options mlogic symbolgen mprint;
Before that call and see what the macro variable relates to. Then check that file exists - simple way of checking is to open a cmd window, then copy an dpaste the full text (not the macro variable) into the cmd window and see what it says. Likely the path is wrong, or you have spaces. Also note where you are running it. It will have to be on a windows machine and have Excel installed and associated with .csv, otherwise the OS does not know what software to open it with.
And a final question, why? It seems totally pointless to open file on the OS.
10-06-2016 07:21 AM
@Reeza look closely. There are blanks in the pathname.
Kurt's computing mantra #2: Blanks in filenames are a BAD IDEA.
10-06-2016 07:25 AM
Where is the command? You have a path to a file, but X requires a system-based command that it will execute.
Are you saying this command sometimes does what you want if you don't refer to a macro variable within?
10-06-2016 07:28 AM
Well, not quite @Astounding. If the file type is known by the system, in this case CSV is associated with Excel, then it actually opens Excel and then file. Thats why I was questioning the reason behind it, opening the file, as SAS already has the options results which will open output files when created.