SORT |
Tri |
---|---|
Cobol |
Syntaxe
SORT sdfilename ON ASCENDING KEY sdfieldname USING fdinputfilename GIVING fdoutputfilename |
Paramètres
Nom | Description |
---|---|
sdfilename | Ce paramètre permet d'indiquer le nom logique du fichier de tri défini dans la SD (Sort Description) Section. Il agit comme un intermédiaire temporaire utilisé uniquement pendant le processus de tri. Ce fichier n'existe pas physiquement, mais sert à décrire la structure des enregistrements triés. |
sdfieldname | Ce paramètre permet d'indiquer le ou les champs à utiliser comme clé(s) de tri. Ici, sdfieldname est le nom du champ défini dans la structure du fichier de tri (sdfilename). L'option ASCENDING signifie que le tri se fera par ordre croissant. On peut aussi utiliser DESCENDING si l'on souhaite un tri décroissant. Plusieurs champs peuvent être spécifiés pour un tri hiérarchisé. |
fdinputfilename | Ce paramètre permet d'indiquer le nom du fichier source contenant les données à trier. Ce fichier doit être défini dans la FILE SECTION avec un label FD (File Description). Les enregistrements sont lus à partir de ce fichier avant d'être triés selon la clé définie précédemment. |
fdoutputfilename | Ce paramètre permet d'indiquer le fichier de sortie dans lequel seront écrits les enregistrements triés. Comme USING, il s'agit d'un fichier défini dans la FILE SECTION avec un FD. Le contenu final sera disponible dans ce fichier, dans l'ordre déterminé par le tri. |
Description
Cette instruction permet de trier un fichier.
Remarques
- L'instruction SORT centralise le processus de tri sans que le programmeur ait à coder manuellement un algorithme de tri. Elle repose sur une structure SD (Sort Description), ce qui rend le tri puissant et flexible. C'est un outil très utile pour organiser des données en amont d'un traitement ou d'un rapport.
- Le fichier sdfilename n'est pas un fichier physique, mais un fichier logique temporaire. Il sert uniquement pendant la durée du tri. Cela permet de traiter les données sans avoir à créer manuellement une table intermédiaire, ce qui simplifie la gestion des fichiers.
- La clause ON ASCENDING KEY permet de définir les critères de tri de manière claire et ordonnée. Il est aussi possible d'utiliser plusieurs champs de tri pour effectuer un tri multi-niveaux (par exemple, trier d'abord par département, puis par nom). Cela améliore considérablement la précision du classement.
- La direction du tri peut être modifiée facilement en remplaçant ASCENDING par DESCENDING. Cela donne une grande souplesse au tri, sans avoir à reprogrammer toute une logique de comparaison. C'est utile dans les rapports ou listes classés par ordre décroissant (par exemple, top ventes).
- Le fichier d'entrée (fdinputfilename) contient les données brutes à trier et doit être correctement défini avec un FD. La qualité du tri dépend de la cohérence entre la structure du fichier d'entrée et celle du fichier de tri. Une mauvaise correspondance peut entraîner des résultats inattendus ou des erreurs à l'exécution.
- Le fichier de sortie (fdoutputfilename) est un fichier physique qui recevra les données triées. Ce fichier peut ensuite être lu pour des traitements ultérieurs, des impressions ou des exports. Cela permet de séparer clairement le traitement de tri des étapes suivantes.
- L'instruction SORT permet de déléguer un traitement potentiellement coûteux à un processus optimisé par le compilateur ou le système. En effet, le tri est géré de façon interne, souvent plus rapide que si le développeur écrivait son propre tri en COBOL. C'est un avantage en termes de performance.
- Il est possible de combiner l'instruction SORT avec des paragraphes de lecture et d'écriture personnalisés. Par exemple, on peut contrôler précisément ce qui est lu avec INPUT PROCEDURE et ce qui est écrit avec OUTPUT PROCEDURE. Cela permet un traitement avancé tout en gardant le tri centralisé.
Dernière mise à jour : Jeudi, le 28 juillet 2011