FILE STATUS IS |
État de fichier est |
|---|---|
| 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 | |
|---|---|---|
| SELECT | Ce paramètre indique le début de la déclaration d'un fichier logique dans la section FILE-CONTROL. Il sert à relier un nom de fichier COBOL à un fichier physique. | |
| OPTIONAL | Ce paramètre permet de spécifier que le fichier n'est pas obligatoire à l'exécution ; si le fichier est absent, le programme pourra quand même continuer. | |
| filename | Ce paramètre désigne le nom logique du fichier tel qu'il sera utilisé dans tout le programme. | |
| ASSIGN TO | Ce paramètre permet d'associer le fichier logique COBOL à un nom physique utilisé par le système d'exploitation ou par le JCL (Job Control Language). | |
| AS JCLvariable | Ce paramètre précise que la référence au fichier passe par une variable définie dans le JCL (souvent utilisée en environnement mainframe). | |
| RESERVE integer AREAS | Ce paramètre indique combien de buffers (zones) doivent être réservés en mémoire pour ce fichier, ce qui peut améliorer les performances. | |
| ORGANIZATION IS ... | Ce paramètre spécifie le type d'organisation du fichier : SEQUENTIAL (fichier plat), RELATIVE (fichier à accès par position), ou INDEXED (fichier indexé). | |
| ACCESS MODE IS ... | Ce paramètre définit le mode d'accès au fichier : SEQUENTIAL (lecture en séquence), RANDOM (accès direct), ou DYNAMIC (mixte). | |
| RECORD KEY | Ce paramètre permet d'indiquer le champ utilisé comme clé principale pour accéder aux enregistrements dans un fichier indexé ou relatif. | |
| ALTERNATIVE RECORD KEY | Ce paramètre définit une clé secondaire d'accès aux enregistrements, différente de la clef principale. | |
| WITH DUPLICATES | Ce paramètre permet d'autoriser la présence de doublons dans les valeurs de la clé alternative spécifiée. | |
| PASSWORD IS | Ce paramètre permet d'indiquer un mot de passe nécessaire pour accéder ou modifier le fichier. | |
| FILE STATUS IS | Ce paramètre permet d'associer une variable (ou un groupe) qui contiendra le code de retour lors des opérations sur le fichier. Cela permet de gérer les erreurs ou états particuliers. | |
| alphanumericdataitem | Ce paramètre représente une variable alphanumérique simple recevant le code d'état fichier (par exemple, "00" pour succès, "35" pour fichier absent,...). | |
| groupdataitem | Ce paramètre représente une structure regroupant plusieurs variables pour détailler l'état, utile notamment dans les systèmes complexes ou multi-fichiers. |
Description
Cette instruction permet de contrôler les erreurs d'accès à un fichier dans une instruction de clause «SELECT».
Remarques
- Le paramètre FILE STATUS IS est essentiel pour la gestion des erreurs lors des opérations sur les fichiers. Il permet au programme de détecter des situations comme un fichier manquant, une fin de fichier atteinte, ou des erreurs de lecture/écriture, sans quoi l'exécution pourrait se poursuivre sans contrôle.
- L'utilisation d'un item alphanumérique dans FILE STATUS IS permet une surveillance précise des retours système. Chaque valeur (par exemple "00", "10", "35",...) indique une condition spécifique : succès, fin de fichier, fichier inexistant, etc., ce qui permet d'adapter dynamiquement le comportement du programme.
- Il est possible de spécifier un groupdataitem au lieu d'un simple item alphanumérique, ce qui peut être utile dans des cas complexes. Un groupe de variables peut contenir plusieurs zones pour décoder des statuts détaillés ou multiples, en particulier dans des environnements à exigences strictes comme le traitement bancaire.
- La clause FILE STATUS ne déclenche pas automatiquement d'erreur ou d'interruption du programme. C'est au développeur de lire la valeur contenue dans la variable d'état et d'agir en conséquence (par exemple, afficher un message, ignorer l'erreur ou arrêter l'exécution proprement).
- Il est recommandé d'utiliser systématiquement FILE STATUS IS pour tout fichier déclaré avec SELECT. Cette bonne pratique permet d'éviter des comportements imprévus et facilite le débogage, surtout dans les systèmes de production où les fichiers peuvent être absents ou inaccessibles.
- La clause FILE STATUS IS s'intègre dans la section FILE-CONTROL de la ENVIRONMENT DIVISION. Elle fait partie de la configuration des fichiers du programme et ne doit pas être confondue avec une instruction de traitement dans la PROCEDURE DIVISION.
- Les états renvoyés sont souvent définis par le compilateur ou le système COBOL utilisé. Il est donc nécessaire de consulter la documentation propre à l'environnement d'exécution pour interpréter correctement les codes de retour, notamment pour les statuts inhabituels ou spécifiques au système.
- En combinaison avec d'autres clauses comme ORGANIZATION IS ou ACCESS MODE IS, FILE STATUS permet une gestion complète du cycle de vie d'un fichier. Cela inclut son ouverture, sa lecture, sa modification et sa fermeture, en maintenant une vigilance constante sur son intégrité et sa disponibilité.
Dernière mise à jour : Jeudi, le 28 juillet 2011