ORGANIZATION |
Organisation |
|---|---|
| Cobol | |
Syntaxe
|
FILE-CONTROL. ((SELECT [OPTIONAL] filename ASSIGN TO [label][S] AS JCLvariable) [RESERVE integer AREAS] | ORGANIZATION IS [SEQUENTIAL]/RELATIVE/INDEXED | | ACCESS MODE IS [SEQUENTIAL]/RANDOM/DYNAMIC | |RELATIVE/RECORD KEY alphanumericdatafiled| [ALTERNATIVE RECORD KEY alphanumericrecordfield [WITH DUPLICATES] [PASSWORD IS literaldataname] [FILE STATUS IS alphanumericdataitem, groupdataitem] |
Paramètres
| Nom | Description |
|---|---|
| filename | Ce paramètre permet d'indiquer le nom du fichier logique utilisé dans le programme COBOL. Il sert d'identifiant pour les opérations de traitement sur le fichier. |
| label | Ce paramètre permet d'indiquer l'étiquette ou nom physique associé au fichier, généralement utilisé pour référencer un fichier externe dans l'environnement d'exécution. |
| JCLvariable | Ce paramètre permet de lier le fichier à une variable définie dans le JCL (Job Control Language), facilitant l'association entre le programme COBOL et son environnement d'exécution. |
| integer | Ce paramètre permet de réserver un certain nombre d'aires de mémoire pour le traitement du fichier. Il est utilisé avec la clause RESERVE. |
| SEQUENTIAL | Ce paramètre permet d'indiquer que l'organisation du fichier est séquentielle, c'est-à-dire que les enregistrements sont lus ou écrits dans l'ordre. |
| RELATIVE | Ce paramètre permet d'indiquer que le fichier est organisé de manière relative, chaque enregistrement ayant un numéro d'ordre unique accessible directement. |
| INDEXED | Ce paramètre permet d'indiquer une organisation de type indexée, dans laquelle les enregistrements sont accessibles via des clefs. |
| alphanumericdatafiled | Ce paramètre permet de spécifier la clé principale du fichier relatif ou indexé, utilisée pour accéder aux enregistrements. |
| alphanumericrecordfield | Ce paramètre permet d'indiquer une clé secondaire pour les fichiers indexés. Elle peut être utilisée comme méthode alternative d'accès aux enregistrements. |
| WITH DUPLICATES | Ce paramètre permet de spécifier que des valeurs dupliquées sont autorisées pour la clé alternative. Cela est utile pour des recherches multiples. |
| literaldataname | Ce paramètre permet de fournir un mot de passe d'accès au fichier. Il peut être utilisé dans des systèmes sécurisés pour restreindre les droits. |
| alphanumericdataitem | Ce paramètre permet de recevoir un code indiquant l'état du fichier après une opération (succès, erreur, fin de fichier, etc.). |
| groupdataitem | Ce paramètre permet de grouper plusieurs éléments de données liés au statut du fichier, souvent utilisés pour une analyse plus complète des erreurs. |
Description
Cette instruction permet d'indiquer le type de fichier dans une instruction de clause «SELECT».
Remarques
- La clause ORGANIZATION est essentielle dans le FILE-CONTROL de COBOL, car elle détermine la manière dont les enregistrements sont physiquement organisés dans le fichier. Le type d'organisation choisi (SEQUENTIAL, RELATIVE ou INDEXED) influence directement les méthodes d'accès possibles et la performance du traitement des données.
- L'option SEQUENTIAL indique que les enregistrements seront lus ou écrits dans l'ordre, sans possibilité d'accès direct. C'est l'organisation la plus simple à mettre en oeuvre, mais aussi la moins flexible, car chaque traitement doit parcourir les données dans l'ordre.
- En choisissant RELATIVE, le programmeur peut accéder directement à un enregistrement à l'aide d'un numéro relatif, ce qui offre une alternative entre accès séquentiel et accès aléatoire. Cela convient bien aux structures de fichiers où chaque enregistrement a une position fixe.
- Le mode INDEXED permet une organisation plus sophistiquée, dans laquelle les enregistrements sont localisables par des clefs. Il offre des capacités d'accès rapide à grande échelle, notamment dans les systèmes de gestion de fichiers complexes avec plusieurs chemins d'accès aux données.
- La clause ORGANIZATION fonctionne en lien étroit avec les clauses ACCESS MODE et RECORD KEY, qui spécifient la manière dont les fichiers sont accédés et identifiés. L'absence de compatibilité entre ces clauses peut entraîner des erreurs de compilation ou de logique.
- Changer le type d'organisation d'un fichier dans la clause ORGANIZATION nécessite souvent une refonte de la logique d'accès aux données. Par exemple, passer d'un fichier SEQUENTIAL à INDEXED implique la définition de clés et une gestion des accès directs, ce qui modifie la structure du programme.
- L'organisation des fichiers impacte également la gestion des erreurs et la manipulation du fichier à l'exécution. Par exemple, les fichiers indexés exigent souvent une gestion fine du FILE STATUS pour traiter les cas de doublons, de clés inexistantes ou d'erreurs d'accès.
- Enfin, bien que la clause ORGANIZATION semble purement déclarative, elle a une incidence majeure sur la compatibilité du programme COBOL avec l'environnement d'exécution. Certains systèmes peuvent imposer des restrictions sur les types d'organisations supportées, ce qui doit être pris en compte lors de la conception.
Dernière mise à jour : Jeudi, le 28 juillet 2011