Les variables et la DATA DIVISION

Jusqu’ici, ton programme affichait du texte en dur.
À partir de maintenant, on va travailler avec des données.
C’est là que COBOL devient vraiment intéressant.

Objectif du cours

À la fin de ce cours, tu sauras :

  • À quoi sert la DATA DIVISION
  • Comment déclarer une variable
  • Ce que signifient les niveaux 01, 05 et 77
  • Afficher une variable avec DISPLAY

La DATA DIVISION

La DATA DIVISION sert à définir toutes les données du programme :

  • variables
  • structures
  • zones mémoire

En COBOL, on déclare tout avant de l’utiliser.

Structure minimale avec DATA DIVISION

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-DATA.

DATA DIVISION.
WORKING-STORAGE SECTION.

PROCEDURE DIVISION.
    DISPLAY "Programme avec variables".
    STOP RUN.

Points importants

  • WORKING-STORAGE SECTION
    → Zone mémoire classique pour les variables du programme
  • Tout ce qui est déclaré ici est disponible pendant toute l’exécution

Les niveaux en COBOL

COBOL utilise des numéros de niveau pour structurer les données.

Les plus courants au début :

NiveauRôle
01Variable ou structure principale
05Sous-variable (champ)
77Variable simple indépendante

Niveau 77 — variable simple

DATA DIVISION.
WORKING-STORAGE SECTION.
77 WS-MESSAGE PIC X(20).

Décryptage

  • 77 → variable indépendante
  • WS-MESSAGE → nom de la variable
  • PIC X(20) → 20 caractères alphanumériques

WS = Working Storage (convention très répandue)

Utilisation

PROCEDURE DIVISION.
    MOVE "Bonjour COBOL" TO WS-MESSAGE.
    DISPLAY WS-MESSAGE.
    STOP RUN.

Résultat à l’écran :

Bonjour COBOL

Niveau 01 — variable principale

Le niveau 01 sert souvent de conteneur.

01 WS-NOM PIC X(20).

Fonctionnellement, c’est proche du 77, mais :

  • plus structurant
  • plus utilisé dans les programmes pros

Niveaux 01 + 05 — structure de données

C’est là que COBOL devient très puissant.

01 WS-PERSONNE.
   05 WS-PRENOM PIC X(15).
   05 WS-NOM    PIC X(15).

WS-PERSONNE contient deux champs.

Affectation des valeurs

PROCEDURE DIVISION.
    MOVE "Alexis" TO WS-PRENOM.
    MOVE "Charrier" TO WS-NOM.
    DISPLAY WS-PRENOM WS-NOM.
    STOP RUN.

Résultat :

Alexis Charrier

Règles fondamentales à comprendre maintenant

Règle 1 — On ne déclare jamais dans la PROCEDURE

Tout est déclaré dans la DATA DIVISION, jamais ailleurs.

Règle 2 — Le PIC définit la forme des données

Quelques bases :

PICSignification
XCaractère (alphanumérique)
9Numérique
(n)Taille
PIC X(10)   *> Texte
PIC 9(5)    *> Nombre entier

Programme complet du cours n°3

IDENTIFICATION DIVISION.
PROGRAM-ID. VARIABLES.

DATA DIVISION.
WORKING-STORAGE SECTION.

01 WS-PERSONNE.
   05 WS-PRENOM PIC X(15).
   05 WS-NOM    PIC X(15).

PROCEDURE DIVISION.
    MOVE "Alexis" TO WS-PRENOM.
    MOVE "Charrier" TO WS-NOM.
    DISPLAY WS-PRENOM WS-NOM.
    STOP RUN.

Ce que l’on va retenir

✔️ Les données sont déclarées dans la DATA DIVISION
✔️ WORKING-STORAGE contient les variables
✔️ 77 = variable simple
✔️ 01 + 05 = structure
✔️ PIC définit le type et la taille
✔️ MOVE affecte une valeur