Message d'erreur IBM i (AS/400)
CPF2958
Erreur de conversion lors de la copie d'une zone du fichier d'origine.
Gravité 20 · Erreur
Cause
La zone du fichier de destination a pris sa valeur par défaut. Une erreur de conversion de type &10 s'est produite lors de la copie d'une valeur de la zone &7, numéro d'enregistrement &8, membre &3 du fichier &1 de la bibliothèque &2. Une copie de la zone était en cours dans le membre &6 du fichier &4, bibliothèque &5. Les types d'erreurs sont les suivants : 1 - Dépassement de capacité. 2 - Dépassement de capacité en virgule flottante. 3 - Sous-passement de capacité en virgule flottante. 4 - Erreur lors de la conversion d'un nombre en virgule flottante. 5 - Opérande en virgule flottante incorrect. 6 - Données ou résultat incorrects. 7 - Le système a tenté de copier des données numériques incorrectes dans la zone du fichier de destination. 8 - Le système a tenté de copier des données de type UCS-2, UTF-8 ou UTF-16 qui ne sont pas admises pour la zone de fichier de destination. 9 - Une erreur liée au format des données ou à une longueur incorrecte s'est produite lors du mappage vers une zone de type date, heure ou horodatage, ou à partir de celle-ci. 10 - Une erreur liée aux données s'est produite lors du mappage vers une zone date, heure ou horodatage ou à partir de celle-ci. 11 - Tentative de copie d'une valeur indéfinie dans une zone n'acceptant pas ce type de valeur. 12 - Erreur lors de la conversion d'une zone de type alphanumérique, UCS-2, UTF-8 ou UTF-16 entre le CCSID du fichier d'origine et le CCSID du fichier de destination. 13 - Considérations DBCS. 14 - Une valeur de date ou d'horodatage est inférieure aux valeurs admises. 15 - Une valeur de date ou d'horodatage est supérieure aux valeurs admises. 16 - Une erreur s'est produite lors de la normalisation de données UTF-8 ou UTF-16.
Que faire
Si la valeur par défaut ne convient pas pour la zone du fichier de destination, effectuez l'une des opérations suivantes, puis renouvelez votre demande :
- Corrigez l'enregistrement du fichier d'origine de sorte que la zone &7 contienne une valeur pouvant être copiée dans la zone du fichier de destination.
- Supprimez le fichier de destination, puis recréez-le en indiquant une valeur compatible avec les attributs de la zone &7.
Description technique
L'erreur s'est produite sur le membre numéro &9 du fichier d'origine. Pour un fichier physique, le numéro de membre est toujours un. Pour un fichier logique, le numéro de membre indique le membre de fichier physique dont il dépend et qui contient l'enregistrement à l'origine de l'erreur. La valeur par défaut est celle indiquée par le mot-clé DFT dans les DDS ou comme attribut de type de données dans l'instruction SQL CREATE TABLE. Si aucune valeur par défaut n'a été indiquée pour une zone, la valeur par défaut est un blanc pour les zones de type caractère et DBCS, zéro pour les zones numériques, la date, l'heure ou l'horodatage en cours pour les zones de date, d'heure ou d'horodatage, une longueur nulle pour les zones de longueur variable, ou la valeur null pour les zones pouvant contenir la valeur null.
The error occurred on from-file member number &9. For a physical file, the member number is always one. For a logical file, the member number indicates the physical file member it is based on that contains the record that caused the error. The default value is the value specified on the DFT keyword in the DDS or as a data type attribute on the SQL CREATE TABLE statement. If a default was not specified for a field the default will be a blank for character and DBCS fields, zero for numeric fields, current date, time, or timestamp for date, time, or timestamp fields, zero length for variable length fields, or the null value for null capable fields.
Variables du message
Quand le système envoie le message, chaque variable est remplacée par une valeur réelle : un nom d'objet, de bibliothèque, un code...
| Variable | Type | Longueur |
|---|---|---|
| &1 | *CHAR |
10 |
| &2 | *CHAR |
10 |
| &3 | *CHAR |
17 |
| &4 | *CHAR |
10 |
| &5 | *CHAR |
10 |
| &6 | *CHAR |
17 |
| &7 | *CHAR |
10 |
| &8 | *UBIN |
4 |
| &9 | *BIN |
2 |
| &10 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF2958) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF2958) EXEC(DO)
/* traitement de l'erreur */
ENDDO