从 DIF 文件传输数据

如果在将数据从 DIF 文件传输到 iSerieseServer i5 或 System i5 时发现错误单元格,根据文件中的数据类型,可能会发生以下一种情况:
  • 如果系统字段是字符 (EBCDIC) 字段,则会使用不可转换字符(十六进制零)填充此类字段,并将其传输到系统。此时将显示一条消息,告诉您已传输多少字节的不可转换数据。
  • 如果系统字段是十六进制、分区、压缩或二进制字段,您将收到一条错误消息,告诉您此单元格中的数据不正确,并且数据未传输到系统。

将数据从系统文件传输到 DIF 文件时,字段名将放在第一条记录中,您可以考虑它们的列标题。将 DIF 文件传输回系统时,第一行必须是这些字段名(与系统上定义的名称完全相同)或数据。如果第一行不包含字段名,则会像处理文件时仅包含数据一样对其进行处理。

将文件发送到 iSerieseServer i5 或 System i5 时,不使用 DIF 标头信息。要将 DIF 文件正确传输到系统,请确保文件采用正确格式(行和列)。字段名(如果存在)必须构成数据的第一行。后续记录构成数据的其余行。因此,将数据传输到 iSerieseServer i5 或 System i5 时,必须以数据传输功能最初创建的相同格式保存文件。

将数据从 DIF 文件传输到 iSerieseServer i5 或 System i5 文件时,数据更改如下:
  • ASCII 字符、日期、时间和时间戳记数据会更改为 EBCDIC 字符数据或十六进制数据。ASCII 到 EBCDIC 的转换将逐个字节完成。ASCII 到十六进制的转换是通过将两个 ASCII 字节更改为一个十六进制字节来完成的。
  • ASCII 数字数据会更改为系统二进制、分区十进制或压缩十进制数据,具体取决于系统指定的数据类型。

    系统和 workstation 上的字段长度可能会不同,因为减号和小数点以显式方式存储都 ASCII 数字字段中。这意味着每个字段都将单独更改,以确保生成的字段长度与该字段的系统规范相匹配。数据传输功能会尝试将 workstation 数据放入系统字段中。

  • 在 null 字段中,如果字段支持 null,NULL DIF 字符字段将导致向 iSerieseServer i5 或 System i5 字段发送 null 值。
  • 如果 iSerieseServer i5 或 System i5 字段是可变长度,则字段将转换为 iSerieseServer i5 或 System i5 可变长度格式。