Le Secret du "S" en COBOL
Pourquoi utiliser PIC S9 ?
En COBOL, une variable numérique définie par PIC 9 est par défaut non-signée (unsigned). Elle considère que toutes les valeurs sont absolues (positives).
- PIC 9(3) : Stocke 123. Si on envoie -123, il perd le signe et stocke 123.
- PIC S9(3) : Le S indique au système de réserver de la place (souvent virtuelle) pour retenir le signe. Il stocke correctement -123.
⚠️ DANGER : Utiliser
PIC 9 pour des calculs financiers (soldes, écarts) peut transformer une dette (-500€) en gain (+500€) sans aucun message d'erreur !
Animation : Tentative de stockage de la valeur -123
NON-SIGNÉ (Erreur)
01 VAR-A PIC 9(3).
En attente...
-123
-123
SIGNÉ (Correct)
01 VAR-B PIC S9(3).
S
En attente...