Instruction COBOL PERFORM

BoTTom |    Changer de couleur
 
 
                           P E R F O R M 
 
 

 
 
 ############################################################################ 
 ##                                                                        ## 
 ##  L'ordre PERFORM permet de demander, à plusieurs endroits dans un      ## 
 ##  programme, l'exécution d'un traitement.                               ## 
 ##                                                                        ## 
 ##  les variables restent globales.                                       ## 
 ##                                                                        ## 
 ############################################################################ 


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00            PERFORM ECRITURE-DES-ENTETES.  0002.00 0003.00 0004.00 0005.00 0006.00        ECRITURE-DES-ENTETES.  0007.00            ADD 1 TO PAGES MOVE PAGES TO PAGES-EDIT.  0008.00            WRITE BUFFER-IMPR2 FROM EN-TETE AFTER PAGE.  0009.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0010.00            WRITE BUFFER-IMPR2 FROM EN-TETE-2.  0011.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0012.00            WRITE BUFFER-IMPR2 FROM SEPARATEUR.   ############################################################################   ##                                                                        ##   ##  L'ordre PERFORM permet de demander, à plusieurs endroits dans un      ##   ##  programme, l'exécution d'un traitement.                               ##   ##                                                                        ##   ##  Lorsque celui-ci sera terminé, l'exécution reprendra à l'instruction  ##   ##  se trouvant derrière l'ordre PERFORM.                                 ##   ############################################################################   


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00            PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES.  0002.00 ou THRU 0003.00 0004.00 0005.00 0006.00        ECRITURE-DES-ENTETES.  0007.00            ADD 1 TO PAGES MOVE PAGES TO PAGES-EDIT.  0008.00            WRITE BUFFER-IMPR2 FROM EN-TETE AFTER PAGE.  0009.00        ECRITURE-DES-ENTETES-2.                   0010.00            WRITE BUFFER-IMPR2 FROM EN-TETE-2.  0011.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0012.00            WRITE BUFFER-IMPR2 FROM SEPARATEUR.  0013.00        FIN-ECRITURE-ENTETES. EXIT.   ############################################################################   ##  Si plusieurs paragraphes constituent ce traitement, vous devez        ##   ##  compléter votre instruction PERFORM par cette information.            ##   ##                                                                        ##   ##  Le paragraphe de fin indiqué doit être constitué d'une seule          ##   ##  instruction : EXIT.                                                   ##   ############################################################################   


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00            PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES   0002.00                                         10 TIMES.  0003.00                                         ^  0004.00     Peut être aussi une variable -------|  0005.00 0006.00        ECRITURE-DES-ENTETES.  0007.00            ADD 1 TO PAGES MOVE PAGES TO PAGES-EDIT.  0008.00            WRITE BUFFER-IMPR2 FROM EN-TETE AFTER PAGE.  0009.00        ECRITURE-DES-ENTETES-2.                   0010.00            WRITE BUFFER-IMPR2 FROM EN-TETE-2.  0011.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0012.00            WRITE BUFFER-IMPR2 FROM SEPARATEUR.  0013.00        FIN-ECRITURE-ENTETES. EXIT.   ############################################################################   ##                                                                        ##   ##  Si un traitement ou plusieurs sont à exécuter plusieurs fois, vous    ##   ##  pouvez compléter l'ordre PERFORM par celui-ci.                        ##   ##                                                                        ##   ##    ##   ############################################################################   


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00            PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES   0002.00                                         UNTIL COMPTEUR > 10.  0003.00                                               <------------->  0004.00                                                  Condition    0005.00 0006.00        ECRITURE-DES-ENTETES.  0007.00            ADD 1 TO PAGES MOVE PAGES TO PAGES-EDIT.  0008.00            WRITE BUFFER-IMPR2 FROM EN-TETE AFTER PAGE.  0009.00        ECRITURE-DES-ENTETES-2.                   0010.00            WRITE BUFFER-IMPR2 FROM EN-TETE-2.  0011.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0012.00            WRITE BUFFER-IMPR2 FROM SEPARATEUR.  0013.00        FIN-ECRITURE-ENTETES. EXIT.   ############################################################################   ##                                                                        ##   ##  Si la répétition de ce traitement n'est pas déterminé par une valeur  ##   ##  donnée, mais par une condition, l'instruction PERFORM est à inscrire  ##   ##  de la manière suivante.                                               ##   ##    ##   ############################################################################   


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00            PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES   0002.00                                         UNTIL COMPTEUR > 10.  0003.00                                          WITH TEST BEFORE  0004.00                                                 ou AFTER  0005.00 0006.00        ECRITURE-DES-ENTETES.  0007.00            ADD 1 TO PAGES MOVE PAGES TO PAGES-EDIT.  0008.00            WRITE BUFFER-IMPR2 FROM EN-TETE AFTER PAGE.  0009.00        ECRITURE-DES-ENTETES-2.                   0010.00            WRITE BUFFER-IMPR2 FROM EN-TETE-2.  0011.00            WRITE BUFFER-IMPR2 FROM ASTERISQUES.  0012.00            WRITE BUFFER-IMPR2 FROM SEPARATEUR.  0013.00        FIN-ECRITURE-ENTETES. EXIT.   ############################################################################   ##                                                                        ##   ##  Vous pouvez demander à ce que le test ce fasse avant                  ##   ##   l'entrée dans la boucle (c'est l'option par défaut)                  ##   ##   OU bien apres l'exécution (au moins une fois)                        ##   ##                                                                        ##   ############################################################################   


|    Changer de couleur
        ****DEBUT DES DONNEES****
0001.00       PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES  
0002.00               VARYING INDICE FROM  VALEUR-INITIALE BY  INCREMENT  0003.00                                     UNTIL INDICE NOT < LIMITE.       ############################################################################   ##  Il existe une possibilité, très pratique lors de l'utilisation de     ##   ##  table(s) dans des calculs, qui consiste à demander la gestion         ##   ##  automatique d'une variable numérique.                                 ##   ##                                                                        ##   ############################################################################   ou même
0004.00       PERFORM ECRITURE-DES-ENTETES THROUGH FIN-ECRITURE-ENTETES   0005.00               VARYING INDICE1 FROM VALEUR1 BY INCREMENT  0006.00                                     UNTIL INDICE1 NOT < LIMITE1 0007.00 AFTER INDICE2 FROm VALEUR2 BY autre-INCREMENT
0008.00 UNTIL INDICE2 not < LIMITE2. 





©AF400