Aller au contenu

Message d'erreur IBM i (AS/400)

CPF2C69

Le fichier &1 dans &2 n'est pas un fichier physique.

Gravité 30 · Erreur grave

Cause

Vous tentez de créer un fichier physique nommé &1 dans la bibliothèque &2 ou de créer un fichier index de substitution sur un fichier physique nommé &1 dans la bibliothèque &2. Si vous tentez de créer un fichier nommé &1, il existe déjà un fichier dans la bibliothèque &2 portant le même nom mais ce n'est pas un fichier physique. Si vous tentez de créer un fichier index de substitution sur un fichier physique nommé &1, le fichier nommé &1 existe déjà dans la bibliothèque &2 mais ce n'est pas un fichier physique. Dans les deux cas, le fichier &1 de la bibliothèque &2 n'est pas un fichier physique et donc le fichier que vous avez demandé ne peut être créé.

Que faire

Si vous tentez de créer un fichier nommé &1 dans la bibliothèque &2, supprimez le fichier existant (commande DLTF) ou créez le fichier dans une bibliothèque ne contenant pas de fichier nommé &1. Si vous tentez de créer un fichier index de substitution sur un fichier physique, indiquez le fichier physique correct et la bibliothèque à utiliser.

Description technique

Une bibliothèque ne peut contenir qu'un seul fichier portant un nom donné. Si un fichier qui n'est pas un fichier physique existe déjà dans une bibliothèque, un fichier physique portant le même nom ne peut pas être créé dans cette bibliothèque. Les fichiers d'index alternatifs ne peuvent être créés que sur des fichiers physiques.

A library can only contain one file with a given name. If a file, which is not a physical file, already exists in a library, a physical file having the same name cannot be created in that library. Alternative index files can only be created over physical files.

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 10
&2 *CHAR 10

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF2C69) MSGF(QSYS/QCPFMSG)

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

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