時限爆弾_wakeup関数

SASのtwitterをフォローすると、過去のFAQやテクニカルニュースをランダム?にツイートしてくれる。結構古いTipsが多いので、最近のSAS使いにとっては逆に勉強になる。
ちなみに中の人は、いい人で、たまにユーザー総会の端っこで、本売らされたりしてる。

最近それで知ったのが
https://www.sas.com/offices/asiapacific/japan/service/technical/faq/list/body/pc072.html


call sleepルーチンの前身として、sleep関数があるというのは知っていたけど
wakeup関数は知らなかったなぁ。

どうも最新のリファレンスには載っていない
でも使える。(on demandでは無理みたい)

日時を指定してその関数にかけると、WAKEUPウインドウというのがチカチカして
アイドリング状態になって。何時何分に起きて動きますよと教えてくれる。

wakeupの時間がくると、そのコード以下が実行される。
戻り値にはアイドリングしていた時間が返るが、通常いらないので_null_を指定する

時間を決めた処理はバッチでやることが多いと思うので、一体どういうときに使うんだろう?
実行開始時間がSASプログラム内で動的に決まるようなケース?
それってなんだろう??

まあ、簡単に書けるので、大して重要でもないSASコードの実行押すためだけに待機っていう悲しいシチュエーションがあるなら、wakeup関数さっと書いて実行して帰っちゃえばいいのかもしんないですね。


data _null_;
   slept_time=wakeup('24JAN2017:23:00:00'dt);

   /*以下は2017年1月24日23時00分以降に実行される*/
run;

data b;
x=1;
run;

0 件のコメント:

コメントを投稿