GESTION DE LA FIN DE PAGE ------------------------- Il existe une autre façon de gérer la fin de page en COBOL. Pour cela on utilise une zone qui est créée automatiquement par le sytème pour chaque fichier utilisé. Cette zone contient en position 144 et 145 le numéro en BINAIRE de la dernière ligne écrite pour les fichiers FORMATFILE. Il suffit de récupérer ce numéro de ligne et de le comparer à une constante qui représente la ligne de dépassement de capacité et si le numéro de ligne est supérieur ou égal à la constante il faut sauter une page. MISE EN OEUVRE: --------------- |
1. Déclarer l'utilisation de la zone d'information sur les fichiers. Dans l'ENVIRONMENT DIVISION dans le paragraphe SPECIALS-NAMES vous indiquerez I-O-FEEDBACK IS nom. 2. Définir la zone d'information Dans la DATA DIVISION, WORKING-STORAGE SECTION, vous définirez la zone d'information et aussi la zone qui contient le numéro de ligne. 01 nom de zone (celle qui contiendra les informations). 05 FILLER PIC X(144). 05 nom de zone (qui contiendra le numéro de ligne) PIC S99 COMP-4. ATTENTION cette zone est binaire ! Pour faciliter le traitement on pourra définir une zone qui contiendra la ligne de dépassement. 77 nom de zone (qui contient le dépassement) PIC S99 COMP-4 VALUE ligne . |
d'overflow 3 Traitement En PROCEDURE DIVISION il ne vous restera plus, avant d'écrire une ligne, qu'à récupérer le numéro de ligne écrit et à le comparer avec la ligne d'overflow. Récupération ACCEPT nom de zone-WS FROM nom (rattaché à I-O-FEEDBACK) FOR nom du . fichier puis comparaison. |