Aller au contenu

CPF7127

Valeur du pointeur de base incorrecte pour la variable &3.

Gravité 30 · Erreur grave

Cause

Un pointeur de base nécessaire à la localisation de la variable &3 du programme &1 n'est pas du type pointeur mémoire.

Que faire

Effectuez l'une des opérations suivantes, puis relancez la commande :

  • Au paramètre ADR, PGMVAR, PTR ou REFPTR, indiquez, pour la variable, un pointeur de base constituant un pointeur mémoire positionné. 2) Assurez-vous que tous les pointeurs de base pour la variable sont alignés correctement. Vous pouvez visualiser la valeur d'un pointeur, à l'aide de la commande DSPPGMVAR (Afficher une variable de programme), et modifier une variable de pointeur pour un objet de données, au moyen de la commande CHGHLLPTR (Modifier un pointeur HLL) ou CHGPTR (Modifier un pointeur).

Description technique

La variable indiquée est déclarée basée sur un pointeur qui ne contient pas de valeur de pointeur d'espace. La commande CHGHLLPTR peut être utilisée pour définir un pointeur de langage de haut niveau (paramètre PTR) sur un pointeur d'espace. Le type de pointeur PTRTYPE(*SPP) peut être utilisé dans la commande CHGPTR pour définir une variable objet de données de type pointeur sur un pointeur d'espace.

The specified variable is declared based on some pointer that does not contain a space pointer value. The CHGHLLPTR command can be used to set a high-level language pointer (PTR parameter) to a space pointer. The pointer type of PTRTYPE(*SPP) can be used on the CHGPTR command to set a pointer data object variable to a space pointer.

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
&3 *CHAR variable

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF7127) MSGF(QSYS/QCPFMSG)

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

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