从 DOS 随机文件传输数据时出错
将数据从 DOS 随机文件传输到 iSeries™、eServer™ i5 或 System i5™ 文件时,可能会出现以下错误:
- 对于系统字段,此字段中的数据过短。将填充数据。当 workstation 文件包含的字符或十六进制数据短于指定的字段长度时,会发生此错误。如果将 workstation 字段定义为短于系统字段,或者文件最后一条记录中的数据过短,则也会发生此错误。使用 EBCDIC 空格在右侧填充字符字段。十六进制字段在右侧使用零填充。
- 对于系统字段,此字段中的数据太长。数据将被截断。当 workstation 文件描述文件定义的字符或十六进制数据长于为系统文件指定的字段长度时,会发生此错误。
对于字符数据,仅当额外的字节不是空格时,才会出现此错误。对于十六进制数据,仅当额外的字节不是零时,才会出现此错误。这些额外的字节将被截断,以便可将数据放入指定字段。
- 对于系统字段,数字数据的值太大。将使用最大值。在以下情况下会发生此错误:
- workstation 字段中的数字数据无法放入 iSeries™、eServer™ i5 或 System i5™ 字段的指定字节数。
- 数字字段的十进制值包含的位数多于为 iSeries™、eServer™ i5 或 System i5™ 字段指定的位数。
字段的值设置为系统指定的字节数和位数的最大可能值。
- 此字段中的数据具有太多小数位。数字将四舍五入。当 workstation 字段中的十进制位置数大于在系统上指定的十进制位置数时,会出现此错误。额外的字节非常重要,因为如果第一个无关数字为 5 或更大,数据将向上舍入,如果它小于 5,则向下舍入。
- 此字段中的数据不正确,或与 workstation 数据类型不匹配。当非数字数据出现在文件描述定义为数字的字段中时,会发生此错误。发生此错误时,传输请求结束,以防止将不正确的数据传输到系统文件。
- 此字段的数据丢失。将使用缺省值。当定义了数据字段,但文件中没有数据时,会发生此错误。这意味着在找到所有定义的数据之前到达文件的末尾。
发生此错误时,已定义但未找到数据的字段将使用缺省值填充,并传输到系统文件。缺省值是用于字符字段的 EBCDIC 空格,或者用于数字字段的零。
要提供自己的缺省值,请在文件的 DDS 中使用缺省 (DFT) 关键字。
将数据从 DOS 随机文件传输到没有数据定义的系统文件时,任何短于为系统文件定义的记录长度的数据都将使用 EBCDIC 空格填充。
由于 DOS 随机文件没有记录定界符,因此此错误仅发生在最后一条记录上,可能表明系统文件的记录长度与 workstation 文件的记录长度不匹配。