END-OF-PAGE |
Fin de page |
|---|---|
| Cobol | |
Syntaxe
|
WRITE recordname [FROM identifier1] [(BEFORE|AFTER) ADVANCING (identifier2 [LINE]|integer [LINES]|PAGE) [[AT] END-OF-PAGE statement-list][NOT [AT] END-OF-PAGE statement-list] |
|
WRITE recordname [FROM identifier1] [; INVALID KEY imperativestatement] [[AT] END-OF-PAGE statement-list][NOT [AT] END-OF-PAGE statement-list] |
Paramètres
| Nom | Description |
|---|---|
| recordname | Ce paramètre permet d'indiquer le nom de l'enregistrement à écrire avec l'instruction WRITE. |
| identifier1 | Ce paramètre permet de désigner une zone mémoire contenant les données à écrire dans l'enregistrement spécifié. |
| BEFORE / AFTER | Ce paramètre permet de spécifier si l'avance doit être effectuée avant ou après l'écriture de l'enregistrement. |
| ADVANCING | Ce paramètre permet d'indiquer que le curseur doit se déplacer dans le flux de sortie (par lignes ou pages). |
| identifier2 | Ce paramètre permet de désigner une variable contenant le nombre de lignes à avancer ou le nom de la position cible. |
| integer | Ce paramètre permet d'indiquer directement un nombre fixe de lignes à avancer. |
| PAGE | Ce paramètre permet d'indiquer que l'avance doit se faire jusqu'à la page suivante. |
| END-OF-PAGE | Ce paramètre permet de spécifier les actions à exécuter si la fin logique d'une page est atteinte lors de l'écriture. |
| NOT END-OF-PAGE | Ce paramètre permet de spécifier une liste d'instructions à exécuter si la fin de page n'est pas atteinte. |
| INVALID KEY | Ce paramètre permet d'indiquer une action spécifique à réaliser si une erreur de clef survient pendant l'instruction WRITE (en cas de fichier indexé). |
| imperativestatement | Ce paramètre permet d'indiquer l'action impérative à exécuter dans les cas d'erreur ou de condition spéciale (comme une erreur de clef ou une fin de page). |
Description
Cette instruction permet d'indiquer la fin logique de la page d'impression associé avec l'exécution de l'instruction WRITE.
Remarques
- L'instruction END-OF-PAGE est liée à la gestion des sauts de page dans les impressions. Elle permet au programmeur de définir des actions spécifiques à exécuter lorsque la fin logique d'une page est atteinte. Cela est particulièrement utile dans les applications de reporting ou de facturation où le formatage d'impression est crucial.
- L'association de WRITE avec END-OF-PAGE renforce la souplesse du contrôle de sortie. En fonction du moment où le saut de page est détecté (avant ou après l'écriture), l'instruction permet de déclencher une série d'instructions conditionnelles pour adapter la mise en page ou afficher des en-têtes.
- Le bloc AT END-OF-PAGE agit comme une clause conditionnelle dépendant du contexte de pagination. Il peut inclure des instructions comme l'impression d'un entête, d'un pied de page, ou même des sauts supplémentaires, ce qui améliore la lisibilité et la structuration des documents imprimés.
- L'alternative NOT AT END-OF-PAGE complète la logique conditionnelle. Elle permet d'exécuter des instructions spécifiques lorsque l'on n'atteint pas encore la fin de page. Cette dualité permet un traitement très précis de l'affichage conditionnel selon le contexte d'impression.
- L'usage de ADVANCING PAGE permet d'imposer un saut automatique vers une nouvelle page. Cela est indispensable lorsqu'on veut forcer le changement de page à un moment précis, sans dépendre uniquement du remplissage automatique du papier ou du tampon de sortie.
- L'option BEFORE ou AFTER ADVANCING permet de choisir le moment du saut. Le saut peut être effectué avant ou après que l'enregistrement soit imprimé, ce qui est utile pour éviter d'écrire du contenu en dehors de la zone visible ou pour insérer des titres avant un nouveau bloc de données.
- Les paramètres comme identifier1, identifier2 ou integer offrent un contrôle dynamique. L'utilisation de variables permet de gérer des sauts conditionnels, par exemple en fonction de la taille des blocs ou du nombre d'enregistrements restants à imprimer.
- Combinée à INVALID KEY, l'instruction END-OF-PAGE participe à la gestion robuste des erreurs. En cas de tentative d'écriture incorrecte (par exemple, fichier mal ouvert ou accès interdit), la clause INVALID KEY permet de rediriger le traitement et d'éviter une interruption brutale du programme.
Dernière mise à jour : Jeudi, le 28 juillet 2011