ライブラリ中のデータセットの有無をSCLプログラムで調べる方法

[OS]ALL
[リリース] ALL
[キーワード] af, scl, dataset, exist, check, sashelp.vstable

[質問]

あるライブラリ中にSASデータセットが1つ以上存在するかどうかを、SAS/AFのSCLで調べられますか。

[回答]

SASHELPライブラリに、定義されているライブラリ参照名とデータセット名を変数として持つSASHELP.VSTABLEというビューがあります。
このビューを利用して、SASデータセットの有無を確認できます。SCL言語のラベルセクションでの記述例を、次に示します(全プラットフォーム共通)。

check:
   dsid=open('sashelp.vstable');
   if dsid < 1 then do;
      _msg_ = sysmsg();
      return;
   end;
   rc=locatec(dsid,varnum(dsid,'libname'),
              upcase('ライブラリ名'));
   if rc > 0 then
       _msg_ = 'データセットが存在します。';
   else
       _msg_ = 'データセットは存在しません。';
   rc=close(dsid);
return;