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
Index du tour guidé
Navigation rapide
Utilisez ces boutons si vous voulez accéder directement à une page, sans parcourir les cartes.
1 2 3 4 5 6 7 8 9 10

Leçon 10 : lire les erreurs de compilation et corriger méthodiquement

Objectif : apprendre à ne plus “subir” les messages du compilateur, mais à les lire comme un diagnostic, en appliquant une méthode simple : corriger peu, recompiler souvent, et remonter à la cause réelle plutôt qu’aux symptômes.

Débutant Débogage Méthode
🧠
Idée clé
Un compilateur n’est pas un juge : c’est un instrument de mesure. Il vous signale un endroit où “ça ne colle pas”, mais la cause est souvent un peu plus haut dans le fichier. Le but n’est pas de corriger tout à la fois, mais de rétablir la cohérence étape par étape.
🚧

Les erreurs les plus fréquentes en apprentissage

Checklist

La plupart des erreurs qui bloquent un débutant entrent dans quelques familles. Si vous les reconnaissez vite, vous gagnez beaucoup de temps.

🔤
Mot réservé mal orthographié
Un mot-clé Cobol mal écrit entraîne souvent une cascade d’erreurs. Exemple : une lettre manquante dans  IDENTIFICATION .
Point mal placé
Un point peut “fermer” une phrase ou un bloc plus tôt que prévu, ce qui déstructure la suite. En format libre, gardez une discipline cohérente.
🧱
Champ non déclaré dans la data division
Utiliser un champ sans l’avoir déclaré dans  DATA  DIVISION  est un classique : le compilateur ne peut pas “deviner” votre intention.
🔁
Incompatibilité de type ou de format avec move
Un champ numérique n’accepte pas un texte, ou la taille est incohérente.  MOVE  est simple, mais strict quand vous mélangez les formats.
📏
Problème de taille en arithmétique
Le résultat ne “rentre pas” dans le champ cible : dépassement, troncature, ou incohérence. D’où l’intérêt de prévoir des champs plus larges ou d’utiliser  ON  SIZE  ERROR .
⚠️
Piège courant
Une seule petite faute (un point ou un mot) peut provoquer 20 erreurs “fantômes”. C’est pourquoi la méthode compte autant que la technique.
🧭

Méthode de correction

Pas à pas

Voici une méthode simple, reproductible, et particulièrement efficace en Cobol :

1️⃣
Repérer la première erreur
Ne commencez pas par la centième : les suivantes sont souvent des conséquences. La première erreur est généralement le “premier domino”.
2️⃣
Lire la ligne signalée et les lignes juste avant
Le compilateur indique parfois une erreur “après” la cause réelle. Les lignes précédentes contiennent souvent l’origine du problème (point, mot-clé, structure).
3️⃣
Corriger un seul point, recompiler, vérifier
Modifiez une seule chose à la fois. Si vous changez 5 éléments, vous ne saurez plus lequel a vraiment corrigé le problème.

Mini démonstrations

💡 Une faute d’orthographe sur un mot-clé peut “casser” toute la structure et provoquer des erreurs en chaîne.

 IDENTIFCATION DIVISION.
 PROGRAM-ID. DEMO.

 PROCEDURE DIVISION.
    DISPLAY "OK"
    STOP RUN.
✅ Correction
IDENTIFICATION (avec toutes les lettres)
💡 Un point peut fermer une phrase trop tôt et “couper” la suite du traitement.

 PROCEDURE DIVISION.
    IF 1 = 1.
        DISPLAY "Vrai"
    END-IF
✅ Correction
Retirer le point après la condition, et conserver une structure cohérente avec  END-IF .
💡 Un champ numérique n’accepte pas un contenu non numérique.

 01 WS-NB PIC 9(3) VALUE 0.

 PROCEDURE DIVISION.
    MOVE "ABC" TO WS-NB
    STOP RUN.
✅ Correction possible
Soit vous utilisez un champ texte ( PIC  X ), soit vous assurez que la source est réellement numérique.
💡 La taille d’un champ est un contrat : si le résultat dépasse, vous devez gérer le cas.

 01 WS-SMALL PIC 9(1) VALUE 9.

 PROCEDURE DIVISION.
    ADD 1 TO WS-SMALL
    STOP RUN.
✅ Correction recommandée
Utiliser  ON  SIZE  ERROR  ou un champ plus large. En contexte batch, mieux vaut gérer le dépassement explicitement.
Règle d’or
Une compilation propre est un enchaînement de petits correctifs. Faites simple : une correction, une compilation, un constat.

↑ Haut