/******************************************************************************
 * Programme : Macro hasvarsc - Verificación de presencia de variables de tipo carácter
 * Reference : MACROH2208
 * Source    : https://www.wearecas.eu/en/sampleCode/MACROH2208
 ******************************************************************************/

/* --- BLOC 1 --- */
%put MACRO CALLED: hasvarsc v2.0;

%macro hasvarsc(ds,varlist,casesens=no);
  %local varmatch varlistc;
  %if not %length(&casesens) %then %let casesens=no;
  %let casesens=%upcase(%substr(&casesens,1,1));
  %let varlistc=%varlistc(&ds);
  %if not %length(&varlistc) %then %do;
%put NOTE: (hasvarsc) There are no character variables in the input dataset therefore;
%put NOTE: (hasvarsc) the character variable(s) you are testing for will not be found.;
    %let varmatch=%match(,&varlist,casesens=&casesens);
0
  %end;
  %else %do;
    %let varmatch=%match(&varlistc,&varlist,casesens=&casesens);
    %if not %length(&_nomatch_) %then 1;
    %else 0;
  %end;
%mend hasvarsc;

