前のページ|次のページ

CALL SLEEPルーチン

指定した期間、このCALLルーチンを呼び出すプログラムの実行を中断します。

カテゴリ: 特殊

構文

CALL SLEEP(n <, unit>); [Windows、Unix]
CALL SLEEP(time); [z/OS]

必須引数

n [Windows、UNIX]

プログラムの実行を中断する秒数を指定する数値定数、変数または式です。

ヒント
unit引数を使用しない場合、nの値は、nより小さい次の整数値になります。
範囲 n ≥ 0
ヒント n引数に小数を使用する場合、1秒の何分の1かの間実行を中断するときは、unit引数が必要です。たとえば、CALL SLEEP(.25);では実行は中断されません。CALL SLEEP(1.25);では実行が1秒間中断されます。CALL SLEEP(1.25, 1);では実行が1.25秒間中断されます。

オプション引数

unit [Windows、UNIX]

nに適用される時間の単位(秒)を指定します。たとえば、1は1秒、.001は1ミリ秒、5は5秒に相当します。

デフォルト .001

time [z/OS]

DATAステップの実行およびそのDATAステップを実行するSASタスクを中断する時間をミリ秒(1000分の1秒)で指定します。

詳細

CALL SLEEPルーチンは指定した期間このCALLルーチンを呼び出すプログラムの実行を中断します。プログラムには、DATAステップ、マクロ、IML、SCLなど、CALLルーチンを呼び出せるものを指定できます。

例1: 指定した期間の実行中断

次に、DATAステップPAYROLLの実行を1分10秒間中断するようにSASに指示する例を示します。
data payroll;
   call sleep(7000, .01);
   ...more SAS statements...
run;

例2: スリープ時間の計算に基づいた実行中断

次に、DATAステップBUDGETの実行を2013年3月1日午前3時まで中断するようにSASに指示する例を示します。SASでは、対象日とDATAステップの実行開始日時に基づいて中断の長さが計算されます。
data budget;
   sleeptime='01mar2013:03:00'dt-datetime();
   call sleep(sleeptime, 1);
   ...more SAS statements...;
run;

例3: 式を使用して特定期間を指定

次の例では、CALL SLEEPルーチンで式を使用する方法を示します。
data _null_;
   call sleep(.5+.8,1);
run;
結果ログを次に示します。
CALL SLEEPルーチンで式を使用
NOTE:DATA statement used (Total process time): real time 1.30 seconds cpu time 0.00 seconds

関連項目:

関数:
前のページ|次のページ|ページの先頭へ