CPF7128
Valeur incorrecte pour le pointeur HLL &3.
Gravité 30 · Erreur grave
Cause
La valeur du pointeur HLL &3 du programme &1 indiquée au paramètre REFPTR n'a pas été copiée vers un autre pointeur HLL car elle ne correspond ni à un pointeur mémoire ni à une valeur nulle.
Que faire
Effectuez l'une des opérations suivantes, puis relancez la commande : 1) Vérifiez que tous les pointeurs de base sont correctement positionnés. Vous pouvez visualiser la valeur d'un pointeur, à l'aide de la commande DSPPGMVAR (Afficher une variable de programme), et modifier un pointeur HLL, au moyen de la commande CHGHLLPTR (Modifier un pointeur HLL) ou CHGPTR (Modifier un pointeur). 2) Au paramètre REFPTR, indiquez une valeur de pointeur HLL correcte. 3) Au paramètre ADR, indiquez une valeur de pointeur mémoire ou une valeur nulle.
Description technique
Un pointeur HLL ne peut être défini que sur une valeur de pointeur d'espace ou sur un pointeur nul. Si un pointeur HLL contient une autre valeur de pointeur, soit le programme HLL n'a pas encore défini le pointeur, soit un pointeur de base du pointeur HLL n'est pas correctement défini.
An HLL pointer can only be set to a space pointer value or a null pointer. If an HLL pointer contains some other pointer value, either the HLL program has not yet set the pointer or a basing pointer for the HLL pointer is not set correctly.
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 |
variable |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF7128) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF7128) EXEC(DO)
/* traitement de l'erreur */
ENDDO