从 BASIC 顺序文件传输数据时出错

将数据从 BASIC 顺序文件传输到 iSerieseServer i5 或 System i5 定义的文件时,可能会出现以下错误:
  • 对于 iSerieseServer i5 或 System i5 字段,此字段中的数据太长。数据将被截断。文件描述文件将字符数据定义为长于为文件指定的字段长度。

    如果数据传输到 EBCDIC 字段,则仅当额外的字节不是空格时,才会出现此错误。如果数据传输到十六进制字段,则仅当额外的字节不是零时,才会出现此错误。这些额外的字节将被截断,以便可将数据放入指定的 iSerieseServer i5 或 System i5 字段中。

  • 对于系统字段,数字数据的值太大。将使用最大值。在以下情况下会发生此错误:
    • workstation 字段中的数字数据无法放入系统字段的指定字节数。
    • 数字字段的十进制值包含的位数多于为该系统字段指定的位数。

    字段的值设置为 iSerieseServer i5 或 System i5 指定的字节数和位数的最大可能值。

  • 此字段中的数据具有太多小数位。数字将四舍五入。当 workstation 字段中的十进制位置数大于在系统上指定的十进制位置数时,会出现此错误。额外的字节非常重要,因为如果第一个无关数字为 5 或更大,数据将向上舍入,如果它小于 5,则向下舍入。
  • 此字段中的数据不正确,或与 workstation 数据类型不匹配。当文件描述定义为数字的字段包含非数字数据时,会发生此错误。如果字符或十六进制字段包含数字字段,或者数字(分区、压缩或二进制)字段包含字符字段,也可能会导致出现此问题。

    发生此错误时,传输请求结束,以防止将不正确的数据传输到系统文件。

  • 此字段的数据丢失。将使用缺省值。当定义了数据字段,但文件中没有数据时,会发生此错误。这意味着在找到所有定义的数据之前到达记录的末尾。

    发生此错误时,已定义数据但未找到的字段将使用缺省值填充,并传输至 iSerieseServer i5 或 System i5 文件。这些缺省值是用于字符字段的 EBCDIC 空格,或者用于数字字段的零。

    要提供自己的缺省值,请在文件的 DDS 中使用缺省 (DFT) 关键字。

  • 此字段中的数据超过 workstation 字段大小。数据将丢失。当在字符字段的末尾发现不是由文件描述文件定义的额外数据时,会发生此错误。多余的字节将被截断,不会传输到系统文件。
  • 在记录的末尾找到额外的数据。不会传输额外数据。如果在记录的末尾找到额外的数据,并且系统数据定义或 workstation 文件描述文件未定义这些数据,则会出现此错误。此额外数据不会传输到系统,因为没有定义来定义数据和描述数据应如何更改。