テーブルが最後に変更された日時をチェックしていて、その日が今日と等しい場合は、通知メールを送信します。私は監視している3つの異なるテーブルのためにこのコードx3を持っています。重複したメール(SAS)を送信しない
filename myemail EMAIL
to="[email protected]"
cc=""
from="[email protected]"
;
data _null_;
file myemail;
if _n_=1 and eof then put '!EM_ABBORT!';
set test end=eof;
where (memname = 'class' and datepart(modate) = date());
put "Hello";
put" ";
put"This is a test email";
put" ";
put memname= ;
put modate= ;
put" ";
put"Many thanks";
run;
私が持っている問題は、基準が満たされると、電子メールが私はしたくない(人が通知されている)が送信された後に同じメールが、彼らはすでにされているように、コードが実行される次回を送ったということですその特定のテーブルについて通知されます。コードは、1時間ごとに実行されるようにスケジュールされています(Windowsスケジューラ)。
私はどこのメールが送られたかを記録する必要があると思います。誰かが私のデータセット(s)のブール値またはdate_email_sentフィールドで行うことができると示唆しました。
誰も私にどのようにこれを達成するための最良の方法の例のコードを提供できますか?ここ
感謝
アーロン
あなたの回答をありがとう、私はあなたのコードの周りに私の頭を取得しようとしている(私はSASの初心者だと言及すべきである)私はあなたの既存のコードを組み込む場所と方法を把握しようとしている? ??あなたは例を提供できますか? – Aaron
コーディングに手伝ってくれる人がいますか?これはコピー&ペーストの仕事ではありません。 「ログ」テーブルをどこに保存するかを決める必要があります。いくつかのチェックを追加することもできます(テーブルが存在する場合など)。 – Petr