下列範例顯示一個巨集,它有一個具有三個參數 (P1, P2 與 P3) 的函數定義。P1 為輸入 (IN) 參數,而 P2 與 P3 則為輸出 (OUT) 參數。 函數呼叫程式 UPDPGM,以 P1 的值更新參數 P2, 並將 P3 設定為字串。在處理 %EXEC 區塊中的陳述式之前, DTW_SYSTEM 語言環境會將 P1 與對應值儲存在環境空間中。
%DEFINE {
MYPARM2 = "ValueOfParm2"
MYPARM3 = "ValueOfParm3"
%}
%FUNCTION(DTW_SYSTEM) sys1 (IN P1, OUT P2, P3) {
%EXEC {
/QSYS.LIB/NETDATA.LIB/UPDPGM.PGM
%}
%}
%HTML(upd1) {
<P>
正將資料傳遞到程式。MYPARM2 的現行值為 "$(MYPARM2)",
MYPARM3 的現行值為 "$(MYPARM3)"。現在,我們將呼叫 Web 巨集函數。
@sys1("ValueOfParm1", MYPARM2, MYPARM3)
<P>
在函數呼叫後,MYPARM2 的值為 "$(MYPARM2)",
MYPARM3 的值為 "$(MYPARM3)"。
%}
假定 Web 巨集儲存在程式庫 NETDATA, 檔案 SYSMAC 與成員 SYS1 中, 則會經由從瀏覽器中載入下列 URL 來參照巨集:
http://hostname/cgi-bin/db2www/qsys.lib/netdata.lib/sysmac.file/ sys1.mbr/upd1