Message d'erreur IBM i (AS/400)
CPF502F
Violation de la contrainte de vérification sur le membre &4
Gravité 30 · Erreur grave
Cause
L'opération en cours sur le membre &4, fichier &2, bibliothèque &3 a échoué. La contrainte &16 empêche l'enregistrement numéro &17 d'être inséré ou mis à jour car la valeur de la zone est en conflit avec la contrainte de vérification. Si le numéro d'enregistrement est zéro, l'erreur s'est produite lors d'une opération d'insertion. Le code raison correspondant est &18. Les codes raison et leur signification sont les suivants : 01 - Violation due à une opération d'insertion ou de mise à jour. 02 - Violation causée par une contrainte référentielle. 03 - Violation due à une erreur de plage d'insertion pour une table partitionnée.
Que faire
Spécifiez un fichier différent, ou modifiez le fichier ou le programme. Renouvelez ensuite la demande.
Réponses possibles
| Réponse | Effet |
|---|---|
C | La demande est annulée. |
I | La demande est ignorée. |
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 |
|---|---|---|
| &2 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &4 | *CHAR |
10 |
| &16 | *CHAR |
258 |
| &17 | *UBIN |
4 |
| &18 | *BIN |
2 |
Message d'interrogation
Ce message attend une réponse de l'opérateur,
par défaut C.
Réponses acceptées :
C, I.
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF502F) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF502F) EXEC(DO)
/* traitement de l'erreur */
ENDDO