DOS のランダム・ファイルからデータを転送する場合のエラー

DOS ランダム・ファイルから iSeries、eServer™ i5、または System i5® ファイルにデータを転送する場合、次のエラーが起こることがあります。
  • このフィールドのデータがシステムのフィールドには短すぎます。データに埋め込みが行われます。このエラーは、workstation のファイルに、システムで指定されているフィールド長よりも 短い文字データまたは 16 進データが含まれている場合に起こります。このエラーは、workstation のフィールドの長さがシステムのフィールドより も短く定義されている場合、またはファイルの最後のレコードのデータが短すぎる場合にも 起こります。文字フィールドの右側には EBCDIC のスペースが埋 められ、16 進フィールドの 右側にはゼロが埋められます。
  • このフィールドのデータが長すぎてシステムのフィールドに入りません。データは切り捨てられます。このエラーは、workstation のファイル記述ファイルに、 システム・ファイルで 指定されているフィールド長よりも長い文字データまたは 16 進データが 定義されている場合に起こります。

    文字データでは、このエラーは、余分のバイトがスペース以外の場合にだけ起こります。16 進データでは、このエラーは、余分のバイトがゼロ以外の場合にだけ起こります。これらの超過バイトは、データが指定されたフィールドに入るように切り捨てられます。

  • 数値データの値がシステムのフィールドには大きすぎます。最大値が使用されます。このエラーは次の場合に起こります。
    • workstation のフィールドの数値データが、iSeries、eServer i5、または System i5 のフィールドに関して指定されたバイト数に入らない場合。
    • 数値フィールドの 10 進数の値に、iSeries、eServer i5、または System i5 のフィールドに指定された桁数以上の値が含まれている。

    フィールドの値は、システムで指定されたバイト数および桁数に対して指定できる 最大値に設定されます。

  • このフィールドのデータは小数部の桁が多すぎます。数値は四捨五入されます。このエラーは、workstation のフィールドの小数点以下の桁数がシステムで指定されている小数点以下の桁数より大きい場合に起こります。データは余分な最初の桁が 5 以上であれば切り上げられ、4 以下であれば切り捨てられるので、これらの超過バイトは重要です。
  • このフィールドのデータが正しくないか、 または workstation のデータ・タイプと一致しません。このエラーは、フィールドに現れる数値以外のデータがファイル記述で数 値として定義されている場合に起こります。このエラーが起こった場合には、 システム・ファイルに誤ったデータが転送されるのを防ぐために転送要 求は終了します。
  • このフィールドのデータが脱落している。デフォルト値が使用されます。このエラーは、データ・フィールドが定義されて、ファイルにデータがない場合に起こ ります。これは、定義されたすべてのデータが見つかる前にレコードの終わりに達 したことを意味します。

    このエラーが起こった場合、データが定義されていても検出されなかった 1 つ、 または複数のフィールドにデフォルト値が入り、システム・ファイルに転送されます。デフォルト値は、文字フィールドの場合には EBCDIC のスペース、数値フ ィールドの場合ゼロです。

    ユーザー独自のデフォルト値を指定するためには、 そのファイルの DDS でデフォルト値 (DFT) キーワードを使用してください。

DOS のランダム・ファイルからデータ定義なしでシステム・ファイルに データを転送する場合、システム・ファイルに定義されているレコード長より 短いデータには EBCDIC のスペースが埋められます。

DOS のランダム・ファイルにはレコード区切り文字がないので、このエラーが 起こるのは、最後のレコードだけであり、システム・ファイルのレコード長が workstation のファイルのレコード長と一致していないと考えられます。