Syntaxe
|
SIGN IS TRAILING [SEPARATE CHARACTER]
|
Paramètres
| Nom |
Description |
| SIGN IS TRAILING |
Ce paramètre permet d'indiquer que le signe (positif ou négatif) d'un nombre doit apparaître à la fin (après les chiffres) de la donnée numérique. C'est une façon de formater les données signées en COBOL. Par exemple, pour la valeur -123, le système pourrait la représenter comme 123- plutôt que -123. Cela concerne les nombres signés stockés au format zoné (comme les types DISPLAY) et influence comment COBOL lit et écrit ces valeurs, particulièrement lors d'échanges avec d'autres systèmes ou dans des impressions. |
| SEPARATE CHARACTER |
Ce paramètre permet d'indiquer le signe pour séparé le corps du nombre et entreposé dans un caractère distinct, plutôt que de l'intégrer dans le dernier chiffre. Par exemple, au lieu de coder un 9 final spécial pour signifier un signe négatif (ce qu'on fait normalement sans SEPARATE CHARACTER), COBOL ajoutera un caractère séparé pour entreposer uniquement le signe. Cela rend le format plus lisible humainement et facilite les échanges avec des systèmes externes attendant un caractère clair (+ ou -) à part. |
Description
Cette instruction permet d'indiquer la position et le mode de représentation d'un signe d'opération quand il est nécessaire de décrire cette propriété explicitement.
Remarques
- L'instruction SIGN IS TRAILING permet de préciser la position du signe dans une donnée numérique signée : Par défaut, COBOL peut positionner le signe soit
en début, soit en fin de chaîne numérique. En utilisant TRAILING, on force COBOL à placer le signe après les chiffres. C'est utile pour garantir une cohérence de
présentation, notamment lors d'affichages ou d'exports.
- Le signe étant en fin de nombre, cela peut modifier la manière dont les données sont codées en mémoire : Par exemple, avec SIGN IS TRAILING, le dernier
caractère de la chaîne peut contenir une valeur spéciale représentant à la fois le chiffre final et le signe. Cela demande une attention particulière lorsqu'on manipule
les valeurs de manière brute (exemple lecture binaire).
- L'ajout de SEPARATE CHARACTER permet de rendre le signe distinct du reste de la valeur : Au lieu d'un encodage intégré dans un chiffre, le signe est placé
dans une position dédiée. Cette séparation est particulièrement utile pour faciliter la lecture humaine, ou le traitement par d'autres systèmes qui attendent un caractère
+ ou - explicite.
- L'option SIGN IS TRAILING SEPARATE CHARACTER améliore la compatibilité avec des formats de fichiers structurés : Par exemple, lors de la génération de
fichiers plats destinés à des imports dans Excel ou des bases de données, avoir un signe séparé réduit les risques de mauvaise interprétation des données numériques.
- Le choix entre LEADING et TRAILING dépend souvent des standards internes de l'organisation ou des formats attendus : Si un système externe avec lequel
COBOL communique attend un signe en début de nombre, il ne faut pas utiliser TRAILING. Cette souplesse permet d'adapter les sorties COBOL à divers environnements.
- Le positionnement du signe est défini au niveau de la clause PICTURE dans la description des variables : L'instruction SIGN est souvent utilisée
conjointement avec des clauses comme PIC S9(n) ou PIC 9(n) SIGN TRAILING, pour préciser exactement comment COBOL doit gérer l'affichage et l'enregistrement des
nombres signés.
- L'instruction SIGN IS TRAILING est essentielle dans les traitements comptables et financiers : Dans ces contextes, les formats d'impression sont stricts
et les normes d'édition exigent souvent un signe positionné après le montant. Elle garantit ainsi que les documents produits soient acceptables d'un point de vue
réglementaire ou métier.
- Bien que souvent implicite, définir explicitement SIGN IS TRAILING améliore la lisibilité du code COBOL : Cela clarifie les intentions du développeur,
réduit les ambiguïtés en cas de reprise de code, et évite les comportements inattendus si le compilateur applique un comportement par défaut différent selon
l'environnement.
Dernière mise à jour : Jeudi, le 28 juillet 2011