前のページ|次のページ

%SYMGLOBL関数

マクロ変数のスコープがグローバルであるかどうかを示す値を返します。

種類: マクロ関数

構文

%SYMGLOBL(macro-variable-name)

必須引数

macro-variable-name

マクロ変数名か、またはマクロ変数名を生成するテキスト式を指定します。

詳細

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

例: %SYMGLOBLマクロ関数の使用

次の例では、%IF %THEN %ELSEマクロステートメントを使用して、%SYMGLOBL関数が返す値1および0を、それぞれTRUEおよびFALSEに変換しています。
%global x;
    %macro test;
        %local y;
        %if %symglobl(x) %then %put %nrstr(%symglobl(x)) = TRUE;
                         %else %put %nrstr(%symglobl(x)) = FALSE;
        %if %symglobl(y) %then %put %nrstr(%symglobl(y)) = TRUE;
                         %else %put %nrstr(%symglobl(y)) = FALSE;
        %if %symglobl(z) %then %put %nrstr(%symglobl(z)) = TRUE;
                         %else %put %nrstr(%symglobl(z)) = FALSE;
%mend test;
%test;
前述のプログラムを実行すると、次の行がSASログに書き込まれます。
%symglobl(x) = TRUE %symglobl(y) = FALSE %symglobl(z) = FALSE
前のページ|次のページ|ページの先頭へ