AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X |
|
| X | X | X |
目的
使用此函數以讀取檔案,並指定其變數。 函數會在 FFI_PATH 搜尋指定的檔案。
函數可以用來將大量資料傳送給另一個函數或儲存程序。如果檔案資料包含 NULL 字元, 它可能會在巨集中參考變數時截斷。
格式
@DTWF_READFILE(fileIn,varOut)
參數
表 180. DTW_READFILE Parameters
資料類型 | 參數 | 使用 | 說明 |
---|---|---|---|
字串 | fileIn | IN | 所要讀取的檔案名稱。 |
字串 | varOut | OUT | 此變數被指定為檔案的內容。 |
回覆碼
回覆碼 | 說明 |
---|---|
-1001 | 伺服器無法處理 Net.Data 的配置記憶體要求。 |
1001 | 輸入參數包含 NULL 值。 |
1002 | 輸入參數包含的字串有空字元結尾。 |
1003 | 函數呼叫上傳遞的參數數目不正確。 |
1004 | 函數呼叫上傳遞的參數必須是 Net.Data 巨集表變數,但卻是不同的變數類型。 |
1005 | 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。 |
1006 | 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。 |
1007 | 參數包含的值無效。 |
1010 | 資料會被寫入表格中,直到表格沒有空位為止,剩餘資料則捨棄。 |
2000 | 純本文檔介面內建函數找不到指定的檔案。 |
2001 | 純本文檔介面內建函數無法開啟指定的檔案, 因為檔案正被此處理或另一個處理使用,無法在指定模式之下共用。 |
2003 | 純本文檔介面內建函數無法將一列資料讀入表格變數中, 因為橫列的位元組數超出支援的最大位元組數。 |
2004 | 純本文檔介面內建函數試圖尋找檔案, 但發現 FFI_PATH 架構檔變數中有一個路徑的長度超過支援的最大位元組數 4095。 |
2005 | 呼叫系統功能失敗。 |
2006 | 純本文檔介面內建函數無法存取指定的檔案, 因為檔案正被此處理或另一個處理使用,無法在指定模式之下共用。 |
範例
範例 1︰以大寫方式來讀取及顯示檔案。
%HTML(report){ @DTWF_READFILE("sample.html",sampfile) @DTW_UPPERCASE(sampfile) %}
範例 2︰在此範例中,將檔案上載至伺服器上, 然後,使用 DTWF_READFILE 來讀取,並將它傳送至儲存程序以處理和顯示於 XML 瀏覽器。
架構檔︰
DTW_UPLOAD_DIR /usr/lpp/internet/server_root/tmplobs FFI_PATH /usr/lpp/internet/server_root/tmplobs
巨集︰
%DEFINE{ DATABASE="SALES_DB" %} %FUNCTION(DTW_SQL) dxx_GenXML(IN CLOB dad, IN CHAR(31) result_tab, IN INTEGER ovType, IN VARCHAR(1024) over, IN INTEGER MaxRow, OUT INTEGER NumRow, OUT INTEGER dxxRC, OUT VARCHAR(99) dxxMSG) { CALL db2xml!dxxGenXML %REPORT{ %ROW{ @DTW_rHTMLENCODE(V1) %} %} %MESSAGE{ default: "" : continue %} %} %HTML(input){ <form enctype="multipart/form-data" method="post" action="report"> <p>File to upload:</p> <p><input type="file" name="dad_file" /></p> <p><input type=submit /></p> </form> %} %XML(report){ @DTWF_READFILE(DAD_file, DAD) <xml version="1.0" ?> <xml-stylesheet type="text/xsl" href="ndTable.xsl" ?> <XMLBlock> @dxx_GenXML( DAD, "result_tab", "0", "" , "1", numRows, dxxRC, dxxMSG ) </XMLBlock> %}