カタログおよびカタログに含まれるエントリの存在チェック
[OS] ALL
[リリース] ALL
[キーワード] Base, DATA, catalog, entry, exist, check, CEXIST
[質問]カタログやエントリが存在するかどうか確認する方法はありますか。
[回答]CEXIST関数を使って、カタログやエントリの存在チェックを行なえます。 CEXIST関数の書式: rc = CEXIST(エントリ,<'U'>) 引数と戻り値の説明:
使用例1:WORK.FORMATSカタログにVOTEFというフォーマットが存在するかチェックする
data _null_;
if cexist('work.formats.votef.format') then
call symput('c_exist','Y');
else
call symput('c_exist','N');
run;
%put &c_exist;
使用例2:WORK.GSEGカタログが存在するかチェックして、存在する場合は、カタログに含まれる全てのエントリを削除する
%macro del_gseg(cat_name);
%*** cat_name --- カタログ名 ***;
%if %sysfunc(CEXIST(&cat_name)) = 1 %then %do;
proc catalog c=gseg kill force;
run;
quit;
%end;
%mend del_gseg;
%del_gseg(work.gseg) /* マクロの実行 */
|
|||||||||