OUTPUT |
Sortie |
|---|---|
| Cobol | |
Syntaxe
|
MERGE filename [ON] (ASCENDING|DESCENDING) [KEY] qualifieddataname [[COLLATING] SEQUENCE [IS] alphabetname] USING filename OUTPUT PROCEDURE [IS] procedurename [(THROUGH|THRU) procedurename] |
Paramètres
| Nom | Description |
|---|---|
| filename | Ce paramètre permet d'indiquer le nom du fichier à fusionner dans l'opération MERGE. Il désigne le fichier logique contenant les enregistrements à trier. |
| qualifieddataname | Ce paramètre permet d'indiquer le nom qualifié de la clef de tri utilisée pour fusionner les enregistrements, en ordre ascendant ou descendant. |
| alphabetname | Ce paramètre permet de spécifier un nom d'alphabet utilisé pour ordonner les données selon une séquence de tri définie, souvent locale ou personnalisée. |
| USING filename | Ce paramètre permet d'indiquer un ou plusieurs fichiers d'entrée contenant les enregistrements à fusionner. Ces fichiers doivent être compatibles avec le format défini. |
| OUTPUT PROCEDURE | Ce paramètre permet de spécifier qu'une procédure sera exécutée pour gérer la sortie des enregistrements triés ou fusionnés. |
| procedurename | Ce paramètre permet d'indiquer le nom de la procédure appelée après le tri ou la fusion, pour traiter les résultats. Elle peut être une simple routine de traitement. |
| THROUGH procedurename / THRU procedurename | Ce paramètre permet d'étendre la portée de la procédure de sortie, en indiquant un second paragraphe ou procédure jusqu'où le traitement doit s'exécuter. |
Description
Cette instruction permet d'indiquer le nom d'une procédure sélectionnant ou modifiant la sortie d'enregistrement d'une opération de tri.
Remarques
- L'instruction OUTPUT PROCEDURE permet un traitement post-tri personnalisé : Elle intervient après l'opération de tri ou de fusion effectuée par MERGE, permettant d'exécuter des paragraphes COBOL spécifiques pour manipuler ou filtrer les enregistrements avant qu'ils ne soient enregistrés. Cette souplesse est très utile dans les systèmes nécessitant un traitement métier spécifique après un tri.
- Elle complète la clause MERGE en offrant un contrôle précis sur la sortie : Alors que MERGE se charge de fusionner les fichiers selon une clef et une séquence, OUTPUT PROCEDURE assure que les enregistrements triés sont ensuite passés à une procédure utilisateur. Cela évite d'avoir à réécrire manuellement une logique de tri dans le code métier.
- La procédure spécifiée doit être bien structurée pour recevoir les enregistrements : Le programmeur doit s'assurer que la procédure définie dans OUTPUT PROCEDURE est capable de lire séquentiellement les données triées, souvent via des RETURN et AT END. Toute erreur de logique dans cette procédure pourrait entraîner des pertes de données ou des sorties incomplètes.
- L'utilisation de THROUGH ou THRU permet de définir un bloc d'exécution : Le mot clef THROUGH (ou son abréviation THRU) sert à indiquer un intervalle de paragraphes à exécuter, du début à la fin. Cela offre une granularité plus fine dans la gestion de la sortie, utile lorsque plusieurs traitements consécutifs doivent s'enchaîner après le tri.
- La clause OUTPUT n'est pas obligatoire mais très utile : Bien que le tri puisse être effectué sans cette clause, son usage devient essentiel lorsque l'on souhaite post-traiter les enregistrements triés avant de les écrire ailleurs ou de les afficher. Cela en fait un outil puissant pour les chaînes de traitement automatisées.
- La compatibilité avec les autres fichiers doit être rigoureusement vérifiée : Les fichiers listés dans la clause USING doivent être définis dans le FILE-CONTROL et avoir des formats compatibles. Le fichier de sortie manipulé dans OUTPUT PROCEDURE doit aussi respecter les règles du tri défini, notamment en ce qui concerne la clef.
- OUTPUT PROCEDURE est utile pour gérer des formats d'enregistrements spécifiques : Lorsqu'un fichier trié contient différents types d'enregistrements (par exemple, en-têtes, lignes de détail, totaux), la procédure de sortie peut permettre de traiter chaque type différemment, en injectant des règles de gestion adaptées à chaque format.
- Cette clause permet d'optimiser la performance en centralisant la logique métier : Au lieu de lire un fichier trié séparément dans une nouvelle routine, OUTPUT PROCEDURE intègre le traitement immédiatement après le tri, ce qui réduit les lectures redondantes et améliore la cohérence du programme. Cela contribue aussi à une meilleure maintenance du code COBOL.
Dernière mise à jour : Jeudi, le 28 juillet 2011