La mouture SQL d’IBM permet « d’envelopper » des programmes externes en RPG et Cobol dans des procédures stockées. Je sais ce que vous pensez : « Nous n’utilisons pas SQL ». Et bien, c’est peut-être le moment d’ y songer. Les procédures stockées SQL résolvent quelques-unes des difficultés les
Procédures stockées
plus courantes avec une interface Web:
1. SQL traite la conversion d’EBCDIC en ASCII (ou, comme je l’appelle en Java, de EBCDIC en objet) pour l’utiliser avec des langages iSeries non traditionnels (comme Java, Visual Basic et C++).
2. Vous pouvez bénéficier de pools de connexion facilement disponibles, capables d’améliorer spectaculairement la performance.
3. Les données renvoyées sont retransmises par ce qu’on appelle un jeu de résultats, facilitant le traitement de grands ensembles de données et encapsulant la définition de la s t ructure de renvoi comme métadonnées SQL.
4. L’ajout des champs de jeux de résultats ou la longueur accrue des champs n’affectent pas le programme client.
Il est facile de créer une procédure stockée SQL comme enveloppe du programme RPG. L’instruction SQL suivante crée une procédure stockée qui enveloppe le programme MAST002 RPG, lequel a des paramètres pour un numéro packé de neuf chiffres, un numéro zoné de quatre chiffres et un champ de 50 caractères :
CREATE PROCEDURE
MYLIB/GETPOLICY ( IN social DECIMAL (9, 0),
OUT errorCode NUMERIC (4, 0),
OUT errorDescr CHAR ( 50 ) )
LANGUAGE RPG
NOT DETERMINISTIC
NO SQL
PARAMETER STYLE GENERAL
EXTERNAL NAME MYLIB/MAST002
A noter que vous pouvez exécuter l’instruction create procedure via l’interface SQL iSeries, la commande RUNSQLSTMT, le client WebSphere Development Studio (WDSc), ou iSeries Navigator. (Pour plus d’informations sur la création de procédures stockées, voir l’IBM Redbook Stored Procedures, Triggers and User Defined Functions on DB2 Universal Database for iSeries.)
Comme je l’ai déjà dit, le programmeur d’applications Web a besoin d’une API bien définie, simple d’emploi, qui renvoie une chose ou un ensemble de choses – de manière cohérente. Qu’est-ce que j’entends par « une chose » ? J’entends soit une structure de données, soit un jeu ordinal de cette structure de données où la structure en question contient généralement l’état d’une entité de gestion spécifique. Avec des procédures stockées, vous pouvez renvoyer cette chose de deux manières :
1. Passer la « chose » en retour comme une structure de données dans une variable de sortie.
2. Renvoyer la « chose » explicitement comme un jeu de résultats SQL.
Quand vous utilisez la première option et que vous renvoyez un jeu, il faut déterminer statistiquement la taille de la longueur variable de sortie pour qu’elle soit aussi longue que le nombre maximum d’éléments pouvant être retourné, multiplié par la longueur d’un élément de ce jeu. En revanche, un jeu de résultats SQL peut renvoyer un nombre quelconque d’éléments. Je vous entends encore : « Mais mon programme RPG n’utilise pas SQL ». Voici un truc simple : vous pouvez associer une structure de données à occurrences multiples à un groupe SQL, en une instruction :
C/EXEC SQL
C+ SET RESULT SETS ARRAY:multDS
C+ FOR:recCount ROWS
C/END-EXEC
Les mots précédés du signe deux-points (multDS et rec Count) sont des variables qui référencent la structure de données à occurrences multiples et le nombre d’éléments DS viables qui doivent être renvoyés dans le jeu de résultats. A noter qu’il vous faudra changer le type de source de RPG en SQLRPG ou SQLRPGLE et compiler avec la commande appropriée. Et aussi créer la procédure stockée sans l’option NO SQL (afin que la procédure stockée sache qu’il y a SQL dans le programme RPG).
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Activer la mise en veille prolongée dans Windows 10
- Afficher les icônes cachées dans la barre de notification
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Communication d’entreprise à l’ère de l’IA : fragmentation, Shadow AI et perte de contrôle
- Pourquoi les outils de sécurité ne suffisent plus face aux angles morts de la détection
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- L’analytique prédictive au service de la décarbonation en France
Articles les + lus
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
Les coûts cachés des merge requests générées par l’IA
Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
À la une de la chaîne Tech
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
- Les coûts cachés des merge requests générées par l’IA
- Femmes et métiers de la tech : une attractivité réelle freinée par des stéréotypes persistants
