Aller au contenu

CPF1964

Valeur de VALUE incorrecte pour variable numérique &3 dans programme &1.

Gravité 30 · Erreur grave

Cause

La valeur numérique ne permet pas de modifier la variable &3 pour l'une des raisons suivantes :

  • La valeur est trop grande pour la variable.
  • Les valeurs en virgule flottante *NAN, *INF et *NEGINF ne peuvent pas être utilisées pour modifier une variable numérique en virgule fixe.
  • La valeur numérique indiquée ne peut pas être représentée avec exactitude dans la variable ; soit la valeur, soit la variable, ou encore les deux, sont en virgule flottante.

Que faire

Indiquez, au paramètre VALUE, une valeur numérique correcte ou, au paramètre PGMVAR, un nom de variable et utilisez le paramètre PGM pour sélectionner une variable pouvant se substituer à la valeur indiquée. Relancez ensuite la commande.

Description technique

Le système d'exploitation fonctionne généralement avec la condition de résultat inexact en virgule flottante masquée ; cette erreur ne se produit donc normalement pas parce qu'une valeur numérique ne peut pas être représentée exactement dans la variable.

The operating system generally operates with the floating-point inexact result condition masked, so this error does not normally occur because a numeric value could not be exactly represented in 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(CPF1964) MSGF(QSYS/QCPFMSG)

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

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