ストアドマクロライブラリのクリア
[OS]
[リリース] 9.3
[キーワード] マクロ、ライブラリ、クリア
[質問]ストアドマクロ割当先のライブラリをクリアしようとすると、下記のエラーが発生します。どのようにすればクリアできるでしょうか。 ERROR: ライブラリ XXXXX は使用中のため、 クリアまたは再割り当てはできません。 ERROR: LIBNAME ステートメントのエラーです。
[回答]SAS9.2以前におきましては、一旦別のダミーのライブラリをストアドマクロ保存先として割り当て、ダミーマクロの作成を行うことで、元のライブラリのクリア、再割り当てが可能です。 例) LIBNAME DATA "C:¥TEMP"; OPTIONS MSTORED SASMSTORE=DATA; %MACRO TEST /STORE; %MEND TEST; /* この状態では、DATA ライブラリ定義はクリアできない。*/ *LIBNAME DATA CLEAR; /* ダミー先一例としてSASUSER ライブラリを SASMSTORE= に指定 */ OPTIONS SASMSTORE=SASUSER; /* ダミーのマクロを作成 */ %MACRO DUMMY /STORE; %MEND DUMMY; /* この状態で DATA ライブラリがクリア可能になる */ LIBNAME DATA CLEAR; SAS 9.3では、%SYSMSTORECLEARステートメントが追加されており、上記のようなロジックを使用せずとも、クリアすることが可能となっております。 例) LIBNAME DATA "C:¥TEMP"; OPTIONS MSTORED SASMSTORE=DATA; %MACRO TEST /STORE; %MEND TEST; %SYSMSTORECLEAR; LIBNAME DATA CLEAR;
|