DS2 – Variables locales et globales
Dans le langage SAS DS2, les variables sont toujours globales sauf si elle sont déclarées dans une méthode.
Exemple :
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 :
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 :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
proc ds2; data _null_ ; dcl int a; dcl int b; method init(); end; method run(); dcl int c; dcl int d; end; enddata; run; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
proc ds2; data exempleLocalGlobal; dcl bigint maVar1; dcl double maVar2; method init(); dcl date maVar3; dcl float maVar4; maNewVar=34; end; enddata; run; quit; |

