La meilleure manière d'exécuter l'instruction Create Procedure (figure 1) consiste à la sauvegarder dans un membre de fichier source et à utiliser une commande RunSQLStm (Run SQL Statements) semblable à celle de la figure 8. Bien entendu, on utilise ses propres noms de fichier et de bibliothèque source pour le
Exécution de l’instruction Create Procedure
paramètre SrcFile.
Pour
illustrer le code SPL portable, j’ai utilisé la convention de nomination SQL
pour cet exemple, de sorte que la commande dans la figure 8 inclut les paramètres
Naming(*SQL), DftRdbCol(AppDta), UsrPrf(*User) et DynUsrPrf(*User). Avec le système
de noms SQL, les noms de tables non qualifiés sont implicitement qualifiés par
la collection (bibliothèque) indiquée dans le paramètre DtfRdbCol. Il faut
utiliser n’importe quelle bibliothèque contenant les tables et autres objets
utilisés dans la procédure cataloguée. Si l’on n’inclut pas le paramètre
DftRdbCol, les noms de tables non qualifiés sont implicitement qualifiés par
l’ID d’autorisation, qui est liée au profil utilisateur et, généralement,
ce n’est pas une bonne idée. De plus, avec la convention de nomination SQL,
le fonctionnement par défaut laisse la procédure cataloguée s’exécuter
sous l’autorité adoptée par le propriétaire de la procédure (c’est-à -dire
un objet programme). J’ai indiqué UsrPrf(*User) et DynUsrPrf(*User) pour que
la procédure s’exécute sous le profil utilisateur, un procédé classique
pour de nombreux programmes d’application AS/400. Dans les cas où l’on
souhaite qu’un programme adopte des droits, il faut utiliser UsrPrf(*Owner) et
DynUsrPrf(*Owner).
On
peut utiliser le paramètre Commit pour indiquer un niveau d’isolation
(c’est-à -dire contrôle d’activation) si l’on ne veut pas la valeur par défaut
*CHG. Pour l’analyse des erreurs et le débogage, il faut inclure le paramètre
DbgView.
Pour
utiliser SPL, il faut installer à la fois le DB2 Query Manager et SQL
Development Kit for AS/400, ainsi que les produits du compilateur ILE C/400. Une
instruction Create Procedure incluant du code SPL commence par générer le code
source d’un programme C avec du SQL imbriqué, puis précompile et compile ce
source en un objet programme OS/400. Il faut garder cela présent à l’esprit
avant de déboguer une procédure cataloguée SPL ; on peut bien sûr
utiliser le débogueur de sources de l’AS/400, mais on constatera que la
logique du code C générée est plutôt difficile à suivre. C’est pourquoi
il faut utiliser les techniques illustrées dans cet exemple pour tester la
valeur de SQLState après Select, Update, Insert, Delete, ou d’autres
instructions complexes et réduire le besoin d’utilisation du débogueur. Pour
ceux qui veulent davantage de protection, j’explique dans l’encadré “ Protection
des instructions SPL ” comment étendre ces techniques pour couvrir
toutes les instructions présentes dans une procédure SQL.
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
- Cybersécurité Active Directory et les attaques de nouvelle génération
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Afficher les icônes cachées dans la barre de notification
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- IBM i célèbre ses 25 ans
Les plus consultés sur iTPro.fr
- L’incident OpenAI–Hugging Face n’est pas la révolution que vous imaginez
- Pourquoi les PME ne peuvent plus se permettre de négliger la sécurité de leur parc d’imprimantes
- Ransomware : les identités compromises à l’origine de 79% des attaques
- Deepfakes : la France dans le top 10 des pays les plus touchés par les fraudes
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
