📐 Structure d’un programme COBOL : colonnes et mise en page

Historiquement, COBOL a été conçu pour être écrit sur des cartes perforées ou dans des éditeurs très stricts, ce qui impose une mise en page en colonnes que l’on retrouve encore aujourd’hui dans les environnements mainframe.

Comprendre cette structure est important pour bien présenter votre code COBOL, en particulier si vous travaillez sur des plateformes z/OS ou des outils compatibles mainframe. Voici plus d'explications dans cette animation.

🧱 Les repères de colonnes

Voici la structure typique d’une ligne COBOL avec les colonnes clés :

01--07 | 08----------------------------72 | 73--80
       | Zone de code (instructions)    | Numérotation ou commentaires
Zone A | Zone B                         | (souvent ignorée aujourd’hui)
       |
       | Exemple : affichage d’un texte
       |
       |        DISPLAY "Bonjour, COBOL !".

📌 Détail des zones

  • Colonnes 1 à 6 : zone de numérotation (facultative, utilisée sur les cartes perforées pour trier les lignes)
  • Colonne 7 : indicateur spécial :
    • * → ligne de commentaire
    • / → nouvelle page (impression)
    • - → continuation d’une ligne précédente (rare)
  • Colonnes 8 à 11 : zone A
    → pour les en-têtes de division, paragraphes et niveaux 01
  • Colonnes 12 à 72 : zone B
    → pour les instructions comme DISPLAY, MOVE, IF, etc.
  • Colonnes 73 à 80 : zone de commentaires ou de numéros de version (généralement ignorée aujourd’hui)

👉 Voir cette infographie

🧪 Exemple de ligne COBOL bien positionnée

Dans l’exemple ci-dessous, DISPLAY commence en zone B (colonne 12), ce qui est correct pour une instruction :

        DISPLAY "Bienvenue dans le monde COBOL !".

Et voici un en-tête de paragraphe dans la zone A (colonne 8) :

       TRAITER-CLIENT.
        DISPLAY "Traitement client en cours".

📝 Commentaires COBOL

Pour écrire un commentaire, il faut placer un astérisque * en colonne 7 :

000100* Ce programme affiche un message de bienvenue

🎯 À retenir

  • 📏 COBOL suit une structure stricte en colonnes, héritée de ses origines sur cartes perforées
  • ✍️ Les instructions sont généralement écrites à partir de la colonne 12 (zone B)
  • 🧱 Les paragraphes, divisions, et niveaux 01 commencent en colonne 8 (zone A)
  • 🗒️ Les commentaires sont indiqués par un * en colonne 7
  • 📦 Cette structure est indispensable en environnement mainframe, et recommandée ailleurs pour la clarté
Zone Colonnes Contenu autorisé
Zone de repère 1 à 6 Numéros de ligne (souvent laissée vide)
Indicateur 7 * (commentaire), - (suite), / (saut de page)
Zone A 8 à 11 Divisions, Sections, Paragraphes, niveaux 01
Zone B 12 à 72 Instructions COBOL comme MOVE, DISPLAY, IF
Zone optionnelle 73 à 80 Commentaires ou numérotation (rarement utilisée aujourd’hui)