前のページ|次のページ

SYMGETN関数

SASコンポーネント制御言語(SCL)プログラムにおいて、グローバルマクロ変数の値を数値で返します。

種類: SCL関数
参照項目: SYMGET関数CALL SYMPUTルーチン、および CALL SYMPUTNルーチン

構文

SCL-variable=SYMGETN('macro-variable');

必須引数

SCL variable

macro-variableに格納されている値を格納する、数値SCL変数の名前。

macro-variable

アンパサンドを付けないグローバルマクロ変数名。一重引用符を付けていることに注意してください。あるいは、グローバルマクロ変数名が格納されたSCL変数の名前です。

詳細

SYMGETNは、グローバルマクロ変数の値を数値で返し、指定された数値SCL変数にそれを格納します。SYMGETNを使用して、SCL変数に名前が格納されているマクロ変数の値を取得することもできます。たとえば、'UNIT'という値を持つSCL変数UNITVARから値を取得するには、次のコードサブミットします。
unitnum=symgetn(unitvar)
SYMGETNは、SCLプログラムの実行時に値を返します。SYMGETNは、macro-variableを検出できなかった場合、欠損値を返します。
SCLプログラムのコンパイル時に、マクロ変数に格納された値を返すには、次に示すように、割り当てステートメント内でマクロ変数参照を使用します。
SCL variable=&macro-variable;
注: SYMPUTNを使用して割り当てられていない値や、数値以外の値を、SYMGETNを使用して取得するのは効率的ではありません。

比較

  • SYMGETNは、SCLプログラム内でのみ使用できます。一方、SYMGETは、DATAステッププログラム内およびSCLプログラム内で使用できます。
  • SYMGETNは値を取得します。一方、SYMPUTNは値を割り当てます。

例: マクロ変数値をSCLプログラム内で数値として格納する

次のステートメントは、SCLプログラムの実行時に、マクロ変数UNITの値をSCL変数UNITNUMに格納します。
unitnum=symgetn('unit');
前のページ|次のページ|ページの先頭へ