Aller au contenu

CPF7112

Longueur incorrecte pour variable &3.

Gravité 30 · Erreur grave

Cause

La valeur commençant par X'&2' a une longueur incorrecte pour la variable numérique &3 du programme &1. La valeur indiquée au paramètre VALUE ne doit pas dépasser le nombre d'octets occupés par une variable numérique, sachant qu'une variable en virgule flottante nécessite quatre octets en simple précision et huit octets en double précision.

Que faire

Effectuez l'une des opérations suivantes, puis relancez la commande : 1) Au paramètre VALUE, indiquez une valeur numérique correcte pour la variable. 2) Aux paramètres PGMVAR et PGM, indiquez un nom de variable et un programme identifiant une variable dont le type et la longueur sont compatibles avec la valeur indiquée.

Description technique

La valeur utilisée pour modifier une variable numérique peut être indiquée soit sous la forme affichable de sa valeur numérique, soit sous la forme d'une chaîne d'octets (généralement indiquée en hexadécimal). Ce message indique que la chaîne d'octets indiquée pour une variable numérique n'est pas valide. Si vous voulez indiquer une valeur numérique à virgule fixe sous forme affichable, elle ne doit contenir que des chiffres décimaux (de zéro à neuf), avec un point décimal facultatif et un signe initial facultatif (plus ou moins).

The value used to change a numeric variable can be specified either as the displayable form of its numeric value, or as a byte-string value (generally specified in hexadecimal form). This message is used to indicate that the byte-string value specified for a numeric variable is invalid. If you want to specify a fixed-point numeric value in displayable form, it must contain only decimal digit characters (zero through nine) with an optional decimal point and an optional leading sign (plus or minus).

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

Sur votre IBM i

Afficher la description complète du message :

DSPMSGD RANGE(CPF7112) MSGF(QSYS/QCPFMSG)

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

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