前のページ|次のページ

SYMGLOBL関数

DATAステップの実行時に、マクロ変数のスコープがグローバルかどうかを示す値をDATAステップに返します。

種類: DATAステップ関数

構文

SYMGLOBL(argument)

必須引数

argument

次の項目のいずれかです。

  • 引用符で囲み、アンパサンドを付けないマクロ変数の名前。
  • DATAステップ文字変数の名前。引用符を付けずに指定し、マクロ変数名を格納します。
  • マクロ変数名を作成する文字式

詳細

SYMGLOBL関数は、かっこで囲まれたスコープを検索して同じ名前のマクロ変数が存在するかどうかを調べ、そのマクロ変数がグローバルシンボルテーブル内に存在する場合は値1を返し、それ以外の場合は0を返します。グローバル/ローカルシンボルテーブルやマクロ変数のスコープに関する詳細については、マクロ変数のスコープ を参照してください。

例: SYMGLOBL関数の使用

次の例では、%TESTマクロにSYMGLOBL関数が含まれています。
 %global x;
       %macro test;
       %local y;
       data null;
          if symglobl("x") then put "x is GLOBAL";
                                 else put "x is not GLOBAL";
          if symglobl("y") then put "y is GLOBAL";
                                 else put "y is not GLOBAL";
          if symglobl("z") then put "z is GLOBAL";
                                 else put "z is not GLOBAL";
       run;
       %mend test;
       %test;
前述の例では、SYMGLOBL関数を含む%TESTマクロが実行されると、次の出力がSASログに書き込まれます。
x is GLOBAL y is not GLOBAL z is not GLOBAL
前のページ|次のページ|ページの先頭へ