CORE
mf_existvarlist.sas
Go to the documentation of this file.
1 
17 %macro mf_existvarlist(libds, varlist );
18 
19  %if %str(&libds)=%str() or %str(&varlist)=%str() %then %do;
20  %mf_abort(msg=No value provided to libds(&libds) or varlist (&varlist)!
21  ,mac=mf_existvarlist.sas)
22  %end;
23 
24  %local dsid rc i var found;
25  %let dsid=%sysfunc(open(&libds,is));
26 
27  %if &dsid=0 %then %do;
28  %put WARNING: unable to open &libds in mf_existvarlist (&dsid);
29  %end;
30 
31  %if %sysfunc(attrn(&dsid,NVARS))=0 %then %do;
32  %put MF_EXISTVARLIST: No variables in &libds ;
33  0
34  %return;
35  %end;
36 
37  %else %do i=1 %to %sysfunc(countw(&varlist));
38  %let var=%scan(&varlist,&i);
39 
40  %if %sysfunc(varnum(&dsid,&var))=0 %then %do;
41  %let found=&found &var;
42  %end;
43  %end;
44 
45  %let rc=%sysfunc(close(&dsid));
46  %if %str(&found)=%str() %then %do;
47  1
48  %end;
49  %else %do;
50  0
51  %put Vars not found: &found;
52  %end;
53 %mend;