EXCEPTION ERROR type-exception HAS OCCURRED DURING type-opération OPERATION ON type-donnée DATA, POSITION numéro-position
Explication :
Une erreur ‘type-exception’ est survenue pendant une opération d’addition, de soustraction, de multiplication, de division ou de négation sur un champ de type DECIMAL, FLOAT, SMALLINT ou INTEGER. Cette erreur s’est produite dans une expression arithmétique figurant dans la liste d’un SELECT externe, dont la position est donnée par ‘numéro- position’. Les ‘type-exception’ possibles sont : FIXED POINT OVERFLOW, DECIMAL OVERFLOW, DIVIDE EXCEPTION, et EXPONENT OVERFLOW. Le type de donnée peut être différent de celui de la colonne ou du littéral incriminé dans le cas d’une conversion par DB2.
Un FIXED POINT OVERFLOW peut apparaître dans une opération sur des champs INTEGER ou SMALLINT.
Un DECIMAL OVERFLOW peut apparaître lors de la perte de chiffres significatifs, due à une longueur trop courte du champ destiné à accueillir le résultat.
Un DIVIDE EXCEPTION peut apparaître lors d’une division par zéro d’un champ numérique, ou lorsque le quotient de la division dépasse la taille du champ spécifié.
Un EXPONENT OVERFLOW peut apparaître dans une opération en virgule flottante lorsque la mantisse dépasse 127 alors que l’exposant n’est pas zéro.
Note :
Les informations ‘type-exception’, ‘type-donnée’, ‘type-opération’, ‘numéro-position’ peuvent ne pas être retournées en SQLCA, en fonction du moment de détection de l’erreur.
Action système :
Pour chaque expression en erreur,la variable indicateur est positionnée à -2, la donnée n’est pas modifiée. L’exécution continue et fournit les valeurs pour chaque colonne et expression correcte de la liste du SELECT externe. Si l’ordre est contrôlé par curseur, le curseur reste ouvert.
Réponse programmeur :
Examiner l’expression pour laquelle s’est posé le problème. Analyser les données incriminées lors de la détection de l’erreur. Le problème peut être dépendant des données. Voir l’explication du code -405 pour les plages de valeurs des différents types de donnée.