Transferring Data from DIF Files

If an error cell is found when data is transferred from a DIF file to the iSeries, eServer™ i5, or System i5®, one of the following things can occur, depending on the type of data in the file:
  • If the system field is a character (EBCDIC) field, it is filled with untranslatable characters (hexadecimal zeros) and is transferred to the system. A message appears, telling you how many bytes of untranslatable data have transferred.
  • If the system field is a hexadecimal, zoned, packed, or binary field, you receive an error message telling you that the data in this cell is incorrect, and that the data was not transferred to the system.

When you transfer data from a system file to a DIF file, the field names are placed in the first record and you can consider them column headings. When you transfer DIF files back to the system, the first row must either be these field names (exactly as they are defined on the system) or data. If the first row does not consist of field names, the file is processed as if it contains only data.

No DIF header information is used when sending the file to the iSeries, eServer i5, or System i5. To correctly transfer a DIF file to the system, ensure that the file is in the correct format (row and column). It is essential that the field names, if present, make up the first row of data. The subsequent records make up the remaining rows of data. Therefore, when you transfer the data to the iSeries, eServer i5, or System i5, the file must be saved in the same format as originally created by the data transfer function.

When you transfer data from DIF files to iSeries, eServer i5, or System i5 files, the data changes as follows:
  • ASCII character, date, time, and time-stamp data is changed to EBCDIC character data or to hexadecimal data. ASCII-to-EBCDIC conversion is done byte by byte. ASCII-to-hexadecimal conversion is done by changing two ASCII bytes to one hexadecimal byte.
  • ASCII numeric data changes to system binary, zoned decimal, or packed decimal data, depending on the data type the system specifies.

    The lengths of the fields on the system and the workstation can be different, because of the explicit way minus signs and decimal points are stored in ASCII numeric fields. This means that each field changes individually, to ensure that the resulting field length matches the system specifications for that field. The data transfer function tries to fit the workstation data into the system field.

  • In null fields, a NULL DIF character field results in a null value being sent to the iSeries, eServer i5, or System i5 field if the field is null-capable.
  • If the iSeries, eServer i5, or System i5 field is variable-length, the field is converted to the iSeries, eServer i5, or System i5 variable-length format.