FD |
Description de fichier |
---|---|
Cobol |
Syntaxe
FD filename [; BLOCK CONTAINS [integer1 TO] integer2 [RECORDS|CHARACTERS]] [; RECORD CONTAINS [integer3 TO] integer4 CHARACTERS] ; LABEL (RECORD IS|RECORD ARE) (STANDARD|OMITTED) [; VALUE OF LABEL IS [literal1]] [; DATA (RECORD IS|RECORD ARE) dataname1 [,dataname2]...]. |
Paramètres
Nom | Description |
---|---|
filename | Ce paramètre permet d'indiquer le nom logique du fichier. Il correspond à un fichier défini dans l'environnement du programme, et il est utilisé dans les instructions d'entrée/sortie comme OPEN, READ, WRITE, etc. Ce nom logique est ensuite lié à une structure d'enregistrement (record) qui décrit les données contenues dans le fichier. |
BLOCK CONTAINS [integer1 TO] integer2 [RECORDS | CHARACTERS] | Ce paramètre permet d'indiquer la taille du bloc physique utilisé lors de la lecture ou de l'écriture du fichier. L'unité peut être en enregistrements ou en caractères. L'utilisation de deux valeurs (integer1 TO integer2) spécifie une taille minimale et maximale, utile pour optimiser l'entrée/sortie sur des supports physiques (par exemple les bandes magnétiques). |
RECORD CONTAINS [integer3 TO] integer4 CHARACTERS | Ce paramètre permet d'indiquer la taille d'un enregistrement individuel en nombre de caractères. Comme pour les blocs, on peut spécifier un intervalle (integer3 TO integer4) pour les enregistrements de taille variable. Cela informe le compilateur de l'espace mémoire à allouer pour chaque enregistrement. |
LABEL RECORD IS|ARE (STANDARD | OMITTED) | Ce paramètre permet de déterminer si le fichier contient des étiquettes de début/fin. STANDARD signifie que des en-têtes ou marqueurs de fichier sont présents (utilisé notamment sur des supports anciens). OMITTED indique que le fichier ne comporte pas ces informations, ce qui est le cas le plus fréquent avec des fichiers séquentiels classiques. |
VALUE OF LABEL IS literal1 | Ce paramètre permet d'indiquer la valeur attendue pour l'étiquette de fichier, quand LABEL RECORD IS STANDARD est utilisé. literal1 est généralement une chaîne littérale représentant le nom ou une valeur de contrôle pour identifier le fichier. |
DATA RECORD IS|ARE dataname1 [, dataname2, ...] | Ce paramètre permet de faire le lien entre le fichier et les structures de données associées aux enregistrements. |
dataname1, dataname2,... | Ces paramètres permettent d'indiquer les noms des enregistrements définis sous ce FD. Cela permet de spécifier un ou plusieurs formats possibles pour les enregistrements contenus dans le fichier. |
Description
Cette instruction permet d'indiquer le niveau dans une section de fichier.
Remarques
- L'instruction FD (File Description) constitue un élément fondamental de la section FILE SECTION d'un programme COBOL. Elle permet de décrire la structure d'un fichier logique, c'est-à-dire comment les données sont organisées au sein de celui-ci. Chaque fichier utilisé par le programme doit obligatoirement être associé à une entrée FD.
- Le paramètre BLOCK CONTAINS est utilisé pour optimiser les opérations d'entrée/sortie en précisant la taille des blocs physiques. Cette information est utile pour les systèmes lisant ou écrivent en blocs (par exemple, les lecteurs de bandes ou disques). Bien que souvent ignoré sur les systèmes modernes, il reste important dans certains environnements de production.
- Le paramètre RECORD CONTAINS permet de définir la taille de chaque enregistrement, ce qui est essentiel pour la gestion mémoire et la lecture correcte des données. Il peut être utilisé avec un intervalle (integer3 TO integer4) pour les fichiers contenant des enregistrements de taille variable, typiques dans des structures hétérogènes.
- La clause LABEL RECORD IS STANDARD indique que le fichier comprend une étiquette de contrôle, souvent utilisée pour l'identification ou la gestion des fichiers séquentiels sur bande. L'option OMITTED, au contraire, est utilisée pour les fichiers simples ou internes, sans structure de contrôle additionnelle.
- Avec VALUE OF LABEL IS, on peut spécifier la valeur attendue pour l'étiquette de fichier. Cela permet de valider que le bon fichier est en cours de traitement, ou encore de distinguer plusieurs fichiers utilisant la même structure logique. Cette clause est surtout pertinente sur des systèmes à étiquetage explicite.
- L'instruction DATA RECORD IS (ou ARE) lie le fichier à un ou plusieurs noms d'enregistrements COBOL. Ces noms correspondent à des structures définies juste après l'instruction FD. Cette liaison est essentielle pour que le compilateur puisse savoir comment interpréter chaque enregistrement lors de la lecture ou de l'écriture.
- Le FD ne déclare pas uniquement le fichier, mais il joue aussi un rôle dans la compatibilité des instructions d'entrées/sorties (I/O), telles que READ, WRITE, ou REWRITE. Les noms définis via FD sont ensuite utilisés dans ces instructions pour manipuler les données contenues dans le fichier.
- Dans les programmes COBOL bien structurés, chaque FD est soigneusement documenté et accompagné d'un bloc 01 décrivant l'enregistrement logique. Cela favorise la maintenance, la clarté du code, et la cohérence avec les autres sections du programme. Une bonne définition FD est essentielle pour garantir une gestion robuste des fichiers.
Dernière mise à jour : Jeudi, le 28 juillet 2011