Parcours Accueil Tour guidé Initiation 1 h Initiation 24 h Révisions Exercices

Une zone alphanumérique contient des caractères : lettres, chiffres, symboles, espaces. Elle est déclarée avec PIC X(n) , où n est la longueur maximale.

Info : Ce module vous permet d’accéder rapidement aux contenus essentiels de la formation COBOL.
Retour au plan général

🔣 8-1 – Différences entre zones alphanumériques et numériques : stockage et conversion

En  COBOL , il est essentiel de bien comprendre la distinction entre les zones alphanumériques et numériques. Ces deux types de données ont des formats de stockage différents en mémoire, et ne sont pas interchangeables sans précaution.

🔤 Zones alphanumériques :  PIC X(n) 

Une zone alphanumérique contient des caractères : lettres, chiffres, symboles, espaces. Elle est déclarée avec  PIC X(n) , où n est la longueur maximale.


 01 NOM-CLIENT PIC X(30).
 01 CODE-POSTAL PIC X(5).
  

Ces champs peuvent contenir "DURAND", "75015", ou même "123AB". Ils sont traités comme des chaînes, pas comme des nombres.

🔢 Zones numériques :  PIC 9(n) ,  V ,  S 

Une zone numérique ne contient que des chiffres (et éventuellement un signe avec  S ). Elle permet les calculs arithmétiques.


 01 MONTANT       PIC 9(5)V99.
 01 AGE           PIC 99.
 01 SOLDE-SIGNE       PIC S9(6)V99.
  

Ces zones sont stockées sous forme binaire ou zonée selon le compilateur, et ne peuvent pas contenir de lettres.

🔄 Conversions alphanumérique ↔ numérique

Pour convertir, on utilise souvent  MOVE , mais cela peut générer des erreurs ou des comportements imprévus si les formats sont incompatibles :


 01 ENTREE          PIC X(5) VALUE "00123".
 01 VALEUR-NUM       PIC 9(5).

 MOVE ENTREE TO VALEUR-NUM.
  

Cela fonctionne si  ENTREE  contient uniquement des chiffres. Sinon, cela provoquera une erreur d’exécution ou un résultat incohérent.

📌 Bonnes pratiques

 IF ZONE-TEXTE IS NUMERIC
    MOVE ZONE-TEXTE TO NOMBRE.
  
🧠 Résumé

Les zones alphanumériques ( PIC X ) sont utilisées pour les textes, affichages, codes, alors que les zones numériques ( PIC 9 ) servent aux calculs. Une mauvaise manipulation entre les deux peut provoquer des erreurs graves.

Bien comprendre cette différence est fondamental pour écrire des programmes  COBOL  fiables, lisibles et performants.

↑ Haut