Comprendre la WORKING-STORAGE SECTION en COBOL

Structure des programmes.

La WORKING-STORAGE SECTION est l’endroit où le programme COBOL réserve de l’espace pour les données dont il a besoin pendant son exécution. Ces données peuvent être des textes, des nombres, ou des indicateurs logiques.

1. À quoi sert cette section ?

Elle permet de définir toutes les variables internes au programme. Contrairement aux fichiers, ces données ne viennent pas de l'extérieur. Ce sont des éléments que vous, programmeur, choisissez pour suivre un état, faire des calculs, afficher des messages, etc.

2. Exemple de structure simple

WORKING-STORAGE SECTION.

77 ChoixMenu         PIC X VALUE SPACE.
88 OptionVoirListe   VALUE "A".
88 OptionCalculer    VALUE "B".
88 OptionQuitter     VALUE "Z".

77 FinLecture        PIC X VALUE "N".
88 Terminé           VALUE "O".

01 LigneTitre        PIC X(60).
01 TotalArticles     PIC 9(4) VALUE ZERO.

Dans cet exemple, plusieurs variables sont déclarées pour gérer un menu, un drapeau de fin de lecture, un message affiché à l’écran, et une valeur numérique.

3. Décomposition des éléments

Niveau Nom Type Rôle
77 ChoixMenu PIC X Stocke le caractère saisi dans le menu principal
88 OptionVoirListe, etc. Valeur symbolique Rend le code plus lisible pour tester une option
01 LigneTitre PIC X(60) Contient un message de titre à afficher
01 TotalArticles PIC 9(4) Variable numérique pour un total

4. Test logique avec niveau 88

IF OptionCalculer
    PERFORM EffectuerOperation
END-IF

Ici, au lieu d’écrire IF ChoixMenu = "B", on utilise une valeur conditionnelle plus lisible : OptionCalculer.

5. Pourquoi utiliser le niveau 77 ?

Le niveau 77 est utilisé pour des variables simples qui ne contiennent pas de sous-champs. Il est souvent utilisé pour les drapeaux ou les valeurs de contrôle uniques.

Bon à savoir : Les variables déclarées dans la WORKING-STORAGE SECTION sont créées une fois pour toute la durée du programme. Elles sont disponibles à tout moment, tant que le programme tourne.

6. Exemple d’utilisation typique

DISPLAY "Menu principal"
ACCEPT ChoixMenu

IF OptionVoirListe
    PERFORM AfficherTout
ELSE IF OptionQuitter
    STOP RUN
END-IF

Ce code montre comment une variable de type caractère est testée à l’aide de plusieurs conditions définies au niveau 88.

7. À retenir

  • La WORKING-STORAGE SECTION est la mémoire du programmeur COBOL.
  • Les niveaux 01 servent à structurer les données complexes, 77 pour les simples.
  • Les niveaux 88 permettent d’associer un nom à une valeur, ce qui rend le code plus lisible.
  • Les variables définies ici sont disponibles pendant tout le programme.