La méthode SQL imbriqué ne trie pas en réalité la matrice. Elle recharge plutôt celle-ci à partir de la base de données, dans l’ordre souhaité. Comme c’est un moyen courant pour obtenir des données de sous-fichiers dans l’ordre voulu, j’ai jugé intéressant de l’inclure dans ma comparaison.
La figure
SQL imbriqué

6 montre combien il est facile de construire une instruction SQL à la volée et de l’exécuter dans un programme RPG. En premier lieu, l’instruction SQL est construite dans une chaîne, et la clause spécifie la clé de tri (A en figure 6). Après quoi vous pouvez préparer cette instruction et ouvrir un curseur (en B). Enfin, vous pouvez atteindre les enregistrements provenant du fichier dans la matrice afin de pouvoir les charger dans le sous-fichier (en C).
Cette méthode ne fonctionnerait pas bien avec un sous-fichier que les utilisateurs peuvent modifier. Si les utilisateurs peuvent entrer les données dans le sous-fichier, toutes les données doivent être resauvegardées sur disque avant de les trier avec SQL, au détriment de la performance.
De plus, IBM doit encore faire le nécessaire pour que le SQL imbriqué fonctionne en RPG en format libre. Comme vous devez sortir du format libre avant de pouvoir coder l’instruction SQL, puis redémarrer le format libre, le coding se complique quelque peu. Dans cet exemple, j’ai résolu ce problème en codant toute la sous-procédure en format fixe.
Cependant c’est un inconvénient indiscutable de l’utilisation du SQL imbriqué.
Cela mis à part, le SQL imbriqué a bien fonctionné dans mes tests. Il a été facile à coder et s’est bien comporté, particulièrement lorsqu’on sait qu’il a dû revenir au disque pour lire les données !
Si vous devez charger les données à partir du disque quand vous les triez, songez à utiliser le SQL imbriqué dans vos programmes. Si les données sont déjà en mémoire, QSORT et SORTA sont préférables.
Téléchargez cette ressource

Guide de Cyber-résilience pour Microsoft 365
La violation de votre tenant M365 va au-delà d’un simple incident de cybersécurité. Elle peut entraîner une interruption opérationnelle généralisée, des perturbations commerciales et une exposition de vos données sensibles. Découvrez les méthodes et technologies pour évaluer, comparer et renforcer votre posture de sécurité Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les banques passent à l’action avec l’IA générative et le cloud
- DSI en assurance : gardien du temple ou moteur de la transformation ?
- Ransomware : persistance des cyberattaques à l’échelle mondiale
- Cybersécurité : l’IA générative rebat les cartes du cybercrime
- Le World Cyber Ranking, 1er classement mondial de la cybersécurité des entreprises
