參考手冊

函數呼叫 (@)

目的

呼叫 FUNCTION 或 MACRO_FUNCTION 區塊,或具有指定引數的內建函數。 如果該函數不是內建函數,您必需先在 Net.Data 巨集定義函數後,才能指定函數呼叫。

語法

>>-@函數名稱---(----+-------------------------------------+--)--><
                    |  .-,------------------------------. |
                    |  V                                | |
                    '----+-變數名稱------------------+--+-'
                         +-變數參照------------------+
                         +-函數呼叫------------------+
                         |    .---------------.      |
                         |    V               |      |
                         '-"----+-字串-----+--+---"--'
                                +-變數參照-+
                                '-函數呼叫-'
 

@函數名稱
任何現有函數的名稱。一個以英文字母或底線開頭的英文或數字字串, 可以是英文字母、數字或底線字元的任意組合。

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

字串
字串中可使用任何英文字母、數字與標點符號,但不能使用換行字元。

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

函數呼叫
呼叫一或多個 FUNCTION 或 MACRO_FUNCTION 區塊, 或一個具有指定引數的 Net.Data 內建函數。

上下文

在這些上下文中可找到函數呼叫:

限制

範例

範例 1:呼叫結構化查詢語言函數 formQuery

%FUNCTION(DTW_SQL) formQuery(){
SELECT $(queryVal) from $(tableName)
%}
 
%HTML (input){
<p>您想查看 $(tableName) 的哪些直欄?</p>
<form method="post" action="report">
<input name="queryval" type="checkbox" value="name" />名稱
<input name="queryval" type="checkbox" value="mail" />電子郵件
<input name="queryval" type="checkbox" value="fax" />傳真
<input type="submit" value="submit request" />
</form>
%}
 
%HTML (report){
<p>這些是您所選取的直欄:
<hr>@formQuery()
%}

範例 2:以輸入及輸出參數呼叫 REXX 函數

%FUNCTION(DTW_REXX) my_rexx_pgm(INOUT a, b, IN c, OUT d) {
 %EXEC{ mypgm.cmd 這是測試 %}
%}
%HTML(INPUT) {
 <p> 原始變數值︰$(w) $(x) $(z)
 <p> @my_rexx_pgm(w, x, y, z)
 <p> 已修改之變數值︰$(w) $(x) $(z)
%}

範例 3: 以使用變數參照及函數呼叫的輸入參數呼叫 REXX 函數

%FUNCTION(DTW_REXX) my_rexx_pgm(IN a, b, c, d, OUT e) {
  ...
%}
%HTML(INPUT){
 <p>  @my_rexx_pgm($(myA), @getB(), @retrieveC(), $(myD), myE)
%} 

範例 4:闡釋 INOUT 參數用法的巨集。


%DEFINE a = "initial value of a"
%FUNCTION(DTW_REXX) func1(INOUT x) {
Say 'value at start of function:<br />
Say 'x =' x
Say '
<p>
'
x = "new value of a"
%REPORT {

<p>
value at start of report block:<br />
x = $(x)<br />
@dtw_assign(x, "newest value of a")
value at end of report block:<br />
x = $(x)<br />
%}
%}
%HTML(report) {
initial values:<br />
a = $(a)<br />
@func1(a)
value after function call:<br />
a = $(a)<br />
%}

輸出結果:

initial values:
a = initial value of a
value at start of function:
x = initial value of a 
value at start of report block:
x = new value of a
value at end of report block:
x = newest value of a
value after function call:
a = newest value of a


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