CPF5147
Séquence des opérations incorrecte pour le membre &4.
Gravité 50 · Fin anormale du travail
Cause
L'opération sur le membre &4 de &2 dans la bibliothèque &3, signalée par le code raison &6, n'a pas pu s'effectuer. Voici la liste des différents codes raison possibles : 1
- Une mise à jour ou une suppression a été demandée avant d'avoir effectué la lecture des données. 2
- Une opération GET-NEXT-UNIQUE, GET-PREVIOUS-UNIQUE, GET-NEXT-EQUAL, GET-PREVIOUS-EQUAL ou GET-SAME a été demandée, alors que la position en cours est *START, *END ou n'existe pas. 3
- La lecture d'un numéro relatif d'enregistrement a été demandée, alors que la position en cours est *START, *END ou n'existe pas. 4
- La lecture de la position en cours a été demandée pour un membre sous-jacent, alors que la position en cours existe dans un autre membre sous-jacent. 5
- Une opération d'E-S a été tentée via l'ouverture partagée d'un fichier. Cependant, le chemin d'ouverture partagé avait déjà provoqué l'appel d'un programme de déclenchement dont le traitement n'était pas encore terminé. Dans ce cas, les opérations d'E-S sur le fichier doivent être effectuées à partir d'autres chemins.
Que faire
Modifiez la séquence des opérations dans le programme, ou supprimez le programme existant, puis recompilez. 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 |
|---|---|---|
| &2 | *CHAR |
10 |
| &3 | *CHAR |
10 |
| &4 | *CHAR |
10 |
| &6 | *BIN |
2 |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF5147) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF5147) EXEC(DO)
/* traitement de l'erreur */
ENDDO