Aller au contenu

CPF8A09

Descripteurs incorrects pour document &2 ou dossier &3 dans &1.

Gravité 40 · Fin anormale du programme ou de la fonction

Cause

Il n'y a pas de descripteurs ou les descripteurs sont incorrects pour le document ou le dossier dans le fichier base de données de QUSRSYS. Les causes possibles sont :

  • Modifications accidentelles d'un fichier base de données.
  • Restauration d'un fichier physique dans QUSRSYS sans modifications journalisées.
  • Restauration de la bibliothèque QUSRSYS sans récupération de tous les documents et dossiers.
  • Effacement accidentel de la bibliothèque QDOC.
  • Lors d'une mise à niveau d'une édition précédente dont les fichiers de descripteurs de documents ne sont pas disponibles, présence d'un document endommagé ou sauvegardé avec libération de mémoire. Si l'objet est un document et si le chemin de dossier est *NONE, &2 est un nom d'objet système et le document ne se trouve pas dans un dossier. Si l'objet est un dossier et si le chemin de dossier est *NONE, &3 est un dossier de premier niveau.

Que faire

Restaurez les fichiers de descripteurs de documents (fichiers physiques de la bibliothèque QUSRSYS, dont les noms commencent par QAOSS) à partir de leur dernière version sauvegardée (commande RSTOBJ) et appliquez les modifications journalisées (commande APYJRNCHG). Si les fichiers sauvegardés ou les modifications journalisées ne sont pas disponibles, ou si le problème persiste, utilisez la commande RCLDLO DLO (*DOCDTL) pour reconstruire les fichiers de descripteurs de documents correspondant à chacun des dossiers et des documents. Si le problème persiste (le dossier ou le document peut être endommagé ou sauvegardé avec libération de mémoire), supprimez-le (commande DLTDLO).

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
&1 *CHAR 63
&2 *CHAR 20
&3 *CHAR 20

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF8A09) MSGF(QSYS/QCPFMSG)

L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :

MONMSG MSGID(CPF8A09) EXEC(DO)
  /* traitement de l'erreur */
ENDDO