Aller au contenu

CPF1974

Erreur d'alignement du pointeur pour variable &3.

Gravité 30 · Erreur grave

Cause

Le pointeur n'est pas aligné sur une frontière de 16 octets pour la variable &3 du programme &1. Cette erreur peut survenir dans les cas suivants :

  • Un pointeur de base nécessaire à la localisation de la variable n'est pas aligné correctement.
  • La variable indiquée est un pointeur qui n'est pas aligné correctement.

Que faire

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

  • Indiquez, pour la variable, un pointeur de base aligné correctement, au paramètre ADR, PGMVAR, PTR ou REFPTR. 2) Assurez-vous que tous les pointeurs de base pour la variable sont alignés correctement. Vous pouvez utiliser la commande DSPPGMVAR (Afficher une variable de programme) pour afficher une valeur de pointeur et la commande CHGHLLPTR (Modifier un pointeur HLL) ou CHGPTR (Modifier un pointeur) pour modifier une variable de pointeur pour un objet de données.

Description technique

Si la variable indiquée n'est pas un pointeur et qu'aucun pointeur de base n'a été indiqué dans la commande, la variable est déclarée basée sur un pointeur qui n'est pas défini sur une limite correcte.

If the specified variable is not a pointer and no basing pointers were specified on the command, the variable is declared based on some pointer that is not set to a correct boundary.

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(CPF1974) MSGF(QSYS/QCPFMSG)

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

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