參考手冊

DEFINE 區塊或陳述式

目的

DEFINE 區段在巨集中的宣告部份定義變數名稱, 可以是陳述式或是區塊。

變數定義使用雙引號 (""),可以在單一行, 或使用大括弧加上百分比符號 ({ %}),可以分成多行。 定義了變數之後,您可以在巨集的任何地方參考它。

語法

>>-%DEFINE----+----------------------------+-------------------->
              |             (1)            |
              '-(--+-STATIC---------+---)--'
                   |           (1)  |
                   '-TRANSIENT------'
 
>-----+-| 定義登錄 |---------------------------+---------------><
      '-{--+---------------------------+---%}--'
           |  .---------------------.  |
           |  V                     |  |
           '----+-定義登錄-------+--+--'
                '-include 陳述式-'
 
定義登錄
 
                        .----------------.
                        V                |
|---+-變數名稱--=--+-"-----+----------+--+---"---+-+------------|
    |              |       +-字串-----+          | |
    |              |       +-變數參照-+          | |
    |              |       '-函數呼叫-'          | |
    |              |    .----------------.       | |
    |              |    V                |       | |
    |              +-{-----+----------+--+---%}--+ |
    |              |       +-字串-----+          | |
    |              |       +-變數參照-+          | |
    |              |       +-函數呼叫-+          | |
    |              |       '-換行-----'          | |
    |              +-exec 陳述式-----------------+ |
    |              +-table 陳述式----------------+ |
    |              +-envvar 陳述式---------------+ |
    |              +-| 條件式變數 |--------------+ |
    |              '-| 縮寫的條件式變數 |--------' |
    '-列示陳述式-----------------------------------'
 
條件式變數
 
                         .----------------.
                         V                |
|---變數名稱---?----+-"-----+----------+--+---"---+------------->
                    |       +-字串-----+          |
                    |       +-變數參照-+          |
                    |       '-函數呼叫-'          |
                    |    .----------------.       |
                    |    V                |       |
                    '-{-----+----------+--+---%}--'
                            +-字串-----+
                            +-變數參照-+
                            '-函數呼叫-'
 
                .----------------.
                V                |
>-------:--+-"-----+----------+--+---"---+----------------------|
           |       +-字串-----+          |
           |       +-變數參照-+          |
           |       '-函數呼叫-'          |
           |    .----------------.       |
           |    V                |       |
           '-{-----+----------+--+---%}--'
                   +-字串-----+
                   +-變數參照-+
                   '-函數呼叫-'
 
縮寫的條件式變數
 
              .----------------.
              V                |
|---?----+-"-----+----------+--+---"---+------------------------|
         |       +-字串-----+          |
         |       +-變數參照-+          |
         |       '-函數呼叫-'          |
         |    .----------------.       |
         |    V                |       |
         '-{-----+----------+--+---%}--'
                 +-字串-----+
                 +-變數參照-+
                 '-函數呼叫-'
 

註:

  1. STATIC 與 TRANSIENT 均是持續巨集的關鍵字, 目前僅能在 OS/400 作業系統上使用它們。

%DEFINE
此關鍵字負責定義變數。

STATIC
指定變數在持續異動內的巨集呼叫之間保留它的值的關鍵字。這是持續巨集的預設值。

TRANSIENT
指定變數在巨集呼叫之間不會保留它的值的關鍵字。這是非持續巨集的預設值。

定義登錄:

變數名稱
定義變數的名稱。 有關語法的詳細資訊,請參閱變數名稱

字串
字串中可使用任何英文字母、數字與標點符號。 如果字串出現在雙引號內,則不容許使用換行字元。

變數參照
傳回變數值,並以 $ 及 () 符號指定。例如: 如果 VAR='abc', 則 $(VAR) 傳回值 'abc'。 有關語法的詳細資訊, 請參閱變數參照

函數呼叫
呼叫一或多個 FUNCTION 或 MACRO_FUNCTION 區塊, 或一個具有指定引數的 Net.Data 內建函數。 有關語法及範例,請參閱函數呼叫 (@)

exec 陳述式
EXEC 陳述式。為參考變數或呼叫函數時所執行的外部程式名稱。 有關語法及範例,請參閱EXEC 區塊或陳述式

表格陳述式
TABLE 陳述式。定義相關資料的集合, 有一個相同記錄或橫列的陣列、以及一個說明各列欄位的直欄名稱陣列。 有關語法及範例,請參閱 TABLE 陳述式

envvar 陳述式
ENVVAR 陳述式。參照環境變數。 有關語法及範例,請參閱 ENVVAR 陳述式

條件式變數
根據另一個變數或字串是否為空白來設定變數值。

縮寫的條件式變數
根據另一個變數或字串是否為空白來設定變數值。 條件式變數的縮短格式。

列示陳述式
LIST 陳述式。定義一些變數,可用來建置一個有定界符號的值列示。 有關語法及範例,請參閱 LIST 陳述式

include 陳述式
INCLUDE 陳述式。讀取及納入檔案到 Net.Data 巨集。 有關語法及範例,請參閱 INCLUDE 陳述式

上下文

DEFINE 區塊或陳述式必須在巨集的 IF 區塊之內,或在 Net.Data 巨集宣告部份的其它區塊之外。

限制

範例

範例 1:簡式變數定義

%DEFINE var1 = "orders"
%DEFINE var2 = "$(var1).html"

執行時,變數參照 $(var2) 被運算為 orders.html

範例 2:字串內含雙引號

%DEFINE hi = "say ""hello"""
%DEFINE empty = ""

顯示時,變數 hi 的值為 say "hello"。 變數 empty 包含空字串。

範例 3: 多重變數的定義

%DEFINE{  DATABASE = "testdb"
          home = "http://www.ibm.com/software"
          SHOWSQL = "YES"
          PI = "3.14150"
%}

範例 4:變數的多行定義

%DEFINE text = {This variable definition
            spans two lines
%}

範例 5:這個條件式變數的範例示範 如果結果值不包含任何 NULL 值時,變數 var 如何取用 引號 ("") 內的結果值。

%DEFINE var = ? "Hello! $(V)@MyFunc()"
%}


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