Message d'erreur IBM i (AS/400)
CPF3157
Des déclencheurs ou la table temporelle de période système bloquent l'opération demandée.
Gravité 40 · Fin anormale du programme ou de la fonction
Cause
L'opération demandée ne peut pas être effectuée car il existe des déclencheurs ou le fichier est une table temporelle de période système pour le fichier &1 de la bibliothèque &3. Le code raison est &4. Les codes raison et leur signification sont les suivants : 1
- Le fichier indiqué au paramètre TOFILE contient un déclencheur *INSERT. 2
- L'initialisation aux enregistrements par défaut a été demandée et le fichier contient un déclencheur *INSERT. 3
- Une opération d'effacement a été demandée et le fichier contient un déclencheur *DELETE. 4
- Une opération de copie a été tentée via le partage d'ouverture d'un fichier. Cependant, le chemin d'ouverture indiqué au paramètre FROMFILE ou TOFILE est déjà partagé et a provoqué l'appel d'un programme de déclenchement qui n'est pas encore terminé. Dans ce cas, les opérations d'E-S sur le fichier doivent être effectuées à partir d'autres chemins. 5
- Le fichier indiqué dans le paramètre FROMFILE contient un déclencheur *READ. 6
- Un effacement a été demandé alors que le fichier est une table temporelle de période système.
Que faire
Indiquez un autre fichier ou utilisez la commande RMVPFTRG pour supprimer le déclencheur, ou enlevez la gestion des versions à partir de la table temporelle de période système. 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 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &4 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF3157) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF3157) EXEC(DO)
/* traitement de l'erreur */
ENDDO