第八章  PROCEDURE OBEY

<回「入門講義」>

 Procedure 是AREMOS/Windows 語言堨t一個強有力的工具。簡言之,一個 procedure 是「a sequence of AREMOS commands」,代表一群 AREMOS/Windows 指令語句。如果要反覆執行一群 AREMOS/Windows 指令語句。可先產生一個 procedure 來代表這群指令語句。任何時候,只要鍵入這個 procedure 的名字,便會執行該群指令。同時 procedure 本身也是 object 的一種 (type),一旦建好了 procedure,可存放在 bank 堙C

Procedure 的一般形式如下(鍵入指令):

       procedure name;

       command statement;

       command statement;

       ……

       ……

       ……

       end;

第一行必須是「procedure name;」,其中 name 是我們為此 procedure 所取的名字。最後一行必須是「end;」。其間則是此 procedure 所代表的指令群。

有兩種方法可產生 procedure:(1)使用 Procedure Edit and display 編輯程式,(2)使用 Procedure 指令。分別介紹如下。

 

8.1  使用 Procedure Edit and Display 編輯程式產生 Procedure

 假定我們要建一個 procedure,名叫 pr1,內容如下:

Tools → Procedure Edit → 鍵入指令 pr1(在 Procedure Name 處) → 在下面的框框鍵入 procedure 內容。

procedure pr1;

set freq q ; set per 1989:1 2004:3 ;

set report dec 2;

open e:\WAREMOS\niaq;

print gnp,pchya(gnp);

end;

  → Save

→ Close 跳回主畫面

→ 鍵入指令 pr1 ;

 說明:這是建立一個 procedure 的第一種方法,名字叫 pr1,(如圖 8.1),若要執行 pr1,只要在主畫面上,鍵入指令「pr1;」(在 AREMOS Command 上),若您想修改 pr1 堛漱漁e,只要再進入 Procedure Edit…,Index…叫出 pr1,或鍵入 pr1(在 procedure name 處),按 Retrieve,然後游標移到 Procedure 內容去修改即可,然後按 Save,再按 Close,回到主畫面,在 AREMOS Command 下再鍵入「pr1;」執行。

 

【圖8.1】

 任何時候只要打「pr1;」,即會執行那群 command statements。同時 pr1 也是一個 object, object type 是 procedure,它可以像一個 series 一樣存放在 bank 堶情C如果在主畫面鍵入:
          display pr1;
          即會印出 pr1 的內容。

 ※在此特別一提,在 procedure 堛 command statements,有一列是 open e:\WAREMOS\niaq; 這是到 E 磁碟機堛 WAREMOS 子目錄下,open niaq 資料庫的意思。若您的資料庫 niaq 是放在 G 槽的 WAREMOS 子目錄下,您就必須打入「open g:\WAREMOS\niaq」。

<回頁首>

 

8.2  使用 Procedure 指令產生 Procedure

  第二種產生 procedure 的方法是以 procedure 指令。在 AREMOS 堙A如果在主畫面上鍵入指令:
         procedure pr2;
       此時電腦進入 sequential mode,會出現

         Sequence of commands ending with;
     
    Enter END;as final command:
       這是 sequential mode 的 prompt,接著依序打入:
     
    set freq m; set per 91:1 92:12;
     
    open e:\WAREMO\ind;
     
    print jqind,j22;
     
    end;

每行按 ENTER 時,都會出現「sequence of commands ending with ; Enter END; as final command:」。最後打「end;」即會跳出 sequential mode 回到正常 AREMOS/Windows 環境。此時也建好一個 procedure,名叫 pr2。要修改 pr2,可用 8.1 節所介紹之 Procedure Edit and Display 編輯程式去修改。

 

<回頁首>

 

8.3  CMD file obey

AREMOS/Windows 基本上是交談式 (interactive) 語言。但也可用 batch job 執行。有時讀者要反覆使用同一群 AREMOS/Windows command statements,或有時一個 job 可能執行很久,則採 batch 作業比較方便。AREMOS/Windows 的 batch job 可透過 2 個方式進行。

(一)利用本章所介紹建立 procedure 的方法。一旦建好 procedure,可存於 bank 媕H時可叫出來執行,或略加修改再執行。procedure 代表一群 command statements,執行某一 procedure 即相當於做一個 batch job。

(二)也可用 CMD file 來做。假定我們 C 碟上已建好一個 file,filename 隨便取,副檔名則規定為 CMD,而此 file 內容即是一堆AREMOS/Windows command statements。如此,進入 AREMOS/Windows 後,找 Tools 堛滿uobey」去執行 filename(.cmd) 即可。

※  至於如何在 C 碟上產生一個 CMD file?

可用 AREMOS Editor 編輯程式來編輯,同時設定副檔名為「.cmd」。下面,我們即將使用一個範例來解釋。操作滑鼠如下:

(1)Tools → AREMOS Editor → 然後在NEW-WAEDIT 的畫面下鍵入 command statement:

set freq m;set per 1989m1 2004m11;

set report dec 2;

open e:\WAREMOS\fsm.bnk;

print rmtd1@1st@f,pch(rmtd1@1st@f);

    → File → Save → 鍵入 ob1.cmd(在檔案名稱處) → 確定

(2)Tools → Obey → 鍵入 ob1.cmd(在 File Name:) →OK

(3)Tools → AREMOS Editor → File → Open →選 ob1.cmd → 確定

說明:

(1)這一群 command statements 的前面不須寫「procedure name;」及最後一行不必寫「end;」,這和 procedure 的編輯方式有點不同,但相類似。而 open e:\WAREMOS\fsm.bnk ,是  open 磁碟機 E 槽子目錄 WAREMOS 堛 fsm 資料庫(如圖 8.3.1)。讀者要特別留意自己的資料庫是放在那一槽或在那一個子目錄下。

(2)用 obey 去執行 ob1.cmd 檔案,如圖 8.3.2。

(3)回到 AREMOS Editor 編輯程式下,去修正 ob1.cmd 檔案。

 

【圖8.3.1】

 

【圖8.3.2】

 

<回頁首>

<回「入門講義」>