- 「%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: データセット work.aaa が存在しないか利用不可. マクロTESTを中止します |
最初にマクロの引数がちゃんと正しく設定されてるか確認して、正しくない場合、
みたいな流れです。
- WARNING等のメッセージを出す
- %RETURNでマクロを中止させる
みたいな流れです。
0 件のコメント:
コメントを投稿