CPF5149
Opération incorrecte pour unité programme ou membre &4 du fichier &2 de &3.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
Un programme a demandé une opération incorrecte pour le fichier. L'opération n'a pas été exécutée. Dans le cas d'un fichier base de données ou d'analyse, une de ces conditions s'est présentée :
- Une lecture par clé a été tentée sur un fichier non indexé.
- Une mise à jour, une suppression ou une opération d'écriture par numéro relatif d'enregistrement a été tentée sur un fichier ouvert uniquement pour un traitement séquentiel.
- Une opération de lecture ou d'écriture par numéro relatif d'enregistrement a été tentée alors qu'elle n'était pas prise en charge, par exemple sur un fichier réparti ou une requête GROUP BY, ou une autre opération similaire. Une opération de lecture ou d'écriture par numéro relatif d'enregistrement a été tentée sur un fichier réparti.
- Une opération d'entrée ou de sortie, une mise à jour ou une suppression a été tentée sur un fichier pour lequel cette opération est impossible. S'il ne s'agit pas d'un fichier base de données ou de requête :
- Le fichier n'est pas ouvert à l'aide des options d'ouverture adéquates.
- Une opération d'E-S a été tentée sur un fichier pour lequel cette opération est impossible.
Que faire
Dans le cas d'un fichier base de données, affichez les attributs du fichier à l'aide de la commande DSPFD (Afficher une description de fichier). Modifiez le programme et renouvelez la demande.
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 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF5149) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF5149) EXEC(DO)
/* traitement de l'erreur */
ENDDO