CPF2890
Valeur de zone FROMKEY incorrecte pour une zone clé.
Gravité 30 · Erreur grave
Cause
Le numéro &5, correspondant à la valeur de zone FROMKEY, est incorrect pour la zone &4 du format d'enregistrement &3, se trouvant dans le fichier &1 de la bibliothèque &2. Si la zone &4 est de type caractère, soit la valeur de zone FROMKEY est d'une longueur supérieure à la longueur de zone définie &6, soit il s'agit d'une chaîne vide et la longueur de zone est fixe. Si la zone &4 est de type alphanumérique binaire de longueur fixe, la valeur de zone FROMKEY n'est pas égale à la longueur de zone. Si la zone &4 est de type date, heure ou horodatage, soit la valeur de zone FROMKEY n'a pu être convertie en utilisant le format et le séparateur correspondants, soit la valeur est une chaîne vide.
Que faire
Effectuez l'une des opérations ci-après puis renouvelez la demande.
- Réduisez la valeur du paramètre FROMKEY.
- Indiquez une valeur de longueur inférieure.
- Pour une zone de longueur fixe, indiquez une chaîne d'au moins un caractère.
- Pour une zone alphanumérique binaire fixe, indiquez une longueur de valeur de paramètre FROMKEY égale à la longueur de la zone.
- Pour des zones clés de type date, indiquez la valeur en utilisant le format de date et le séparateur définis pour le travail (la commande DSPJOB vous permet de les retrouver), ou bien l'un des formats SAA, ou encore le format AAAAJJJ (sans séparateur).
- Pour les zones clés de type heure, indiquez la valeur en utilisant soit le format d'heure et le séparateur définis pour le travail (la commande DSPJOB vous permet de les retrouver), soit l'un des formats SAA.
- Pour les zones clés de type horodatage, indiquez la valeur en utilisant le format SAA correspondant ou le format AAAAMMJJHHMMSS (sans séparateur).
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 |
10 |
| &4 | *CHAR |
10 |
| &5 | *BIN |
2 |
| &6 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF2890) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF2890) EXEC(DO)
/* traitement de l'erreur */
ENDDO