參考手冊

執行變數


AIX HP-UX Linux OS/2 OS/390 OS/400 PTX SUN Win NT
X X X X X X X X X

透過執行變數特性,可讓您用變數參照呼叫其它程式。 執行變數是透過 EXEC 語言元素, 被定義在 Net.Data 巨集中。有關 EXEC 語言元素的詳細資訊, 請參閱 EXEC 區塊或陳述式

當 Net.Data 在巨集中發現一個執行變數時, 它會使用下列方法尋找被參考到的可執行程式:

  1. 它會搜尋 Net.Data 起始設定檔案中的 EXEC_PATH。有關 EXEC_PATH 的詳細資訊, 請參閱 Net.Data 管理程式設計指南中的架構章節。
  2. 如果 Net.Data 找不到該程式, 它會搜尋系統所定義的目錄。如果找到了可執行的程式, Net.Data 會執行該程式。

範例 1: 執行變數定義

%DEFINE runit=%exec "testProg"

變數 runit 被定義去執行可執行的程式 testProgrunit 變成了一個可執行的變數。

當 Net.Data 在 Net.Data 巨集中發現執行變數參照時, 它會執行可執行的程式。例如,當 Net.Data 巨集中進行了一個對變數 runit 的執行變數參照時, 程式 testProg 會被執行。

有一個簡單的方法是從另一個變數定義來參考一個執行變數。 範例 2 示範這個方法。變數 date 被定義為一個執行變數, 而 dateRpt 被定義為一個包含變數的執行變數參照。

範例 2: 作為變數參照的執行變數

%DEFINE date=%exec "date"
%DEFINE dateRpt="Today is $(date)"

當 Net.Data 分析變數參照 $(dateRpt) 時, Net.Data 會搜尋可執行的 date、執行該程式,並傳回下列結果:

Today is Tue 11-07-1995

執行變數永遠不會被設定其所呼叫之執行程式的輸出值。 以上述範例來說, 日期的值為空值。若您在 DTW_ASSIGN 函數呼叫中使用它,以將它的值給指定另一個變數, 則在做了這項指定之後,新變數的值也是為空值。執行變數的唯一目的是用來呼叫其所定義的程式。

您也可以藉由在變數定義中指定參數及程式名稱,然後將參數傳給要執行的程式。

範例 3: 使用參數的執行變數

%DEFINE mph=%exec "calcMPH $(distance) $(time)" 

distancetime 的值被傳送到程式 calcMPH


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]