グローバルマクロ変数の削除について

[OS]ALL
[リリース] 8.1, 8.2
[キーワード] MACRO, %SYMDEL

[質問]

複数のグローバルマクロ変数を定義して処理を行っていますが、この変数を使用しなくなった時点で、定義を一括して削除することを考えています。何かよい方法はありますか。

[回答]

不要になったグローバルマクロ変数を削除する新しいステートメント「%SYMDEL」が、SAS System 8e より追加されました。

使用方法
%SYMDELステートメントの後にマクロ変数名を指定します。

%SYMDEL マクロ変数名;  

使用例

   /* グローバルマクロ定義 */
   %LET mvar1=aaaa;
   %LET mvar2=bbbb;
   %LET mvar3=cccc;

   /* プログラム例1 */
   /* グローバルマクロ変数 mvar1 を削除する例 */
   %SYMDEL mvar1 ;

   /* プログラム例2 */
   /* グローバルマクロ変数として定義されているものを全て削除する例 */
   %MACRO delvars;

     DATA vars;
       SET sashelp.vmacro;
     RUN;

      DATA _null_;
       SET vars;
       IF scope='GLOBAL' THEN
          CALL EXECUTE('%SYMDEL '||TRIM(LEFT(name))||';');
     RUN;

   %MEND;
   %delvars