END-ADD |
Fin d'ajout |
|---|---|
| Cobol | |
Syntaxe
|
ADD identifier1 TO identifier2 [ROUNDED] [[ON] SIZE ERROR imperativestatement1] [NOT [ON] SIZE ERROR imperativestatement2] END-ADD |
Paramètres
| Nom | Description |
|---|---|
| identifier1 | Ce paramètre permet d'indiquer la valeur à ajouter. Il peut s'agir d'une variable numérique, d'un littéral, ou d'un champ de données COBOL. Cette valeur sera additionnée à la ou aux cibles spécifiées dans identifier2. On peut aussi spécifier plusieurs identifier1 pour effectuer une addition multiple. |
| identifier2 | Ce paramètre permet d'indiquer la variable cible dans laquelle la somme sera entreposée. Le résultat de l'addition entre identifier1 et identifier2 sera directement affecté à identifier2, sauf si l'on utilise une syntaxe GIVING. Plusieurs identifier2 peuvent être mentionnés, la valeur de identifier1 étant alors ajoutée à chacune. |
| ROUNDED | Ce paramètre permet d'arrondir le résultat avant de l'entreposer, en fonction du format PICTURE de la variable cible. Sans ce mot clef, la valeur est tronquée. L'arrondi s'applique au chiffre immédiatement à droite du dernier chiffre significatif. |
| [ON] SIZE ERROR | Ce paramètre permet d'indiquer une gestion d'erreur dans le cas où le résultat de l'addition dépasse la capacité d'entreposage du champ cible. Cela évite des résultats incorrects ou des comportements indéterminés. |
| imperativestatement1 | Ce paramètre permet d'indiquer une instruction ou un groupe d'instructions à exécuter si une erreur de dépassement (SIZE ERROR) se produit. Cela peut consister à afficher un message, affecter une valeur par défaut, ou forcer l'arrêt du programme selon les besoins métiers. |
| NOT [ON] SIZE ERROR | Ce paramètre permet d'indiquer une autre série d'instructions si aucune erreur ne se produit. Elle permet de gérer proprement les deux cas (succès ou erreur) au sein d'un même bloc ADD. |
| imperativestatement2 | Ce paramètre permet d'indiquer le bloc d'instructions exécuté lorsque l'opération ADD se passe correctement, sans débordement de capacité. Il peut s'agir d'un traitement de confirmation, d'une mise à jour, ou de toute action liée à la réussite de l'opération. |
Description
Cette instruction permet d'indiquer la fin d'une instruction ADD.
Remarques
- L'instruction END-ADD est essentielle dans les structures complexes de calcul : Elle permet de clore explicitement une instruction ADD lorsqu'elle contient plusieurs blocs comme ON SIZE ERROR et NOT ON SIZE ERROR. Cela rend le code plus lisible et facilite la maintenance, notamment dans les programmes où les blocs ADD comportent des traitements conditionnels.
- Elle améliore la sécurité et la robustesse du programme COBOL : En utilisant END-ADD, le programmeur peut clairement délimiter le bloc d'addition et sa gestion d'erreurs. Cela évite les erreurs d'interprétation du compilateur, surtout dans des programmes longs où plusieurs instructions arithmétiques sont imbriquées ou se succèdent.
- END-ADD est particulièrement utile en environnement d'entreprise : Dans les traitements bancaires, comptables ou de gestion, où chaque opération numérique peut avoir des conséquences importantes, END-ADD permet de garantir que la logique de traitement soit bien encapsulée et que les erreurs soient correctement gérées.
- L'ajout du mot clef ROUNDED avec END-ADD permet un meilleur contrôle des décimales : Cela évite les erreurs d'arrondi qui peuvent se produire lors de la conversion des valeurs numériques selon le format PICTURE. Ce contrôle est crucial dans les calculs monétaires ou dans des traitements nécessitant une grande précision.
- La structure ON SIZE ERROR couplée à END-ADD rend les programmes plus tolérants aux anomalies : Grâce à cette combinaison, les erreurs comme le dépassement de capacité peuvent être anticipées et corrigées sans interruption brutale du programme. Cela contribue à un fonctionnement fluide, même en cas de données inattendues.
- L'utilisation de NOT ON SIZE ERROR améliore la clarté de la logique métier : En permettant de définir ce qu'il faut faire si tout se passe bien, cette clause améliore la lisibilité du traitement et isole clairement les chemins de réussite et d'échec, rendant le code plus explicite et conforme aux exigences métier.
- END-ADD reflète une bonne pratique de structuration du code COBOL : Il est recommandé dans les normes de codage modernes pour améliorer la lisibilité et l'analyse du code, notamment dans les environnements collaboratifs où plusieurs développeurs interviennent sur le même programme.
- Même si elle n'est pas toujours obligatoire, l'instruction END-ADD est fortement conseillée : Dans le cas d'instructions ADD simples, on peut techniquement s'en passer. Mais dès que l'on introduit des blocs conditionnels ou une certaine complexité, l'ajouter garantit une meilleure compréhension et évite les ambiguïtés syntaxiques.
Dernière mise à jour : Jeudi, le 28 juillet 2011