CPFA0AC
Le répertoire contient des objets. Le répertoire est &1.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
Vous avez tenté soit de supprimer le répertoire &1 alors qu'il contient des objets, soit de déplacer ou rebaptiser le répertoire &1 dans un répertoire de destination existant qui contient des objets.
Que faire
Effectuez l'une des actions suivantes : - Vous devez vider un répertoire de tous ses objets avant de le supprimer. Pour supprimer tous les objets en même temps, indiquez SUBTREE(*ALL) ou RMVLNK(*YES) pour la commande RMVDIR. Si vous aviez déjà indiqué RMVLNK(*YES), le système de fichiers n'accepte pas la suppression des liens existants. Utilisez SUBTREE(*ALL) en lieu et place puis relancez l'opération. Si vous aviez déjà indiqué SUBTREE(*ALL), c'est qu'un ou plusieurs objets ne peuvent pas être supprimés. Consultez les messages précédents dans l'historique du travail et effectuez les actions de reprise indiquées. Renouvelez ensuite votre demande. - Pour déplacer ou rebaptiser un répertoire, commencez par supprimer le répertoire de destination et tous les objets qu'il contient. Utilisez la commande DSPLNK pour visualiser la liste des objets du répertoire. - Si vous tentez de supprimer un système de fichiers défini par l'utilisateur (UDFS), la demande ne peut pas aboutir car le système de fichiers contient au moins un objet qui ne peut pas être supprimé. Consultez les messages précédents dans l'historique du travail et effectuez les actions de reprise indiquées. Renouvelez ensuite votre 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 |
|---|---|---|
| &1 | *CCHAR |
variable |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPFA0AC) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPFA0AC) EXEC(DO)
/* traitement de l'erreur */
ENDDO