Mon insatisfaction face à cet aspect de la programmation SPL m’a conduit à rechercher des moyens de réutilisation du code. En tant que consultant d’un projet SPL, j’ai aidé un client confronté aux mêmes problèmes à créer un générateur de code polyvalent. A dire vrai, cette solution était peu coûteuse et couvrait les modes de réutilisation de code que le client rencontrait le plus fréquemment. Mais un générateur de code personnalisé ne constitue pas une solution généralisée et il faut un travail supplémentaire pour écrire et maintenir le générateur de code et le code d’application. J’ai donc récemment réexaminé le problème et trouvé un puissant outil standard qui répond à la plupart de mes besoins de réutilisation de code SPL.
L’outil en question est le macro préprocesseur Unix appelé m4. D’abord destiné à Unix, cet utilitaire existe maintenant pour Windows également (voir l’encadré : Pour en savoir plus, pour plus d’informations sur m4). J’utilise m4 conjointement à WDSc sur mon système Windows XP pour produire le code SPL que je peux ensuite exécuter et déboguer avec iSeries Navigator.
Un préprocesseur lit un ou plusieurs fichiers de code source en entrée et produit un ou plusieurs fichiers source en sortie. Généralement, certains des fichiers de sortie sont ensuite compilés. Pour le développement SPL, vous pouvez utiliser m4 pour produire un fichier de sortie avec une instruction SQL Create Procedure, Create Function, ou Create Trigger. L’instruction respective contient le code de mise en oeuvre SPL pour le SP, l’UDF, ou le déclencheur.
Un macro préprocesseur a quatre fonctions principales :
• Une facilité include qui vous permet d’incorporer des morceaux de code source (et définitions de macros) à partir d’un ou plusieurs fichiers, en plus dans le fichier d’entrée principal
• des définitions d’expansions de macros paramétrées
• le traitement conditionnel
• des opérations élémentaires d’arithmétique, de logique et de chaîne, pour manipuler du texte.
Je décris ici brièvement comment m4 utilise chacune de ces fonctions, et je jette un coup d’oeil rapide à un exemple SPL.
Comment déployer une démarche DevOps efficace, sécuriser ses processus de développement et maîtriser les coûts de ses infrastructures ? Les 9 et 10 décembre 2026, DEVOPS REX réunit les professionnels…
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…