參考手冊

DTWF_READ


AIX HP-UX Linux OS/2 OS/390 OS/400 PTX SUN Win NT
X X X X X X X X X

目的

從文字檔讀取一些行到 Net.Data 表格中。

格式

@DTWF_READ(filename, transform, delimiter, table, retry, lines, startline, columns)

@DTWF_READ(filename, transform, delimiter, table, retry, lines, startline)

@DTWF_READ(filename, transform, delimiter, table, retry, lines)

@DTWF_READ(filename, transform, delimiter, table, retry)

@DTWF_READ(filename, transform, delimiter, table)

參數

表 178. DTWF_READ 參數
資料類型 參數 使用 說明
字串 filename INOUT 將其記錄讀取至表格變數中的檔案名稱。 呼叫順利完成時, 這個參數會傳回全部完整的檔名。
字串 transform IN 檔案的格式:
  • ASCIITEXT - 將表格寫入檔案,各直欄值之間放入換行字,並忽略 delimiter 參數。
  • DELIMITED - 使用指定在 delimiter 參數中的區隔字元來將表格寫入檔案中。
檔案中的換行字元指出 ASCIITEXT 與 DELIMITED 轉換的 Net.Data 巨集表格的橫列結尾。
字串 delimiter IN 一個指示值終止的字元字串。這個參數是區分大小寫 的。忽略,如果transform 是 ASCIITEXT。
表格 table OUT 一個從中讀取檔案記錄的表格變數。

對非 OS/400 使用者而言:FFI 表格中橫列的最大長度為 16383 個字元。 此限制包括 Net.Data 巨集表格中每一直欄的空值字元。

整數 retry IN 如果檔案無法立刻讀取的話,所要重試 的次數。 預設值是不重試。
整數 行數 INOUT 可讀取至表格內的檔案中行數。0 值表示一直讀取至檔案的尾端,或直到表格已滿; 此為預設值。在此函數呼叫成功完成的情況下,會返回在結果表格中的列數。
整數 起始行 IN 在檔案中,要開始讀取使用的行。預設值是從第一行開始讀取。
整數 columns OUT 傳回表格中的欄數。

回覆碼

表 179. DTWF_READ 回覆碼
回覆碼 說明
-1001 伺服器無法處理 Net.Data 的配置記憶體要求。
1001 輸入參數包含 NULL 值。
1002 輸入參數包含的字串有空字元結尾。
1003 函數呼叫上傳遞的參數數目不正確。
1004 函數呼叫上傳遞的參數必須是 Net.Data 巨集表變數,但卻是不同的變數類型。
1005 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。
1006 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。
1007 參數包含的值無效。
1010 資料會被寫入表格中,直到表格沒有空位為止,剩餘資料則捨棄。
2000 純本文檔介面內建函數找不到指定的檔案。
2003 純本文檔介面內建函數無法將一列資料讀入表格變數中, 因為橫列的位元組數超出支援的最大位元組數。
2004 純本文檔介面內建函數試圖尋找檔案, 但發現 FFI_PATH 架構檔變數中有一個路徑的長度超過支援的最大位元組數 4095。
2005 呼叫系統功能失敗。
2006 純本文檔介面內建函數無法存取指定的檔案, 因為檔案正被此處理或另一個處理使用,無法在指定模式之下共用。

範例

範例 1

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
  myWait = "1000"
%}
@DTWF_READ(myFile, "DELIMITED", ";", myTable, myWait)

範例 2

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
  myWait = "0"
  myRows = "0"
  myStartrow = "1"
  myColumns = ""
%}
@DTWF_READ(myFile, "DELIMITED", ";", myTable, myWait, myRows,
             myStartrow, myColumns)

範例 3

%DEFINE {
   myFile = "c:/private/myfile"
   myTable = %TABLE
%}
@DTWF_READ(myFile, "ASCIITEXT", ";", myTable)
@DTW_TB_TABLE(myTable,"BORDER","")


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