Message d'erreur IBM i (AS/400)
CPF1963
Plus de &2 chiffres fractionnels pour variable &4 dans programme &1.
Gravité 30 · Erreur grave
Cause
La valeur indiquée pour modifier la variable numérique &4 comporte trop de chiffres à droite du symbole décimal.
Que faire
Indiquez, au paramètre VALUE, une valeur numérique de &2 chiffres fractionnels au maximum, puis relancez la commande.
Description technique
Si le nombre maximal de chiffres décimaux est zéro, la valeur ne doit pas avoir de partie fractionnaire. Les zéros de fin indiqués au-delà du chiffre non nul le plus à droite (le cas échéant) de la partie fractionnaire de la valeur sont ignorés. Certains langages de haut niveau permettent de déclarer une variable binaire avec des chiffres décimaux, mais sauf si le langage offre une prise en charge supplémentaire permettant au système d'exploitation de la traiter, une variable binaire ne peut être modifiée que vers une valeur sans partie fractionnaire.
If the maximum number of fractional digits is zero, the value must have no fractional part. Trailing zeros specified beyond the right-most nonzero digit (if any) in the fractional part of the value are ignored. Some high-level languages allow a binary variable to be declared with fractional digits, but unless the language provides additional support for the operating system to process it, a binary variable can only be changed to a value that has no fractional part.
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 | *BIN |
4 |
| &4 | *CHAR |
variable |
Sur votre IBM i
Afficher la description complète du message :
DSPMSGD RANGE(CPF1963) MSGF(QSYS/QCPFMSG)
L'intercepter dans un programme CL, quand il est envoyé comme message d'échappement :
MONMSG MSGID(CPF1963) EXEC(DO)
/* traitement de l'erreur */
ENDDO