Comprendre le mot-clé FD dans la FILE SECTION

Retour au cours

Le mot-clé FD, abréviation de File Description, est utilisé dans la FILE SECTION pour décrire la structure d’un fichier logique. Chaque fichier que le programme lit ou écrit doit avoir un FD suivi de la description d’un enregistrement.

1. Syntaxe de base

FILE SECTION.
FD NomFichier.
01 StructureEnregistrement.
   05 Champ1    PIC ... .
   05 Champ2    PIC ... .
   ...

Le mot-clé FD est suivi d’un nom logique (comme NomFichier) utilisé dans la clause SELECT dans la FILE-CONTROL.

2. Exemple simple

FILE SECTION.
FD ClientFile.
01 ClientRecord.
   05 NomClient     PIC X(20).
   05 CodePostal    PIC 9(5).
Élément Description
FD ClientFile Nom du fichier logique à utiliser avec READ ou WRITE.
01 ClientRecord Structure d’un enregistrement complet lu ou écrit dans le fichier.
05 NomClient Chaîne de caractères de 20 positions.
05 CodePostal Zone numérique de 5 chiffres.

3. À quoi sert vraiment FD ?

  • Il lie une structure d’enregistrement à un **fichier physique** déclaré dans FILE-CONTROL.
  • Il permet de **lire ou écrire** un enregistrement complet avec une seule instruction.
  • Il garantit que tous les enregistrements d’un fichier ont la même structure.

4. Plusieurs fichiers ? Plusieurs FD

FD FichierEmployes.
01 EmpRecord.
   05 EmpNom     PIC X(15).
   05 EmpSalaire PIC 9(6).

FD FichierProduits.
01 ProdRecord.
   05 RefProduit PIC X(10).
   05 PrixHT     PIC 9(4).

Chaque fichier logique a sa propre déclaration FD et une structure adaptée à son contenu.

5. Et les fichiers triés ?

Pour les fichiers utilisés dans une opération de tri interne COBOL, on utilise un SD (Sort Description) à la place de FD.

SD FichierTrie.
01 EnregTrie.
   05 ChampTri     PIC X(10).
   05 ChampValeur  PIC 9(5).
FD : pour les fichiers standards
SD : pour les fichiers temporaires créés par un tri COBOL

6. Rappel : lien entre FILE-CONTROL et FD

SELECT ClientFile ASSIGN TO "clients.txt".

FD ClientFile.
01 ClientRecord.
   05 NomClient  PIC X(20).
   05 Ville      PIC X(15).

Le nom utilisé dans la clause FD doit correspondre exactement au nom donné dans la clause SELECT.

7. À retenir

  • FD signifie File Description.
  • Il décrit comment les données sont structurées dans chaque ligne du fichier.
  • Un fichier = une déclaration FD.
  • Il est lié à la clause SELECT de la ENVIRONMENT DIVISION.
  • Sans FD, pas de lecture ou écriture structurée possible.