Comprendre la DATA DIVISION
DATA DIVISION est le cœur de tout programme COBOL. C’est ici que toutes les données sont définies, qu’elles proviennent de fichiers externes ou qu’elles soient utilisées uniquement dans la mémoire du programme. Si un programme COBOL manipule des noms, des montants, des dates ou des lignes de fichiers, tout passe par cette division.
1. Rôle de la DATA DIVISION
La DATA DIVISION est l’endroit où un programme COBOL stocke, récupère et prépare les données nécessaires à son exécution. Elle ne contient pas de logique ni d’instructions, uniquement des déclarations de structures de données.
2. Structure générale
Elle se compose de plusieurs sections, dont les deux plus fréquentes sont :
DATA DIVISION.
FILE SECTION.
WORKING-STORAGE SECTION.
| Section | Utilisation |
|---|---|
FILE SECTION |
Décrit les fichiers utilisés dans le programme et la structure de leurs enregistrements. |
WORKING-STORAGE SECTION |
Contient les variables temporaires, les drapeaux de contrôle, les compteurs et tout ce qui est utilisé pendant l'exécution du programme. |
3. La FILE SECTION en pratique
ENVIRONMENT est défini ici. On décrit comment chaque ligne ou enregistrement de ce fichier est structurée.
FD ClientFile.
01 ClientLine PIC X(100).
Ici, le fichier logique ClientFile est composé d’enregistrements de 100 caractères. Chaque ligne lue ou écrite correspond à la variable ClientLine.
4. La WORKING-STORAGE SECTION
01 TotalFactures PIC 9(5) VALUE ZEROS.
01 NomClient PIC A(30).
01 TraitementFini PIC X VALUE "N".
88 Fini VALUE "O".
88 EnCours VALUE "N".
Ce bloc déclare un total, un nom, et un indicateur logique à l’aide d’un niveau 88. Les niveaux 88 permettent d’utiliser des noms symboliques pour des états (par exemple : IF Fini).
5. Pourquoi la DATA DIVISION est essentielle
- 📥 Elle stocke toutes les données lues ou écrites.
- 🧮 Elle contient toutes les variables nécessaires aux calculs.
- 🔄 Elle permet le suivi de l’état du programme via des indicateurs ou compteurs.
- 🗂 Elle organise les données de manière structurée et typée.
6. Métaphore simple : le grenier du programme
Si l’on compare un programme COBOL à une maison, la DATA DIVISION est un grenier soigneusement étiqueté. Chaque boîte représente une donnée : certaines viennent de l’extérieur (fichiers), d’autres sont posées là par le programme pour s’y retrouver pendant le travail.
7. Bonnes pratiques
- 🧾 Utilisez des noms de variables clairs et lisibles.
- 🧠 Groupez vos données par fonction pour améliorer la lisibilité.
- 🛠 Privilégiez l’utilisation de
PICadaptés à la taille et au type de données. - 🎯 Utilisez les niveaux
88pour gérer les états logiques.
8. Exemple complet
DATA DIVISION.
FILE SECTION.
FD CommandeFile.
01 LigneCommande PIC X(80).
WORKING-STORAGE SECTION.
01 NomProduit PIC A(20).
01 Quantite PIC 9(4).
01 EstTermine PIC X VALUE "N".
88 Terminer VALUE "O".
88 EnCours VALUE "N".
Ce bloc montre comment définir un fichier et des variables associées à une logique de traitement dans le programme.
9. À retenir
- 📌 La
DATA DIVISIONest le réservoir de données du programme COBOL. - 📚 Elle se divise en
FILE SECTION(fichiers) etWORKING-STORAGE SECTION(mémoire de travail). - 🛠 Elle ne contient aucune logique : uniquement des déclarations.
- 🎯 La qualité des structures définies ici conditionne la clarté et la stabilité du programme.