- 「%RETURNステートメント」でマクロの実行を中止します。
- 「%RETURN」が書かれたとこから中止される。
- 「親マクロ」の中に「子マクロ」を入れたネスト構造のマクロで、「子マクロ」の中のみに%RETURNを指定した場合は「子マクロ」のみ中止される。
私はよく以下のような感じで使ってます。
例
%macro test( in_ds=, out_ds= );
* 引数チェック ;
%if %sysfunc( exist( &in_ds ) ) = 0 %then %do;
%put WARNING: データセット &in_ds が存在しません. マクロTESTを中止します;
%return;
%end;
* 引数チェックをクリアしたあとの処理 ;
data &out_ds;
set &in_ds;
run;
%mend;
%test( in_ds=work.aaa, out_ds=bbb )
ログ
|
最初にマクロの引数がちゃんと正しく設定されてるか確認して、正しくない場合、
- WARNINGとかのメッセージを出して、
- %RETURNでマクロを中止させる。
みたいな流れです。
0 件のコメント:
コメントを投稿