Aller au contenu

CPF1945

Pointeur de base obligatoire pour la variable &3 dans le programme &1.

Gravité 30 · Erreur grave

Cause

La variable pour laquelle un pointeur de base est obligatoire est &3. La variable ou le pointeur de base indiqué n'est associé à aucun pointeur de base, ou est associé à une liste contenant trop de pointeurs de base.

Que faire

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

  • Si la variable n'a pas été définie comme pointeur de base, indiquez-en un.
  • Si la variable a été définie comme pointeur de base, indiquez un autre nom de pointeur de base en début de liste, ou utilisez le paramètre ADR, PGMVAR, PTR ou REFPTR pour indiquer le nom d'un pointeur de base qui n'a pas besoin d'être associé à un autre pointeur de base.

Description technique

La variable indiquée n'a peut-être pas de pointeur de base déclaré, ou elle peut être basée sur une liste de pointeurs de base qui ne se termine pas par une variable non basée dans les 200 entrées. Dans les deux cas, le système exige un pointeur de base explicite pour localiser la variable.

The specified variable may have no declared basing pointer, or it may be based on a list of basing pointers that does not end with an unbased variable within 200 entries. In either case, the system requires an explicit basing pointer to locate the variable.

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

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

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