END-WRITE |
Fin d'écriture |
|---|---|
| Cobol | |
Syntaxe
|
WRITE recordname [FROM identifier1] [(BEFORE|AFTER) ADVANCING (identifier2 [LINE]|integer [LINES]|PAGE) END-WRITE |
|
WRITE recordname [FROM identifier1] [; INVALID KEY imperativestatement] END-WRITE |
Paramètres
| Nom | Description |
|---|---|
| recordname | Ce paramètre permet d'indiquer le nom de l'enregistrement que l'on souhaite écrire dans un fichier ou sur un périphérique de sortie. C'est le nom du groupe de données ou de la structure qui contient les informations à écrire. Ce paramètre est obligatoire dans l'instruction WRITE. |
| identifier1 | Ce paramètre permet d'indiquer le nom d'une variable ou d'une expression contenant les données à écrire. Si ce paramètre est utilisé, il indique que l'enregistrement à écrire doit provenir de cette variable ou expression, autrement l'enregistrement spécifié par recordname est utilisé directement. |
| BEFORE | Ce paramètre permet d'indiquer qu'il faut déplacer le curseur avant l'écriture de l'enregistrement. |
| AFTER | Ce paramètre permet d'indiquer qu'il faut déplacer le curseur après l'écriture de l'enregistrement. |
| identifier2 | Ce paramètre permet d'indiquer dynamiquement un nombre de lignes (avec identifier2) à avancer. |
| integer | Ce paramètre permet d'indiquer un nombre fixe de lignes (integer) à avancer. |
| PAGE | Ce paramètre permet d'indiquer si cette option est utilisée, cela permet de passer à la page suivante. |
| imperativestatement | Ce paramètre permet d'indiquer une action à effectuer si l'instruction WRITE échoue (par exemple, si une erreur se produit en essayant d'écrire dans un fichier). Si l'instruction WRITE ne peut pas être effectuée correctement, l'instruction décrite après INVALID KEY est exécutée pour gérer l'erreur. |
Description
Cette instruction permet d'indiquer la fin d'une instruction WRITE.
Remarques
- Structure de fin d'écriture : L'instruction END-WRITE marque la fin d'une opération d'écriture dans un fichier ou un périphérique de sortie. Elle est souvent utilisée en combinaison avec l'instruction WRITE pour délimiter clairement la fin de l'écriture d'un enregistrement. Cette structure garantit que l'opération d'écriture est correctement clôturée, ce qui aide à éviter des erreurs de logique dans le flux de données.
- Écriture conditionnelle avec INVALID KEY : Le paramètre INVALID KEY dans l'instruction WRITE permet de gérer les erreurs d'écriture. Si l'instruction d'écriture échoue (par exemple, si le fichier est plein ou s'il y a un problème de permission), un ensemble d'instructions spécifié après INVALID KEY est exécuté. Cela permet d'assurer un contrôle d'erreur et d'éviter les plantages du programme en cas de problème d'écriture.
- Avancement de ligne ou de page : L'option (BEFORE|AFTER) ADVANCING permet de contrôler l'avancement du curseur avant ou après l'écriture dans le fichier. Si on choisit AFTER, le programme se déplace après l'écriture de l'enregistrement. Cela est particulièrement utile dans le cas de rapports ou de fichiers formatés où il est important de définir précisément la position du curseur avant ou après chaque écriture.
- Paramètre identifier1 et FROM : Le paramètre FROM identifier1 dans l'instruction WRITE permet de spécifier une variable ou un enregistrement à partir duquel les données doivent être écrites. Cela donne au programmeur plus de flexibilité, car il peut choisir de copier les données depuis une autre source que celle définie dans le recordname. Cela peut être utile lorsqu'il est nécessaire de manipuler ou de prétraiter les données avant de les écrire.
- Décalage de page avec PAGE : L'option PAGE dans le paramètre d'avancement permet de commencer une nouvelle page pour chaque enregistrement écrit. Cela est particulièrement utile pour la génération de rapports ou de documents qui nécessitent un formatage précis avec des sauts de page réguliers.
- Clarté dans la gestion des erreurs : L'utilisation de END-WRITE après la commande WRITE clarifie l'intention du programme en indiquant explicitement que l'opération d'écriture est terminée. Cela peut être important pour des raisons de lisibilité, en particulier dans les programmes complexes où plusieurs étapes de traitement de données sont enchaînées.
- Impact sur les fichiers séquentiels : Dans le contexte des fichiers séquentiels ou des fichiers de rapports, END-WRITE aide à organiser le processus d'écriture et de mise à jour des données. L'instruction permet de garantir qu'un enregistrement est effectivement écrit dans le fichier avant de passer à la suite du traitement, ce qui est crucial pour la cohérence des données.
- Utilisation dans des environnements multi-programmes : Lorsque plusieurs programmes ou modules interagissent avec un fichier ou une ressource partagée, l'utilisation de END-WRITE est essentielle pour s'assurer que l'écriture est terminée correctement avant que d'autres opérations (comme des lectures ou des écritures supplémentaires) ne soient effectuées. Cela permet de coordonner les processus et d'éviter des conflits dans l'accès aux fichiers.
Dernière mise à jour : Jeudi, le 28 juillet 2011