03-23-2017 09:49 AM
I have a macro which checks if the file exist and if it doesnt i want to append a different data set to another set.
So I have an idea to use syserr option
%if &syserr > 1 %then %do ;
proc append base=base.data data=test_data force;
but I want to specify that if concrete error occurs "physical file doesnt exist" then the proc append will work.
Is there a such possibility ?
03-23-2017 10:00 AM
Why not use the fexist() function first to determine if the file exists, and use that as condition?
03-23-2017 10:36 AM - edited 03-23-2017 10:36 AM
i had a problem with fexist, but i fixed it so it's ok.
but i'm curious, is there a possibility to determine condtional logic based on a specified error ?
03-23-2017 10:42 AM - edited 03-23-2017 10:57 AM
If you have a code that identifies a specific error, you can use that. But the documentation for &syserr does not show a particular code for "physical file does not exist". So I recommend to check with fexist, as you otherwise might do something unexpected when another error occurs.