EMPLOI DU TRI COBOL ------------------- - Fonction : Permettre le tri d'un fichier dans l'ordre croissant ou décroissant avec la possibilité de définir des traitements particuliers avant ou après le tri. Il est permis d'effectuer plusieurs tris dans un même programme. - Organisation : Les trois opérations suivantes se déroulent successivement : * Recopie des enregistrements à trier sur un fichier de tri. * Tri des enregistrements. * Lecture des enregistrements triés. Ces opérations sont commandées par l'instruction SORT. Celle-ci exige la définition d'un fichier de tri. L'expression " fichier de tri " désigne un ensemble d'enregistrements à trier par une instruction SORT. |
A) ENVIRONMEMT DIVISION -------------------- Il faut associer un périphérique à chaque fichier de tri. Tout fichier de tri défini dans la DATA DIVISION doit faire objet d'une clause SELECT dans le paragraphe FILE-CONTROL de l'INPUT- OUTPUT SECTION de l'ENVIRONMEMT DIVISION. ex : SELECT TRIFIC ASSIGN TO DISK. B) DATA DIVISION ------------- Tout fichier de tri doit être défini par l'intermédiaire d'une description de fichier de tri. Une description de fichier de tri est semblable à la description de tout fichier avec cependant deux modifications : * L'indicateur de niveau est SD (SORT DESCRIPTION) au lieu de FD (FILE DESCRIPTION). * La seule clause permise est DATA RECORDS. ex : SD FICTRI DATA RECORDS ENRTRI. 01 ENRTRI. |
02 T-CPTE PIC 9(4). 02 T-MONT PIC 9(6)V99. 02 .... SD spécifié en colonnes 8 et 9 de la feuille COBOL. C) PROCEDURE DIVISION ------------------ Instruction SORT : * Fonction : Créer le fichier intermédiaire de tri , le trier et délivrer les enregistrements triés. * Organisation : - L'écriture sur le fichier de tri des enregistrements est faite : . soit directement à partir du fichier. . soit par l'intermédiaire d'une procédure d'entrée. - La lecture dans le fichier de tri des enregistrements est faite : . soit directement avec transfert dans un fichier. . soit par l'intermédiaire d'une procédure de sortie. - Le résultat du tri est lié au mode de représentation interne des caractères. |