Tous les articles par Mr COBOL

CODE RETOUR -502

THE CURSOR IDENTIFIED IN AN OPEN STATEMENT IS ALREADY OPEN

Explication :

Le programme d’application tente d’ouvrir un curseur déjà ouvert.

Action système :

L’ordre ne peut être exécuté. Le curseur reste inchangé, il n’est pas réouvert.

Réponse programmeur :

Corriger la logique du programme en s’assurant qu’il n’essaie pas d’exécuter un ordre OPEN alors que le curseur est déjà ouvert.

CODE RETOUR -501

THE CURSOR IDENTIFIED IN A FETCH OR CLOSE STATEMENT IS NOT OPEN

Explication :

Le programme d’application tente d’exécuter un ordre FETCH ou CLOSE sur un curseur. alors que celui-ci n’est pas ouvert.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Rechercher un code retour SQL précédent qui a pu fermer le curseur. Les opérations de COMMIT et ROLLBACK ferment tous tes curseurs actifs. Les codes retour -404, -652, -679, – 901, -904, -909, -910, -911 et -913 forcent la fermeture des curseurs. Si aucun code retour précédent n’a été émis, corriger la logique du programme en s’assurant que le curseur est ouvert lors de l’exécution de l’ordre FETCH ou CLOSE.

CODE RETOUR -421

THE OPERANDS OF AUNION OR UNION ALL DO NOT HAVE THE SAME NUMBER OF COLUMNS

Explication :

Les opérandes d’un ordre UNION ou UNION ALL doivent avoir le même nombre de colonnes.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger l’ordre SQL pour que le nombre de colonnes soit identique sur chaque opérande.

CODE RETOUR -419

THE DECIMAL DIVIDE OPERATION IS INVALID BECAUSE THE RESULT WOULD HAVE A NEGATIVE SCALE

Explication :

La division décimale est invalide car elle résulte en une échelle négative. La formule interne utilisée pour calculer l’échelle d’un résultat de division décimale est :

échelle résultat = 15-np+ns-ds,

avec ‘np’ : précision du numérateur, ‘ns’ : échelle du ‘ numérateur, et ‘ds’ : échelle du dénominateur.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Examiner la précision et l’échelle de toutes les colonnes participant à la division. Noter qu’une valeur INTEGER ou SMALLINT peut être convertie en DECIMAL pour ce calcul.

CODE RETOUR -418

A STATEMENT STRING TO BE PREPARED CONTAINS AN INVALID USE OF PARAMETER MARKERS

Explication :

Les paramètres de séparation ne peuvent pas être utilisés sur la liste d’un ordre SELECT, comme seul argument d’une fonction scalaire, ou dans une opération de concaténation. Ils ne peuvent pas être utilisés dans une expression d’un ordre SQL EXECUTE IMMEDIATE.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger la logique du programme pour que cette erreur disparaisse. Se reporter aux contraintes d’utilisation du paramètre de séparation des ordres SQL préparés.

CODE RETOUR -417

A STATEMENT STRING TO BE PREPARED INCLUDES PARAMETER MARKERS AS THE OPERANDS OF THE SAME OPERATOR

Explication :

La chaîne précisée comme objet d’un ordre PREPARE contient un prédicat ou une expression dans laquelle le paramètre de séparation est utilisé comme opérande du même opérateur (par exemple :?>?), cette syntaxe n’est pas permise.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger la logique du programme pour que cette erreur de syntaxe disparaisse. Se reporter aux contraintes d’utilisation du paramètre de séparation des ordres SQL préparés.

CODE RETOUR -416

AN OPERAND OF UNION CONTAINS A LONG STRING COLUMN

Explication :

L’ordre UNION ne peut être traité car les tables participant à l’opération d’union contiennent une colonne de chaîne longue (par exemple, colonne de type VARCHAR de longueur supérieure à 254 caractères). Les opérandes d’un ordre UNION ne peuvent pas être des colonnes de chaîne longue.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Cette fonction n’est pas supportée par DB2. Se reporter aux restrictions de manipulation des colonnes de chaîne longue.

CODE RETOUR -415

THE CORRESPONDING COLUMNS, numéro-colonne, OF THE OPERANDS OF A UNION OR A UNION ALL DO NOT HAVE COMPARABLE COLUMN DESCRIPTIONS

Explication :

Les descriptions des colonnes des opérandes d’une opération UNION ou UNION ALL doivent être comparables. Les colonnes correspondant à la position ‘numéro-colonne’ ne respectent pas cette contrainte. Pour que ces colonnes soient comparables, elles doivent être du même type de donnée, et s’il existe une FIELDPROC, elle doit être la même pour toutes ces colonnes.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Contrôler les types de donnée pour les colonnes précisées, et corriger l’ordre UNION ou UNION ALL pour que les colonnes correspondantes soient comparables.

CODE RETOUR -414

THE NUMERIC OR DATETIME COLUMN nom-colonne IS SPECIFIED IN A LIKE PREDICAT

Explication :

La colonne précisée sur le prédicat LIKE est du type numérique ou DATE/TIME, alors que seuls les types caractère ou chaîne graphique sont autorisés.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Examiner la définition de la colonne précisée, et vérifier que le nom de cette colonne est correcte. Les colonnes de type numérique ou DATE/TIME ne peuvent apparaître comme opérandes d’un prédicat LIKE ou NOT LIKE.

CODE RETOUR -412

THE SELECT CLAUSE OF A SUBQUERY SPECIFIES MULTIPLE COLUMNS

Explication :

Dans le contexte d’utilisation de la sous-requête, celle-ci ne peut avoir qu’une seule colonne précisée sur la clause SELECT.

Action système :

L’ordre ne peut être exécuté.

Réponse programmeur :

Corriger la syntaxe de l’ordre SQL en respectant les contraintes d’utilisation des sous-requêtes.