Bienvenue dans la formation COBOL

Apprenez les bases du COBOL et développez vos compétences en programmation legacy avec une approche moderne.

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

Variables COBOL dans la WORKING-STORAGE SECTION

Apprenez à déclarer des variables simples et structurées dans la WORKING-STORAGE SECTION pour gérer vos données métier.

La WORKING-STORAGE SECTION contient les données internes du programme : elles sont allouées au démarrage et libérées à la fin de l’exécution.
Déclarer des variables élémentaires

Les variables élémentaires sont décrites avec un niveau 01 et une clause PIC qui définit le type et la taille.

   WORKING-STORAGE SECTION.
   *> Chaîne alphanumérique jusqu'à 25 caractères, avec une valeur initiale
   01 WS-CLIENT-NAME     PIC X(25) VALUE "CLIENT INCONNU".

   *> Entiers sur un chiffre (0-9) initialisés à 0
   01 WS-COUNT-OK        PIC 9     VALUE 0.
   01 WS-COUNT-ERROR     PIC 9     VALUE 0.

   *> Entier sur trois chiffres (0-999) avec valeur initiale
   01 WS-TOTAL-LINES     PIC 9(3)  VALUE 0.
💡 Astuce : utilisez X(n) pour les chaînes et 9(n) pour les valeurs numériques entières.
Définir une variable hiérarchique (groupe)

Une variable de niveau 01 peut regrouper plusieurs sous-champs de niveau supérieur (02, 05, 10, etc.). On parle de groupe permettant de structurer un enregistrement complet.[

   *> Enregistrement d'un employé découpé en sous-champs
   01 WS-EMPLOYEE.
      02 WS-EMP-ID        PIC 9(5).         *> Identifiant numérique
      02 WS-EMP-NAME.
         03 WS-EMP-FIRST  PIC X(15).
         03 WS-EMP-LAST   PIC X(20).
      02 WS-EMP-SALARY    PIC 9(6)V99.      *> Salaire avec décimales
Bon réflexe : utilisez une structure hiérarchique pour représenter un enregistrement logique (client, commande, employé, etc.), plutôt que de multiplier les variables isolées.[web:6][web:8]
Bonnes pratiques de déclaration
  • Choisir des noms explicites : WS-EMP-SALARY est plus clair que NUM1.
  • Initialiser les variables critiques avec VALUE pour éviter des valeurs indéfinies.[web:5][web:8]
  • Regrouper les champs liés dans une même structure hiérarchique.

↑ Haut