UTILISATION DES FICHIERS D'IMPRESSION EN COBOL ---------------------------------------------- FICHIERS D'IMPRESSION DECRIT EN EXTERNE --------------------------------------- MISE EN OEUVRE. --------------- 1 au niveau de l'ENVIRONMENT DIVISION on va définir une nouvelle unité 2 au niveau de la DATA DIVISION on utilisera la fonction COPY DDS 3 au niveau de la PROCEDURE DIVISION nouvel ordre WRITE |
1 ENVIRONMENT DIVISION ---------------------- Nouvelle unité FORMATFILE SELECT nom du fichier ASSIGN FORMATFILE-nom du fichier. 2 DATA DIVISION --------------- 2.1. FILE SECTION ----------------- FD nom du fichier LABEL RECORD STANDARD. 01 nom de l'enreg PIC X(198). |
2.2. WORKING-STORAGE SECTION ---------------------------- On indiquera 1 nom d'enregistrement par format du fichier d'impression et on utilisera la fonction COPY pour chacun de ces noms d'enregistrement. 01 nom de l'enregistrement1. COPY DDS-nom format1-O OF nom du fichier d'impression. 01 nom de l'enregistrement2. COPY DDS-nom format2-O OF nom du fichier d'impression. -- -- !-----------------------! AUTANT DE FOIS QU'IL Y A DE FORMATS -- -- (sauf les formats Sans zones) |
3 PROCEDURE DIVISION. --------------------- nouvel ordre WRITE Pour un format avec des zones : WRITE nom de l'enreg. FROM nom de zone FORMAT "nom du format" AT EOP phrase COBOL. Pour un format sans zone (TITRE, par exemple) WRITE nom de l'enreg. FORMAT "nom du format" AT EOP phrase COBOL. |
Un exemple : INPUT-OUTPUT SECTION. FILE-CONTROL. ************FICHIER D'IMPRESSION************** SELECT ETATANO ASSIGN TO FORMATFILE-ETATANO. ********************************************** ********************************************** DATA DIVISION. *-------------- FILE SECTION. *______________ FD ETATANO LABEL RECORD STANDARD. 01 LIGNEANO PIC X(132). *------------------------ |
WORKING-STORAGE SECTION. *------------------------ * ce PRTF contient les formats : * TITRE = titre de l'état , sans données * ASTER = ligne d'étoiles (*) sans données * FANO = données du transfert de stock en anomalie *------------------------ 01 ANOMALIE. COPY DDS-FANO-O OF ETATANO. * * le système génère 05 FANO-O * 07 les données *********************************************** PROCEDURE DIVISION. *********************************************** DEB-UT. OPEN I-O xxxx INPUT yyyy zzz OUTPUT ETATANO ETATMAJ. PERFORM PAGEANO. read fichier at end move '1' to flageof. |
perform until flageof = '1' with test before *** écriture d'une ligne ************* MOVE CORR formatbd to FANO-O. WRITE LIGNEANO FROM FANO-O FORMAT "FANO" AT EOP PERFORM PAGEANO END-WRITE WRITE LIGNEANO FORMAT "ASTER" read fichier at end move '1' to flageof end-perform. stop run. ***DEBUT PAGE ANOMALIE****************** PAGEANO. WRITE LIGNEANO FORMAT "TITRE". WRITE LIGNEANO FORMAT "ASTER". |