グローバルマクロ変数の一覧表示と削除

[OS]ALL
[リリース] 6.11
[キーワード] MACRO

[質問]

SASマクロ言語を用いた際に、現在ユーザーにより定義されているグローバルマクロ変数の内容を全て表示したいのですが、 どのようにしたらよいですか。
また、全てのユーザー定義のグローバルマクロ変数の値をリセットしたいのですが、どの様にしたらよいですか。

[回答]

SAS 6.11から%PUT _GLOBAL_がサポートされ、このステートメントを用いることにより、 ユーザー定義の全てのグローバルマクロ変数の値をSASログ上に出力することができます。

%PUTマクロステートメントでは、その他新しい変数として、_ALL_,_AUTOMATIC_,_LOCAL_,_USER_ が追加されています。
ユーザー定義のグローバルマクロ変数の値をリセットするには、以下のようなDATAステップを実行します。 (以下のサンプルでは、SAS 6.11で追加された SASHELPライブラリのSQLビュー SASHELP.VMACRO を利用しています。)

%let test1=aaaaa;
%let test2=bbbbb;
%let test3=ccccc;

data _null_;
   set SASHELP.VMACRO (where=(scope='GLOBAL'));
   STMT='%LET '||trim(name)||'=;';
   CALL EXECUTE(STMT);
run;

%PUT _GLOBAL_ ;