目的
呼叫 FUNCTION 或 MACRO_FUNCTION 區塊,或具有指定引數的內建函數。 如果該函數不是內建函數,您必需先在 Net.Data 巨集定義函數後,才能指定函數呼叫。
語法
>>-@函數名稱---(----+-------------------------------------+--)-->< | .-,------------------------------. | | V | | '----+-變數名稱------------------+--+-' +-變數參照------------------+ +-函數呼叫------------------+ | .---------------. | | V | | '-"----+-字串-----+--+---"--' +-變數參照-+ '-函數呼叫-'
值
上下文
在這些上下文中可找到函數呼叫:
限制
範例
範例 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