Aller au contenu

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...

VariableTypeLongueur
&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