Passer au contenu principal
eLearner.app
Module 5 · Leçon 1 sur 29/10 dans le cours~15 min
Leçons du module (1/2)

Définition des Fichiers et File-Control

En COBOL, la gestion des fichiers externes (comme les fichiers texte ou les enregistrements binaires sur disque) est l’une des fonctionnalités les plus importantes pour les applications d’entreprise de type batch. Étant donné que COBOL a été conçu bien avant les bases de données modernes, les fichiers sur disque font office de stockage principal.

La liaison entre les fichiers physiques stockés sur le système d’exploitation et les variables internes du programme s’effectue en deux étapes :

  1. Association logique-physique dans l’ENVIRONMENT DIVISION.
  2. Définition de l’enregistrement des données dans la DATA DIVISION.

1. Association : FILE-CONTROL et SELECT ASSIGN

Dans le chapitre dédié à la structure du programme, nous avons vu l’ENVIRONMENT DIVISION. En son sein se trouve l’INPUT-OUTPUT SECTION, à l’intérieur de laquelle la section FILE-CONTROL déclare les fichiers externes utilisés par le programme.

Pour associer un fichier logique du programme (ex. SALES-FILE) à un fichier physique réel sur le disque (ex. sales.dat), on utilise l’instruction SELECT ... ASSIGN TO ... :

Code
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT SALES-FILE ASSIGN TO "sales.dat"
               ORGANIZATION IS LINE SEQUENTIAL.
  • SELECT SALES-FILE : Définit le nom logique que le programme utilisera pour faire référence au fichier.
  • ASSIGN TO "sales.dat" : Spécifie le nom du fichier physique (ou son chemin) sur le disque.
  • ORGANIZATION IS LINE SEQUENTIAL (optionnel) : Indique que le fichier est un fichier texte normal dans lequel chaque ligne représente un enregistrement (séparé par un caractère de retour à la ligne).

2. Déclaration : FILE SECTION et FD

Après avoir associé le fichier dans l’ENVIRONMENT DIVISION, nous devons définir la structure de ses enregistrements dans la DATA DIVISION. Pour ce faire, nous utilisons une section dédiée appelée FILE SECTION (qui précède la WORKING-STORAGE SECTION).

Chaque fichier sélectionné doit avoir une entrée FD (File Description) qui déclare la structure de son enregistrement :

Code
       DATA DIVISION.
       FILE SECTION.
       FD SALES-FILE.
       01 SALES-RECORD.
           05 EMP-ID       PIC 9(5).
           05 EMP-NAME     PIC X(20).
           05 EMP-SALARY   PIC 9(6)V99.
  • FD SALES-FILE. : Identifie la description du fichier pour le nom logique SALES-FILE. Notez qu’elle se termine par un point.
  • 01 SALES-RECORD. : Spécifie la structure de groupe (enregistrement) associée au fichier. Chaque opération de lecture/écriture échangera les données en utilisant cette structure en mémoire.

À vous de jouer

Exercice#cobol.m5.l1.e1
Tentatives : 0Chargement…

Complétez l’ENVIRONMENT DIVISION pour déclarer l’INPUT-OUTPUT SECTION et le paragraphe FILE-CONTROL, en associant le fichier logique SALES-FILE au fichier physique 'sales.dat' via l’instruction SELECT ASSIGN.

Chargement de l'éditeur…
Afficher l'indice

Écrivez ENVIRONMENT DIVISION. et INPUT-OUTPUT SECTION. à la colonne 8 (7 espaces), puis FILE-CONTROL. à la colonne 8 et enfin SELECT SALES-FILE ASSIGN TO 'sales.dat'. à la colonne 12 (11 espaces).

Solution disponible après 3 tentatives

Exercice#cobol.m5.l1.e2
Tentatives : 0Chargement…

Déclarez la DATA DIVISION et la FILE SECTION pour le programme. Définissez le File Descriptor (FD) pour le fichier SALES-FILE en y associant un enregistrement de niveau 01 nommé SALES-RECORD contenant deux champs subordonnés : SALES-ID (numérique de 4 chiffres) et SALES-AMOUNT (numérique de 5 chiffres avec 2 décimales implicites).

Chargement de l'éditeur…
Afficher l'indice

Utilisez DATA DIVISION. et FILE SECTION. à la colonne 8, FD SALES-FILE. à la colonne 8, suivi à la ligne de 01 SALES-RECORD. à la colonne 8 et des champs 05 SALES-ID PIC 9(4). et 05 SALES-AMOUNT PIC 9(5)V99. à la colonne 12.

Solution disponible après 3 tentatives