Dans le langage SAS DS2, les variables sont toujours globales sauf si elle sont déclarées dans une méthode.
Exemple :
proc ds2;
data _null_ ;
dcl int a;
dcl int b;
method init();
end;
method run();
dcl int c;
dcl int d;
end;
enddata;
run;
Les variables a et b sont globales car définit avant le init() ( et hors méthode)
Les variable c et d sont locales à la méthode run()
Pour illustrer le fonctionnement des variables globales et locales, prenons un autre exemple ci-dessous :
proc ds2;
data exempleLocalGlobal;
dcl bigint maVar1;
dcl double maVar2;
method init();
dcl date maVar3;
dcl float maVar4;
maNewVar=34;
end;
enddata;
run;
quit;
Dans cette exemple, le dataset exempleLocalGlobal contient, après exécution, 3 variables. Les variables globales maVar1 et maVar2 (car justement elles sont globales) et la variable maNewVar. maNewVar est en effet automatiquement créée comme variable globale :







