Aller au contenu

CPF8A05

Descripteurs de documents trouvés pour document &2 ou dossier &3 manquant dans &1.

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

Cause

Les descripteurs du dossier ou du document ont été trouvés mais non le dossier ou le document lui-même. 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. Si l'objet manquant 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 manquant est un dossier et si le chemin est *NONE, &2 est un dossier de premier niveau.

Que faire

Restaurez les fichiers 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 la bibliothèque QDOC a été accidentellement effacée, ou encore si le problème persiste, utilisez la commande RCLDLO DLO(*DOCDTL) pour reconstruire les fichiers descripteurs de documents correspondant à chacun des dossiers et des documents. Si la bibliothèque QDOC a été effacée, restaurez les documents et les dossiers sauvegardés (commande RSTDLO). Si le problème persiste, utilisez la commande DLTDLO pour supprimer les descripteurs du document ou du dossier.

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(CPF8A05) MSGF(QSYS/QCPFMSG)

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

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