DELETE |
Supprimer |
|---|---|
| Cobol | |
Syntaxe
| DELETE filename RECORD [;INVALID KEY imperativestatement] |
Paramètres
| Nom | Description |
|---|---|
| filename | Ce paramètre permet d'indiquer le nom logique du fichier ou de l'unité d'entrée/sortie à partir duquel l'enregistrement sera supprimé. Ce fichier doit avoir été ouvert en mode approprié (généralement en mode "I/O" ou "Output"). Le nom de ce fichier correspond à celui qui a été défini dans la FILE SECTION de la DATA DIVISION du programme COBOL. |
| RECORD | Ce paramètre permet d'indiquer que l'on souhaite supprimer un enregistrement particulier dans le fichier. L'enregistrement est généralement localisé au niveau du pointeur de fichier ou selon des critères précédemment définis dans le programme. Ce mot clef indique que la suppression concerne un enregistrement unique, et non un fichier ou une séquence entière de données. |
| INVALID KEY | Ce paramètre permet d'indiquer une condition permettant de gérer les situations où la tentative de suppression échoue, généralement lorsque le fichier ou l'enregistrement ciblé n'existe pas ou a déjà été supprimé. Si un tel échec se produit, le programme exécutera l'instruction spécifiée après INVALID KEY. Cela peut être une gestion d'erreur, comme afficher un message ou prendre une autre action pour traiter l'échec. |
| imperativestatement | Ce paramètre permet d'indiquer l'instruction ou le groupe d'instructions étant exécuté(e) lorsque la condition INVALID KEY est rencontrée. Cela peut être une action de récupération ou un message d'erreur pour informer l'utilisateur que la suppression n'a pas pu être effectuée. |
Description
Cette instruction permet d'enlever un enregistrement d'une masse d'entreposage d'un fichier.
Remarques
- Fichier cible et mode d'ouverture : Le paramètre filename désigne le nom logique du fichier dans lequel l'enregistrement sera supprimé. Ce fichier doit avoir été ouvert préalablement en mode adéquat, typiquement en mode I/O (entrée/sortie) ou Output pour permettre l'écriture et la suppression des enregistrements. Il est essentiel que le fichier ait été correctement lié dans la FILE SECTION du programme COBOL, autrement la tentative de suppression échouera.
- Sélection d'un enregistrement spécifique : Le mot clef RECORD précise que l'on souhaite supprimer un enregistrement particulier du fichier, et non tout le fichier ou une séquence d'enregistrements. Cela implique qu'un enregistrement spécifique a été sélectionné ou localisé via un READ ou un START avant d'effectuer la suppression. Ce paramètre joue un rôle crucial dans la gestion d'un fichier d'enregistrements individuels, comme une base de données ou un fichier séquentiel.
- Gestion des erreurs via INVALID KEY : La clause INVALID KEY est un mécanisme de gestion d'erreur très utile en COBOL. Elle est activée si la tentative de suppression échoue, généralement parce que l'enregistrement ciblé n'existe plus ou n'a jamais été trouvé dans le fichier. C'est une façon d'éviter que le programme se termine de manière anormale, en permettant à l'utilisateur de gérer ces situations d'erreur.
- Actions en cas d'erreur avec imperativestatement : Lorsqu'un échec de suppression est détecté (grâce à INVALID KEY), l'instruction suivante spécifiée dans imperativestatement sera exécutée. Cela peut inclure un message d'erreur informant l'utilisateur que l'enregistrement n'a pas pu être supprimé ou une autre action corrective pour reprendre le contrôle du programme.
- Utilisation dans les fichiers séquentiels : L'instruction DELETE est souvent utilisée dans le contexte des fichiers séquentiels ou indexés, où les enregistrements doivent être supprimés individuellement. Dans ces types de fichiers, la suppression d'un enregistrement modifie la structure des données et peut affecter la séquence des enregistrements restants.
- Dépendance sur les mécanismes d'accès aux fichiers : Il est important de noter que la syntaxe de l'instruction DELETE dépend fortement du type de fichier utilisé. Par exemple, un fichier séquentiel pourrait ne pas avoir de possibilité de "suppression directe" mais pourrait nécessiter un réécriture du fichier sans l'enregistrement ciblé. La gestion de ces types de fichiers doit être soigneusement planifiée.
- Mise à jour des index et autres structures de données : Lors de la suppression d'un enregistrement d'un fichier indexé, il est important que l'instruction DELETE mette à jour correctement les index pour maintenir l'intégrité des données. Cela garantit que les accès futurs au fichier via ces index ne conduiront pas à des erreurs ou des incohérences.
- Réutilisation de la position du fichier après suppression : Après la suppression d'un enregistrement, la position du pointeur dans le fichier peut changer, selon la manière dont le fichier est géré (séquentiel, indexé,...). Si plusieurs suppressions sont effectuées, il est crucial de vérifier si le programme nécessite un repositionnement du pointeur ou si des actions supplémentaires sont nécessaires pour garantir l'intégrité du fichier et du processus de suppression.
Dernière mise à jour : Jeudi, le 28 juillet 2011