前のページ|次のページ

SYSGET関数

指定された動作環境変数の値を返します。

カテゴリ: 特殊
動作環境: この関数は、UNIXおよびz/OSオペレーティングシステムでサポートされています。

構文

SYSGET('environment-variable') [UNIX]

必須引数

environment-variable

UNIX環境の環境変数名を値とする文字定数、変数または式です。この引数は、引用符で囲む必要があります。

operating-environment-variable

z/OS環境のシミュレートされた環境変数名を値とする文字定数、変数または式です。

詳細

一般情報

SYSGET関数は、文字列として環境変数の値を返します。たとえば、次のステートメントは、UNIXのHOME環境変数の値を返します。
here=sysget('HOME');
SYSGETの引数の末尾の空白には意味があります。末尾の空白を削除するにはTRIM関数を使用します。
まだ長さが割り当てられていない変数にSYSGET関数から値が返される場合、その変数にはデフォルトで長さ200が割り当てられます。
動作環境変数の値が切り捨てられる場合、または動作環境で変数が定義されていない場合、SYSGETはSASログに警告メッセージを表示します。

UNIX環境のSYSGETの詳細

environment-variable引数に入力する値の大文字と小文字の区別は、UNIX動作環境に保存されている変数の大文字と小文字の区別に一致している必要があります。

z/OS環境のSYSGETの詳細

z/OSにはネイティブの環境変数はありませんが、SASでは、SYSGETでアクセス可能な、次の3つの種類のシミュレートされた環境変数をサポートしています。
  • SETシステムオプションにより作成された変数
  • TKMVSENVファイルで定義された変数
  • TSO環境下で、呼び出しているREXX execまたはCLISTの変数
SYSGETは、これらの3つの場所のぞれぞれで指定されたoperating-environment-variableを前述のリストに指定されている順に検索します。指定された変数がどの場所にも見つからない場合は、エラーメッセージ“NOTE:Invalid argument to the function SYSGET”が生成され、_ERROR_が1に設定されます。
TKMVSENV変数の名前は、大文字小文字を区別しますが、SET変数、あるいはREXXまたはCLIST変数の名前は大文字小文字を区別しません。

例1: UNIX環境で環境変数値を取得する

この例では、UNIX環境の2つの環境変数の値を取得します。
data _null_;
   length result $200;
   input env_var $;
   result=sysget(trim(env_var));
   put env_var= result=;
   datalines;
USER
PATH
;
ユーザーABCDEFでこのDATAステップを実行すると、次の行を表示します。
ENV_VAR=USER RESULT=abcdef ENV_VAR=PATH RESULT=path-for-abcdef

例2: z/OS環境では、SAS CLISTまたはREXX Execからオプションが返されます。

次の例では、TSO環境下で、SAS CLISTまたはREXX execのOPTIONS変数に指定されているシステムオプションが返され、指定されたログに出力されます。
data _null_;
  optstr=sysget('OPTIONS');
  if _ERROR_ then put 'no options supplied';
  else put 'options supplied are:' optstr;
run;

関連項目:

関数:
システムオプション
前のページ|次のページ|ページの先頭へ