Erreurs lors du transfert de données à partir de fichiers BASIC aléatoire

Lorsque vous transférez des données depuis un fichier BASIC aléatoire de workstation vers un fichier système, les erreurs suivantes peuvent se produire :
  • Les données de ce champ sont trop courtes pour le champ système. Les données sont complétées. Cette erreur se produit lorsque le fichier contient des données de caractères ou hexadécimales plus courtes que la longueur du champ spécifiée sur le système. Cette erreur peut se produire si le champ workstation est défini comme plus court que le système ou si les données du dernier enregistrement du fichier sont trop courtes. Les champs de caractères sont complétés à droite par des espaces EBCDIC et les champs hexadécimaux sont complétés par des zéros.
  • Les données de ce champ sont trop longues pour le champ système. Les données sont tronquées. Cette erreur se produit lorsque le fichier de description de fichier de workstation définit les données caractères ou hexadécimales comme étant plus longues que la longueur du champ spécifiée sur le système.

    Pour les données de type caractère, cette erreur se produit uniquement si les octets supplémentaires ne sont pas des espaces. Pour les données hexadécimales, cette erreur se produit uniquement si les octets supplémentaires ne sont pas des zéros. Ces octets supplémentaires sont ensuite tronqués afin que les données tiennent dans le champ iSeries, eServer i5 ou System i5 spécifié.

  • La valeur des données numériques est trop grande pour le champ système. Le nombre maximum est utilisé. Cette erreur se produit lorsque :
    • Les données numériques dans le champ workstation ne rentre pas dans le nombre d’octets spécifié pour le champ système.
    • La valeur décimale d'un champ numérique contient plus de chiffres que ce qui est spécifié pour le champ système.
  • Les données de ce champ comportent trop de positions décimales. Le nombre est arrondi à zéro. Dans le traitement BASIC aléatoire, cette erreur se produit si la valeur du nombre est trop petite pour tenir dans le champ spécifié.

    Par exemple, le nombre 0.00001 ne rentre pas dans un champ système étendu spécifié comme ayant une longueur de 2 octets et 2 positions décimales à droite du point décimal. Dans cet exemple, la valeur résultante est zéro.

  • Les données pour ce champ sont manquantes. Les valeurs par défaut sont utilisées. Cette erreur se produit lorsqu'un champ de données est défini, mais que les données ne sont pas dans le fichier. Cela signifie que la fin du fichier est atteinte avant que toutes les données définies soient trouvées. Pour les fichiers BASIC aléatoires, cette erreur se produit uniquement sur le dernier enregistrement du fichier, car il n'y a pas de délimiteurs d'enregistrement explicites.

    Lorsque cette erreur se produit, le ou les champs pour lesquels des données sont définies, mais introuvables, sont remplis avec des valeurs par défaut et sont transférés vers le fichier iSeries, eServer i5 ou System i5. Ces valeurs par défaut sont des espaces EBCDIC pour les champs de caractères et des zéros pour les champs numériques.

    Pour fournir vos propres valeurs par défaut, utilisez le mot clé par défaut (DFT) dans le DDS du fichier.

Lorsque vous transférez des données d'un fichier BASIC aléatoire vers un fichier iSeries, eServer i5 ou System i5, toutes les données plus courtes que la longueur d'enregistrement définie pour le fichier système sont complétées par des espaces EBCDIC.

Etant donné qu'il n'y a aucun délimiteur d'enregistrement dans les fichiers BASIC aléatoires, cette erreur ne peut se produire que sur le dernier enregistrement du fichier. Cela indique probablement que la longueur d'enregistrement du fichier système ne correspond pas à la longueur d'enregistrement du fichier de workstation.