前のページ|次のページ

REDIRECTステートメント

ストアドプログラムを実行するときに、別の入力SASデータセットまたは出力SASデータセットを参照します。

該当要素: DATAステップ
カテゴリ: アクション
種類: 実行可能
要件 DATAステートメントでPGM=オプションを指定する必要があります。

構文

引数

INPUT | OUTPUT

入力データセットまたは出力データセットのどちらをリダイレクトするか指定します。INPUTを指定すると、プログラム内の入力データセット名が別のSASデータセット名に割り当てられます。OUTPUTを指定すると、出力データセット名が別のSASデータセット名に割り当てられます。

old-name

プログラム内の入力データセットまたは出力データセット名を指定します。

new-name

現在の実行で処理する入力データセットまたは出力データセット名を指定します。

詳細

REDIRECTステートメントはストアドプログラムを実行する場合にのみ使用できます。ストアドプログラムの詳細については、XisError: No pubcode in link data found for lrconを参照してください。
注意:
入力データセットをリダイレクトするときは注意が必要です。
REDIRECTステートメントで読み込む入力データセット内の変数の数や属性は、ソースコード内のMERGE、SET、MODIFY、またはUPDATEの各ステートメントの入力データセットで指定した変数の数や属性と一致している必要があります。変数の種類の属性が異なる場合、ストアドプログラムの処理が中止し、該当するエラーメッセージがSASログに書き込まれます。変数の長さ属性が異なる場合、リダイレクトされるデータセットに含まれる変数の長さは、ソースコードのデータセットに含まれる変数の長さによって決定します。リダイレクト先のデータセットのほうが変数の数が多い場合は、ストアドプログラムの処理が中止し、該当するエラーメッセージがSASログに書き込まれます。
ヒント
REDIRECTステートメントで読み込む入力データセット内の変数の数が、プログラムをコンパイルするために使用するデータセット内の変数の数よりも多い場合、ストアドプログラムにDROPまたはKEEPデータセットオプションを追加できます。

比較

REDIRECTステートメントはSASデータセットにのみ適用されます。外部ファイルに指定されている入力データセットまたは出力データセットにリダイレクトするには、FILENAMEステートメントを使用してソースプログラムのファイル参照名(fileref)と外部ファイルを関連付けます。

例: ストアドプログラムの実行

この例では、STORED.SAMPLEというストアドプログラムを実行します。REDIRECTステートメントでは、入力データソースBASE.SAMPLEを指定しています。このプログラムの実行で使用する出力データセットは、SUMS.SAMPLEというデータセットにリダイレクトした後、格納されます。
libname stored 'SAS-library';
libname base 'SAS-library';
libname sums 'SAS-library';
data pgm=stored.sample;
   redirect input in.sample=base.sample;
   redirect output out.sample=sums.sample;
run;

関連項目:

XisError: No pubcode in link data found for lrcon
ステートメント:
前のページ|次のページ|ページの先頭へ