2017-05-24 24 views
0

我正在尋找一個解決方案,它將監視(使用do循環)dictionary.tables爲特定表的最新修改日期(modate)和一旦修改日期(modate )等於今天的日期,我想通過SAS中的電子郵件通知我。SAS:發送電子郵件一旦表被修改/刷新

可以這樣做嗎?

非常感謝

+1

你嘗試過什麼?有沒有這個特定的部分,你不能去工作? – user667489

+0

步驟1)使用SQL,我可以運行一個小程序,顯示3個表格的最後修改日期(modate),然後追加,這部分我想通過某種循環自動監控,而不是必須運行每次我想檢查的程序。 – Aaron

+0

步驟2)一旦每張​​桌子的最後修改日期等於今天的日期,我希望通過SAS電子郵件設施得到通知。我有一些發送電子郵件的代碼,但只有當條件滿足時才需要發送,條件如下 - 如果modate = today,則發送電子郵件。非常感謝 – Aaron

回答

1

這聽起來好像你需要定義一個簡單的小宏將您已有的代碼:

/* Define a macro that sleeps in a loop until your condition is met */ 
%macro wait_then_email; 
    %local EMAIL_CONDITION SLEEP; 
    %let EMAIL_CONDITION = 0; 
    %do %while(&EMAIL_CONDITION = 0); 
    /* Insert logic here that sets &EMAIL_CONDITION to 1 based on moddate */ 

    /* Wait for 1 minute if condition not met*/ 
    %if &EMAIL_CONDITION = 0 %then %let SLEEP = %sysfunc(sleep(60,1)); 
    %end; 
    /*Insert email generation code here*/ 
%mend; 

/* Run the macro! */ 
%wait_then_email; 
+0

您能否提供一個基於modate將&EMAIL_CONDITION設置爲1的邏輯示例? – Aaron