BLANK |
Blanc |
|---|---|
| Cobol | |
Syntaxe
| BLANK WHEN ZERO |
Description
Cette instruction permet l'utilisation de blanc dans un item quand ça valeur est zéro.
Remarques
- BLANK WHEN ZERO est une clause de présentation, pas de calcul : La clause BLANK WHEN ZERO est utilisée pour influencer l'affichage ou l'impression d'un champ numérique. Lorsqu'elle est activée, elle fait en sorte qu'un champ s'affiche vide (avec des espaces) au lieu de montrer des zéros lorsque la valeur est exactement égale à zéro. Cela améliore la lisibilité des rapports ou des écrans en supprimant les "zéros inutiles".
- Elle est déclarée dans la section DATA DIVISION : On utilise BLANK WHEN ZERO dans une clause de description d'un item de données, généralement dans la WORKING-STORAGE SECTION ou dans une structure de données. Elle s'insère après la clause PIC, par exemple :
- Elle ne modifie jamais la valeur réelle entreposée : Il est essentiel de comprendre que BLANK WHEN ZERO ne transforme pas la valeur de la donnée : elle reste bien égale à zéro en mémoire. Seule sa représentation à l'écran ou à l'impression est affectée. Cela garantit que les traitements logiques ou les calculs ne sont pas perturbés.
- Elle ne fonctionne qu'avec certains types de PIC : BLANK WHEN ZERO s'applique uniquement à des champs numériques non édités (PIC 9...) ou édités alphanumériques, mais pas à des champs purement alphanumériques (PIC X(...)). Elle ne peut être utilisée qu'avec des éléments de type DISPLAY, c'est-à-dire ceux pouvant être rendus visibles.
- Très utilisée dans les rapports imprimés ou les interfaces utilisateur : Dans les applications de gestion ou les états imprimés (payes, factures, relevés.), on utilise BLANK WHEN ZERO pour ne pas encombrer la sortie avec des zéros. Par exemple, des colonnes de montants ou de quantités restent ainsi visuellement plus épurées, en mettant en valeur les données non nulles.
- Peut être source de confusion en cas d'analyse visuelle : Si un utilisateur ou un développeur lit les résultats sans savoir que BLANK WHEN ZERO est en vigueur, il peut croire qu'un champ n'est pas initialisé, alors qu'il contient simplement zéro. Il est donc utile de documenter clairement son usage, surtout dans des écrans de contrôle ou de vérification.
- Ne pas confondre avec l'affichage conditionnel ou le test de valeur : Il ne faut pas confondre BLANK WHEN ZERO avec des instructions conditionnelles masquant une variable en fonction de sa valeur. Cette clause est passive et ne nécessite pas d'IF ou de logique particulière : c'est une simple directive d'affichage directement liée à la description du champ.
- Alternative : utiliser des champs édités avec des masques complexes : Dans certains cas, pour un affichage plus sophistiqué (alignements,
signes, séparateurs de milliers...), on peut préférer une clause PIC éditée, combinée à BLANK WHEN ZERO, ou même recourir à des routines de formatage. Par exemple :
05 VALEUR PIC ZZZ9 BLANK WHEN ZERO.
Cela affichera la valeur alignée à droite, avec des espaces à la place des zéros non significatifs.
05 MONTANT PIC 9(5) BLANK WHEN ZERO.
Cette ligne indique que si MONTANT vaut 00000, le champ sera présenté comme vide.
Dernière mise à jour : Jeudi, le 28 juillet 2011