Message d'erreur IBM i (AS/400)
CPF3152
Copie vers membre &2 impossible à cause des chemins d'accès.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
La copie de la base de données vers le membre &2 du fichier &1 de la bibliothèque &3 est impossible ; en effet, le chemin d'accès du membre &5 du fichier &4 de la bibliothèque &6 contient l'un des attributs suivants :
- clés uniques,
- spécifications de sélection/omission ne comportant pas le paramètre MAINT(*REBLD),
- zone clé en virgule flottante non définie avec MAINT(*REBLD),
- MAINT(*REBLD) non défini pour une zone clé numérique dont les attributs sont différents de ceux de la zone correspondante dans le fichier physique.
Que faire
Enlevez le membre de fichier logique (commande RMVM), puis relancez la commande.
Description technique
La copie de base de données n'est pas autorisée afin d'empêcher l'entrée de données dans le fichier ou un échec de construction du chemin d'accès. Les chemins d'accès sont construits après l'opération de copie par la copie de base de données. Un chemin d'accès présentant l'un des attributs ci-dessus empêche normalement l'entrée de données erronées dans le fichier. Cependant, lorsque le chemin d'accès n'est pas valide, des données erronées peuvent être copiées dans le fichier et entraîner l'échec de la construction du chemin d'accès.
Data base copy is not allowed to prevent data from entering the file or an access path build failure. Access paths are built after the copy operation by data base copy. An access path with any of the above attributes normally prevents bad data from entering the file. However, when the access path is not valid, bad data can be copied into the file and cause the build of the access path to fail.
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 | *CHAR |
10 |
| &2 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &4 | *CHAR |
10 |
| &5 | *CHAR |
10 |
| &6 | *CHAR |
10 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF3152) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF3152) EXEC(DO)
/* traitement de l'erreur */
ENDDO