CPF1962
VALUE commençant par X'&2' incorrecte pour variable décimale &3 dans programme &1.
Gravité 30 · Erreur grave
Cause
La chaîne binaire indiquée au paramètre VALUE est impropre à modifier la variable décimale &3 car elle contient des données incorrectes (signes ou chiffres).
Que faire
Effectuez l'une des procédures de reprise suivantes, puis relancez la commande : 1) Indiquez, au paramètre VALUE, une valeur numérique correcte pour la variable. 2) Indiquez, au paramètre PGMVAR, un nom de variable et, au paramètre PGM, 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...
| Variable | Type | Longueur |
|---|---|---|
| &1 | *CHAR |
10 |
| &2 | *CHAR |
20 |
| &3 | *CHAR |
variable |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF1962) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF1962) EXEC(DO)
/* traitement de l'erreur */
ENDDO