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_UPDATE(filename, transform, delimiter, table, retry, rows, startline)
@DTWF_UPDATE(filename, transform, delimiter, table, retry, rows)
@DTWF_UPDATE(filename, transform, delimiter, table, retry)
@DTWF_UPDATE(filename, transform, delimiter, table)
參數
資料類型 | 參數 | 使用 | 說明 |
---|---|---|---|
字串 | filename | INOUT | 其記錄是從表格變數來更新的檔案名稱。 呼叫順利完成時, 這個參數會傳回全部完整的檔名。 |
字串 | transform | IN | 檔案的格式:
|
字串 | delimiter | IN | 一個指示值終止的字元字串。這個參數是區分大小寫 的。忽略,如果transform 是 ASCIITEXT。 |
表格 | table | IN | 檔案記錄從該處開始更新的表格變數。
對非 OS/400 使用者而言:FFI 表格中橫列的最大長度為 16383 個字元。 此限制包括 Net.Data 巨集表格中每一直欄的空值字元。 |
整數 | retry | IN | 如果檔案無法立刻被寫入的話,所要重試 的次數。預設值是不重試。 |
整數 | rows | IN | 表格中的列數,用來更新檔案。0 值表示當更新檔案時使用所有列數; 此為預設值。請注意,僅更新檔案中的現存行, 而不新增任一行。 |
整數 | 起始行 | INOUT | 要更新的第一個檔案。 預設值是 1,其表示在檔案的開始即進行更新。 如果值大於檔案中的行數,則該值會 被變更為指示在檔案中最後一行的號碼,並傳回錯誤。 |
回覆碼
回覆碼 | 說明 |
---|---|
-1001 | 伺服器無法處理 Net.Data 的配置記憶體要求。 |
1001 | 輸入參數包含 NULL 值。 |
1002 | 輸入參數包含的字串有空字元結尾。 |
1003 | 函數呼叫上傳遞的參數數目不正確。 |
1004 | 函數呼叫上傳遞的參數必須是 Net.Data 巨集表變數,但卻是不同的變數類型。 |
1005 | 函數呼叫上傳遞的參數必須是字串變數,但卻是不同的變數類型。 |
1006 | 文字字串傳遞給函數呼叫中的參數, 但此參數必須是輸出參數。 |
1007 | 參數包含的值無效。 |
2000 | 純本文檔介面內建函數找不到指定的檔案。 |
2001 | 純本文檔介面內建函數無法開啟指定的檔案, 因為檔案正被此處理或另一個處理使用,無法在指定模式之下共用。 |
2003 | 純本文檔介面內建函數無法將一列資料讀入表格變數中, 因為橫列的位元組數超出支援的最大位元組數。 |
2004 | 純本文檔介面內建函數試圖尋找檔案, 但發現 FFI_PATH 架構檔變數中有一個路徑的長度超過支援的最大位元組數 4095。 |
2005 | 呼叫系統功能失敗。 |
2006 | 純本文檔介面內建函數無法存取指定的檔案, 因為檔案正被此處理或另一個處理使用,無法在指定模式之下共用。 |
用法注意事項
如果檔案不存在時,應該指定檔名的絕對路徑, 且將建立檔案的目錄須符合 FFI_PATH 中指定的目錄。 如果未使用絕對路徑,將開啟現行工作目錄中的檔案。
範例
範例 1:
%DEFINE { myFile = "c:/private/myfile" myTable = %TABLE myWait = "1500" myRows = "2" %} @DTWF_UPDATE(myFile, "Delimited", "|", myTable, myWait, myRows)
範例 2:
%DEFINE { myFile = "c:/private/myfile" myTable = %TABLE myStart = "1" myRows = "2" %} @DTWF_UPDATE(myFile, "Asciitext", "|", myTable, "0", myRows, myStart)