| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
将 Net.Data 表格的内容写到一个文本文件的结尾。
格式
@DTWF_APPEND(filename, transform, delimiter, table, retry, rows)
@DTWF_APPEND(filename, transform, delimiter, table, retry)
@DTWF_APPEND(filename, transform, delimiter, table)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 向它添加变量内容的文件的名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | transform | IN | 文件的格式:
|
| 字符串 | delimiter | IN | 用于表示一个值结束的字符串。这个参数是区别大小写 的。如果 transform 为 ASCIITEXT,则忽略此参数。 |
| 表格 | table | IN | 用于读取记录的表格变量。
对于 非 OS/400 用户:FFI 表中一行的最大的长度为 16383 个字符。这个限制包括对 Net.Data 宏表格中每一列所使用 的一个空字符。 |
| 整数 | retry | IN | 不能立即追加文件时需要的重试次数。缺省情况是不重试。 |
| 整数 | rows | IN | table中要追加的最大行数。缺省情况是追加 所有的行。指定 0 则添加所有的行。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1004 | 传递给函数调用的参数应该是一个 Net.Data 宏表格变量, 但实际上是另一个类型的变量。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 2003 | 平面文件接口内部函数无法将一行数据读入一表格变量,因为行中的字 节数目超过了所支持的最大字节数目。 |
| 2004 | 平面文件接口内部函数试图寻找一个文件,但是在 FFI_PATH 配置文件 变量中遇到一条路径,其长度大于所支持的最大字节数 4095。 |
| 2005 | 对系统函数的调用失败。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
用法注意事项
文件中的当前内容将影响使用 DTWF_APPEND 的结果,特别是最后一行最后一列的内容。如果文件 最后一行最后一列的值后面跟有一个换行字符,则附加的数据放入新行中。否则,附加的数据成为文件最后 一行的一部分。
例
例 1:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_APPEND(myFile, "DELIMITED", " ;", myTable)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_APPEND(myFile, "ASCIITEXT", " ;", myTable)
例 3:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_APPEND(myFile, "ASCIITEXT", " ;", myTable, "0", "10")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
关闭由 DTWF_OPEN 打开的文件。
格式
@DTWF_CLOSE(filename, retry)
@DTWF_CLOSE(filename)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要关闭的文件名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 整数 | retry | IN | 不能立即关闭文件时需要的重试次数。缺省情况是不重试。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1007 | 参数中包含了一个无效值。 |
| 2002 | 平面文件接口内部函数无法关闭指定的文件,因为它不是由这个宏调用打开的。 |
例
例 1:
@DTWF_CLOSE(myFile, "5")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
从文本文件中删除行。
格式
@DTWF_DELETE(filename, transform, delimiter, retry, rows, startrow)
@DTWF_DELETE(filename, transform, delimiter, retry, rows)
@DTWF_DELETE(filename, transform, delimiter, retry)
@DTWF_DELETE(filename, transform, delimiter)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要删除记录的那个文件的名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | transform | IN | 文件的格式:
|
| 字符串 | delimiter | IN | 用于表示一个值结束的字符串。这个参数是区别大小写 的。如果 transform 为 ASCIITEXT,则忽略此参数。 |
| 整数 | retry | IN | 不能立即删除记录时所需要的重试次数。缺省情况是不重试。 |
| 整数 | rows | IN | 要删除的最大行数。缺省情况是删除 所有的行。指定 0 则删除所有的行。 |
| 整数 | startrow | INOUT | 开始执行删除操作的行号。值 1 表示从第一个行开始删除。如果这个值大于文件中的总行数,则将这个值 更改为最后一个记录,并返回一个错误。缺省情况是从 1 开始。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 2003 | 平面文件接口内部函数无法将一行数据读入一表格变量,因为行中的字 节数目超过了所支持的最大字节数目。 |
| 2004 | 平面文件接口内部函数试图寻找一个文件,但是在 FFI_PATH 配置文件 变量中遇到一条路径,其长度大于所支持的最大字节数 4095。 |
| 2005 | 对系统函数的调用失败。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
例
例 1:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
myWait = "5000"
myRows = "2"
%}
@DTWF_DELETE(myFile, "Delimited", "|", myWait, myRows)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
myStart = "1"
myRows = "2"
%}
@DTWF_DELETE(myFile, "Asciitext", "|", "0", myRows, myStart)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
在文本文件中插入行。
格式
@DTWF_INSERT(filename, transform, delimiter, table, retry, rows, startrow)
@DTWF_INSERT(filename, transform, delimiter, table, retry, rows)
@DTWF_INSERT(filename, transform, delimiter, table, retry)
@DTWF_INSERT(filename, transform, delimiter, table)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 用于插入记录的文件名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | transform | IN | 文件的格式:
|
| 字符串 | delimiter | IN | 用于表示一个值结束的字符串。这个参数是区别大小写 的。如果 transform 为 ASCIITEXT,则忽略此参数。 |
| 表格 | table | IN | 从中把记录插入到文件的表格变量。
对于 非 OS/400 用户:FFI 表中一行的最大的长度为 16383 个字符。这个限制包括对 Net.Data 宏表格中每一列所使用 的一个空字符。 |
| 整数 | retry | IN | 不能立即写文件时需要的重试次数。缺省情况是不重试。 |
| 整数 | rows | IN | 从 table 中取出进行插入的最大行数。缺省情况是插入 所有的行。值 0 表示插入所有的行。 |
| 整数 | startrow | INOUT | 开始执行插入操作的行号。如果这个值大于文件中的总行数,则将这个值 更改为最后一个记录,并返回一个错误。指定 0 意味着在文件开头插入。缺省情况是从 1 开始。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1004 | 传递给函数调用的参数应该是一个 Net.Data 宏表格变量, 但实际上是另一个类型的变量。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 2003 | 平面文件接口内部函数无法将一行数据读入一表格变量,因为行中的字 节数目超过了所支持的最大字节数目。 |
| 2004 | 平面文件接口内部函数试图寻找一个文件,但是在 FFI_PATH 配置文件 变量中遇到一条路径,其长度大于所支持的最大字节数 4095。 |
| 2005 | 对系统函数的调用失败。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
例
例 1:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
myWait = "3000"
%}
@DTWF_INSERT(myFile, "Delimited", "|", myTable, myWait)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
myStart = "1"
myRows = "2"
%}
@DTWF_INSERT(myFile, "Asciitext", "|", myTable, "0", myRows, myStart)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
打开一个文本文件。
格式
@DTWF_OPEN(filename, mode, retry)
@DTWF_OPEN(filename, mode)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要打开的文件名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | mode | IN | 请求的访问类型:
|
| 整数 | retry | IN | 不能立即打开文件时需要的重试次数。缺省情况是不重试。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
用法注意事项
例
例 1:
%DEFINE{
myFile = "c:/private/myfile"
myMode = "r+"
%}
@DTWF_OPEN(myFile, myMode, "1000")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
逐行从文本文件读入 Net.Data 表格。
格式
@DTWF_READ(filename, transform, delimiter, table, retry, rows, startrow, columns)
@DTWF_READ(filename, transform, delimiter, table, retry, rows, startrow)
@DTWF_READ(filename, transform, delimiter, table, retry, rows)
@DTWF_READ(filename, transform, delimiter, table, retry)
@DTWF_READ(filename, transform, delimiter, table)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要把记录读入表格变量的那个文件的名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | transform | IN | 文件的格式:
|
| 字符串 | delimiter | IN | 用于表示一个值结束的字符串。这个参数是区别大小写 的。如果 transform 为 ASCIITEXT,则忽略此参数。 |
| 表格 | table | OUT | 一个表格变量,用于写入从文件中读取的记录。
对于 非 OS/400 用户:FFI 表中一行的最大的长度为 16383 个字符。这个限制包括对 Net.Data 宏表格中每一列所使用 的一个空字符。 |
| 整数 | retry | IN | 不能立即读取文件时需要的重试次数。缺省情况是不重试。 |
| 整数 | rows | INOUT | 要读到表格中的文件记录的最大个数。缺省情况是 读取所有记录,或直到表格填满为止。0 值表示要读到文件结束。返回所生成的表格的行数。 |
| 整数 | startrow | IN | 文件中开始读取记录的位置。缺省情况是从第一个记录开始。 |
| 整数 | columns | OUT | 返回表格中的列数。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1004 | 传递给函数调用的参数应该是一个 Net.Data 宏表格变量, 但实际上是另一个类型的变量。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 1010 | 数据不停地被写入表格,直到表格满为止,然后废弃剩余的数据。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 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","")
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
删除整个文件。
格式
@DTWF_REMOVE(filename, retry)
@DTWF_REMOVE(filename)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要删除的文件名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 整数 | retry | IN | 不能立即删除文件时需要的重试次数。缺省情况是不重试。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
例
例 1:
%DEFINE myFile = "c:/private/myfile" @DTWF_REMOVE(myFile)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myWait = "2000"
%}
@DTWF_REMOVE(myFile, myWait)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
在文本文件中搜索一个字符串,将结果返回到 Net.Data 表格中。
格式
@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry, rows, startrow)
@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry, rows)
@DTWF_SEARCH(filename, transform, delimiter, table, searchFor, retry)
@DTWF_SEARCH(filename, transform, delimiter, table, searchFor)
参数
| 数据类型 | 参数 | 用法 | 说明 |
|---|---|---|---|
| 字符串 | filename | INOUT | 要搜索的文件名称。此函数成功完成时,这个参数返回全限定文件名。 |
| 字符串 | transform | IN | 文件的格式:
|
| 字符串 | delimiter | IN | 用于表示一个值结束的字符串。这个参数是区别大小写 的。如果 transform 为 ASCIITEXT,则忽略此参数。 |
| 表格 | table | OUT | 用于存放搜索结果的表格变量。如果 transform 为 DELIMITED,则返回三列:
对于 非 OS/400 用户:FFI 表中一行的最大的长度为 16383 个字符。这个限制包括对 Net.Data 宏表格中每一列所使用 的一个空字符。 |
| 字符串 | searchFor | IN | 要查找的字符串。 |
| 整数 | retry | IN | 不能立即搜索文件时需要的重试次数。缺省情况是不重试。 |
| 整数 | rows | INOUT | 读至 table 中的最大行数。缺省情况是读取所有的行 ,或直到 table 填满为止。指定 0 表示要读到文件 结束。此参数返回结果表格中的行数。 |
| 整数 | startrow | IN | 文件中开始执行搜索操作的位置。缺省值是 1, 表示从第一个记录开始搜索。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 1002 | 输入参数中包含一个由空终结字符组成的字符串值。 |
| 1003 | 在函数调用时传递的参数数目或者超过了允许的最大数目,或者小于该函数必需的最小数目。 |
| 1004 | 传递给函数调用的参数应该是一个 Net.Data 宏表格变量, 但实际上是另一个类型的变量。 |
| 1005 | 传递给函数调用的参数应该是一个字符串变量,但实际上是另一个类型的变量。 |
| 1006 | 传递给函数调用的参数必须是一个输出参数,但实际上传递了一个文字串。 |
| 1007 | 参数中包含了一个无效值。 |
| 1010 | 数据不停地被写入表格,直到表格满为止,然后废弃剩余的数据。 |
| 2000 | 平面文件接口内部函数无法找到指定的文件。 |
| 2001 | 平面文件接口内部函数无法打开指定的文件, 因为它正被这个进程或另一个进程所使用,不能以指定的方式进行共享。 |
| 2003 | 平面文件接口内部函数无法将一行数据读入一表格变量,因为行中的字 节数目超过了所支持的最大字节数目。 |
| 2004 | 平面文件接口内部函数试图寻找一个文件,但是在 FFI_PATH 配置文件 变量中遇到一条路径,其长度大于所支持的最大字节数 4095。 |
| 2005 | 对系统函数的调用失败。 |
| 2006 | 平面文件接口内部函数不能访问指定的文件,因为它正被这个或另一个进 程所使用,并且不能以指定的方式进行共享。 |
用法注意事项
例
例 1:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
myWait = "1000"
mySearch = "0123456789abcdef"
@DTWF_SEARCH(myFile, "DELIMITED", ";",
myTable, mySearch, myWait)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
mySearch = "answer:"
myWait = "0"
myRows = "0"
myStartrow = "1"
%}
@DTWF_SEARCH(myFile, "DELIMITED", ";", myTable,
mySearch, myWait, myRows, myStartrow)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
用 Net.Data 表格中的数据更新文本文件中的行。
格式
@DTWF_UPDATE(filename, transform, delimiter, table, retry, rows, startrow)
@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 | table 中要更新的最大记录数。缺省情况是更新 所有的记录。0 值表示更新文件中所有行。 |
| 整数 | startrow | INOUT | 要更新的第一个文件记录。缺省值是 1, 表示要从文件开头开始更新。如果这个值大于文件中的记录个数,则将这个值 更改为指向文件中的最后一个记录,并返回一个错误。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 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)
| AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | SCO | SUN | Win NT |
| X |
|
| X | X | X |
| X | X |
目的
将 Net.Data 表格的内容写入一个文本文件。
格式
@DTWF_WRITE(filename, transform, delimiter, table, retry, rows, startrow)
@DTWF_WRITE(filename, transform, delimiter, table, retry, rows)
@DTWF_WRITE(filename, transform, delimiter, table, retry)
@DTWF_WRITE(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 值表示把所有记录写到文件结束。 |
| 整数 | startrow | INOUT | 开始写到文件中的第一个记录。缺省值是 1, 表示要从第一个记录开始。如果指定的值超出了文件结束范围,则返回文件中的 最后一行,并返回一个错误。 |
返回码
| 返回码 | 说明 |
|---|---|
| -1001 | 服务器不能处理 Net.Data 请求来分配内存。 |
| 1001 | 输入参数中包含一个空值。 |
| 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
%}
@DTWF_WRITE(myFile, "DELIMITED", ";", myTable)
例 2:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_WRITE(myFile, "ASCIITEXT", ";", myTable, "5000")
例 3:
%DEFINE{
myFile = "c:/private/myfile"
myTable = %TABLE
%}
@DTWF_WRITE(myFile, "ASCIITEXT", ";", myTable, "5000", "10", "50")