SASのバージョンを検知する方法について
[OS]ALL
[リリース] 6.12,8.1
[キーワード] SYSVER,SYSVLONG
[質問]同じプログラムを実行するのですが、一部SAS 6.12とSAS 8.1で違う処理を行わせたいと考えています。どのようにすれば良いでしょうか。
[回答]
自動マクロ変数「&SYSVER」を使用することで、バージョン毎に異なる処理を実現できます。 DATA _null_ ; %PUT &SYSVER ; RUN ; ■ V6.12での実行結果 1 DATA _null_ ; 2 %PUT &SYSVER ; 6.12 <=== バージョンが出力された例 3 RUN ; ■ V8.1での実行結果 1 DATA _null_ ; 2 %PUT &SYSVER ; 8.1 <=== バージョンが出力された例 3 RUN ; なお、同じバージョンで「TSレベル」を考慮する場合は、自動マクロ変数「&SYSVLONG」を利用してください。 < プログラム例 >DATA _null_ ; %PUT &SYSVLONG ; RUN ; ■ V6.12での実行結果 7 DATA _null_ ; 8 %PUT &SYSVLONG ; 6.12.0060P042699 <=== バージョン・TSレベルが出力された例 9 RUN ; ■ V8.1での実行結果 4 DATA _null_ ; 5 %PUT &SYSVLONG ; 8.01.01M0P051500 <=== バージョン・TSレベルが出力された例 6 RUN ;※sysvlongで取得される情報はバージョン情報 + TSレベル情報 + P + そのモジュールの作成年月日で構成されます。 「6.12.0060P042699」は「V6.12 TS060 モジュール構成日 1999/4/26」であることを表します。 |